悬赏 6 个论坛币 未解决
LL<-function(params,data)
+ {
+ theta<-params[1]
+ a<-params[2]
+ b<-params[3]
+ n<-10
+ ll<-log(1-theta+theta/sum(prod(a+b/x)))+n*log(1-theta+theta/sum(prod(a+b/x))-1+theta)+sum((n-x+1)*(a+b/x))
+ return(-ll)
+ }
> geyser.res<-nlminb(c(0.5,0.5,0.2),LL,rnbinom(n,2,0.5),lower=c(0,0,0),upper=c(1,1,1))
Error in gradient(.par, ...) : 没有"gradient"这个函数
此外: Warning message:
In nlminb(c(0.5, 0.5, 0.2), LL, rnbinom(n, 2, 0.5), lower = c(0, :
NA/NaN function evaluation
> geyser.res$par
[1] 0.758887894 -0.000199301 0.199500293
>
如何修改?
x服从负二项分布,r=2,p=0.5