使用nlminb R函数最小化时出错

时间:2012-10-31 15:51:58

标签: r

我想估计最小化对数似然函数LogL(\ theta)的4参数。前两个参数(a和sigma)是正的;第三个是不受约束的,最后一个应该是leas而不是数据中的最小值。所以,我尝试使用nlminb函数并将其写为:

nlminb(start=c(a=0.13,mu=1,sigma=31,xi=0.01),f,lower=c(0.0001,0,0.123,0.01210),
upper=c(2,18.21,50,0.95),control=list(eval.max=100, iter.max=100))

我得到了一个很好的结果,但仍然存在mu的估计值与我尝试使用的所有值的上限相同的问题,对于xi,即使我改变了它,它也会采用相同的较低值。起始值。

对数似然函数采用以下形式:

-loglik=-n*log(a)+n*log(1-exp(-1))+n*log(sigma) -(a-1)*sum(log(x-mu))+(1/xi+1)*sum(log(1+xi*((x-mu)**a)/sigma))+ sum((1+xi*((x-mu)**a)/sigma)*(-1/xi))

我还有另一个条件:x-mu应该是正面的,1+xi*((x-mu)*a)/sigma也是

任何建议都将受到赞赏

0 个答案:

没有答案