0

我正在尝试在 R 中拟合 Cox 部分似然的内核化版本。我有一个函数

compute_kernelized_nLL(param_vect, kernel_matrix,response,lambda=0)

当我optim按如下方式调用时:

ker.train<-construct_euclidean_kernel(as.matrix(data))
(res <-optim(par=rep(0,ncol(ker.train)),fn = compute_kernelized_nLL,
      kernel_matrix=ker.train,
      response=uncensored_survival,
      lambda=3,
      method="Nelder-Mead"))

我注意到这样做的结果通常会收敛到传递的初始参数值。为了检查这一点,我在开头打印了参数向量,compute_kernelized_nLL并且参数确实没有改变 - 我只是一遍又一遍地得到一个零向量,直到所有参数开始以锁定步骤移动。无论我尝试哪种优化方法,都会发生这种情况。

我知道需要一个最小的可重现示例,但在尝试复制行为后我找不到。我很高兴编辑更多代码,但我不想让一堵巨大的文字墙掩盖问题。

4

0 回答 0