在优化中使用 N-BFGS-B 的问题

计算科学 优化 r
2021-12-15 01:21:14

我是R. 我正在尝试使用有界参数最大化对数似然函数。该函数是一种伽马混合模型,它试图捕捉个体之间未观察到的异质性。我选择了optim's L-BFGS-B函数包含两个参数(即alphar),它们应该具有正值。但是,优化不会发生并返回初始参数并显示以下消息。

#Sample data
data<-matrix(c(1,36,547,2,54,464,3,92,415,4,114,1106,5,10,1038),ncol=3,byrow=TRUE)
colnames(data)<-c("ID","freq","time")

minr,αrlogα+j=0ni1log(r+j)(ni+r)log(tis+tic+α)such thatr>0(shape parameter)α>0(scale parameter)

在下面的代码中,我使用以下功能术语。

ni = data[i,2] ## ni是个体i的频率

tis + tic = data[i,3] ## tis+tic 是个体 i 的总时间

#Likelihood function I want to optimize
ll <- function(theta){
alpha<-theta[1]  #scale parameter >0
r<-theta[2] #shape parameter >0

ll_i=c()
s=c()

for(i in 1:5){

for(j in 0:data[i,2]-1){
s[j+1]<-log(r+j+1)
}

ll_i[i]<-r*log(alpha)+sum(s)-(data[i,2]+r)*log(alpha+data[i,3])
s=c()
}

print(ll_i)
ll<-sum(ll_i)
return(-ll)
}

# Initial parameters
init<-c(alpha=1,r=5)
# L-BFGS-B optimization
ans<-optim(par=init,fn=ll,method="L-BFGS-B",lower=c(1e-10,1e-10),upper=c(Inf,Inf))

$message
[1] "CONVERGENCE: NORM OF PROJECTED GRADIENT <= PGTOL"

任何关于成功优化的提示?

0个回答
没有发现任何回复~