Я пытаюсь получить оценки максимального правдоподобия логарифмического правдоподобия распределения Гамбеля для анализа выживания (я говорю это, чтобы вас не смущала функция логарифмического правдоподобия, я думаю, что это правильно). Чтобы сделать это, я должен максимизировать минус-логарифмическую вероятность с помощью функции optim, я пытался это сделать, но консоль выдает ошибку в fn(par,...): аргумент "b" отсутствует, без дефолта.
Я также попытался сделать это так же, как в ответе на эту ссылку: Решить для максимального правдоподобия с двумя параметрами при ограничениях, но консоль выдает следующее: Ошибка в optim(c(1, 1), function(x) log_lhood(x[1], x[ 2], d = состояние легких $, : целевая функция в оптимуме оценивается как длина 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
lung
из пакета? - person Evan Friedland   schedule 06.05.2019