【发布时间】:2025-12-18 07:00:02
【问题描述】:
第一次在这里提出问题,但绝对受益于浏览其他问题的所有惊人答案。
所以,问题是我正在尝试通过 R 中的 MLE 优化函数(或者 Python 也可以),并且函数的一部分是包含我正在估计的参数的积分。函数如下所示:
其中,F(w) 是对数正态分布的 CDF,其均值和 sigma 未知,lambda 和 eta 也是如此。所有其他参数都是已知的,包括 w*。我尝试使用 R 中的 mle 命令估计此函数。但由于不可分割的部分,它无法通过。谁可以帮我这个事?我的代码如下。非常感谢!
我的代码不起作用:
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
【问题讨论】:
标签: python r function optimization integral