Я оцениваю с помощью mle2, и я получаю 0 стандартных ошибок для всех моих параметров (также, когда подходит плохо). Кто-нибудь может сказать мне, почему? Есть ли более умный способ оценки с максимальной вероятностью?
# Define Log likelihood function for product i.
LL<-function(product, gamma0, beta_0, beta_1, beta_2, beta_3, beta_4, beta_5, beta_6, beta_7, beta_8, beta_9,beta0, beta1, beta2, beta3, beta4, beta5, beta6, beta7, beta8, beta9, var1) {
y <- data_$Patients_ln[data_$Brand==product]
R <- myfunc(product, gamma0, beta_0, beta_1, beta_2, beta_3, beta_4, beta_5, beta_6, beta_7, beta_8, beta_9,beta0, beta1,beta2, beta3, beta4, beta5, beta6, beta7,beta8, beta9)
R <- - sum(dnorm(y,mean=R, sd=exp(var1), log=TRUE))
return(R)
}
# Sum all the log likelihood function ( sum over all products)
sumLL <- function(gamma0, beta_0, beta_1, beta_2, beta_3, beta_4, beta_5, beta_6, beta_7, beta_8, beta_9
, beta0, beta1, beta2,beta3, beta4, beta5, beta6, beta7, beta8, beta9, var1) {
products <- unique(data_$Brand)
sum_ <- 0
for(i in 1:length(products)){
sum_ <- sum_ + LL(products[i], gamma0, beta_0, beta_1, beta_2, beta_3, beta_4, beta_5, beta_6, beta_7, beta_8, beta_9, beta0, beta1, beta2,beta3, beta4, beta5, beta6, beta7, beta8, beta9, var1)
}
return(sum_)
}
fit<- mle2(sumLL, start=list(gamma0=values[1], beta_0=values[2],beta_1=values[3],beta_2=values[4],beta_3=values[5],beta_4=values[6],beta_5=values[7],beta_6=values[8],beta_7=values[9],beta_8=values[10],beta_9=values[11], beta0=values[12], beta1=values[13], beta2=values[14],beta3=values[15], beta4=values[16], beta5=values[17],beta6=values[18],beta7=values[19], beta8=values[20], beta9=values[21], var1=values[22]), control=list(maxit=3000))
Это мой вывод:
![code output](https://i.stack.imgur.com/nI6Zk.png)