Впервые задаю вопрос здесь, но определенно выиграл от просмотра всех удивительных ответов на другие вопросы.
Итак, проблема в том, что я пытаюсь оптимизировать функцию через MLE в R (или Python тоже работает), а часть функции представляет собой интеграл, содержащий параметры, которые я оцениваю. Функция выглядит следующим образом:
Функция логарифмического правдоподобия
, где F (w) - CDF логарифмического нормального распределения с неизвестным средним значением и сигма кПо оценкам, лямбда и эта тоже. Все остальные параметры известны, включая w *. Я попытался оценить эту функцию, используя команду mle в R. Но она не смогла пройти из-за составной части. Может ли кто-нибудь помочь мне в этом? Мои коды ниже. Большое спасибо!
Определения f (w) и F (w)
Мои коды, которые не работали:
func <- function(mu, sigma_w){
F_w = (-.5*(((log(w_star)-mu)/sigma_w))^2)
}
ll <- function(lambda,sigma_w,eta,mu) {
R <- N*log(lambda) + N_u*log(1/sqrt(2*pi)*exp(integrate(func,lower = -Inf, upper = w_star, rel.tol=1e-5)$value)) - lambda*1/sqrt(2*pi)*exp(integrate(func,lower = -Inf, upper = w_star, rel.tol=1e-5)$value)*sum(T_ui) + N_u*log(eta) + sum(log(1/(sigma_w*w_i)*1/sqrt(2*pi)*exp(-.5*((log(w_i-mu)/sigma_w)^2)))) - N*log(eta+lambda*1/sqrt(2*pi)*exp(integrate(integrate(func,lower = -Inf, upper = w_star, rel.tol=1e-5)$value)))
return(R)
}
fit <-mle(ll,start = list(lambda =0, sigma_w = 0, eta =0, mu = 0))
Сообщение об ошибке:
Error in f(x, ...) : argument "sigma_w" is missing, with no default