我尝试使用R中的nlm函数来最小化-2可能性。我的似然函数的一个组件是使用adaptItegrate计算的双积分。使用一些预先指定的起始值,我得到的似然值非常快(不到1分钟)。但是,当我使用nlm函数进行优化时,我花了很长时间(差不多1小时)进行第一次迭代,最终我得到了关于"内存重新分配"的错误消息。谁知道为什么会发生这种情况?我该如何解决这个问题。 这是我的双重积分函数:
doubleint= function(y){
h<- function(x){
sig1*sig2*exp(-sig1*(y-x[1]))*exp(-sig2*(y-x[2]))*
laplace(alpha1/beta1*(exp(beta1*y)-exp(beta1*x[1]))+alpha2/beta2*(exp(beta2*y)-exp(beta2*x[2])))
}
sol=adaptIntegrate(h,lowerLimit=c(0,0),upperLimit=c(y,y),fDim = 1,doChecking=FALSE,tol=1e-5)$integral
return(sol)
}