我试图获得用于生存分析的 Gumbel 分布的对数似然的最大似然估计量(我这样说是为了让你不会被对数似然函数迷惑,我认为它是正确的)。为了做到这一点,我必须通过使用 optim 函数来最大化负对数似然,我试图这样做,但控制台在 fn(par, ...) 中给了我一个错误:缺少参数“b”,没有默认值。
我也尝试以与此链接的答案类似的方式执行此操作:在约束条件下使用两个参数求解最大似然性,但控制台游戏我如下: optim(c(1, 1), function(x) 中的错误) log_lhood(x[1], x[2], d = lung$status, : 优化中的目标函数计算为长度 0 而不是 1。
log_lhood <- function(m,b,d,t){
sum<-0
for (i in 1:length(lung)){
if (d[i] == 1){
sum<- sum - log(1-exp(-exp(-(t[i]-m)/b)))
} else {
sum<- sum - log((1/b)*exp(-(t[i]-m/b+exp(-(t[i]-m/b)))))
}
}
}
#a,b parameter optimization
optim(c(0,0), fn = log_lhood, d = lung$status, t = KM_fit$time) #1st way
optim(c(1, 1), function(x) log_lhood(x[1], x[2],d=lung$status,t=KM_fit_test$time)) #2nd way as in the link