n<-10
LL<-function(params,data)
{
a<-params[1]
b<-params[2]
theta<-params[3]
ll<-log(1-theta+theta/sum(prod(a+b/i)))-n*log(sum(prod(a+b/i)))+n*log(theta)+sum((n-i+1)*(a+b/i))
return(-ll)
}
y<-array(n)
y[0]=1-0.2+0.2*0.3061175
y[1]=0.3061175*(a+b)*0.2
j=2
while(j<n+1){
y[j]<-y[j-1]*(a+b/j)
j=j+1
}
geyser.res<-nlminb(c(0.5,0.5,0.2),LL,data=y,lower=c(-2,-2,0),upper=c(2,2,1))
geyser.res$par
待估计的三个参数的真值分别是0.5,0.5,0.2 不知道为什么倒数第二行命令会报错,而且估计值明显与真值不符。
请各位不吝赐教。


雷达卡




京公网安备 11010802022788号







