[R] maxLik pakage
spencerg
spencer.graves at prodsyse.com
Sat May 16 17:56:29 CEST 2009
1. Have you worked through the examples in the maxLik help page? Your
example is sufficiently complicated that I hesitate to try it myself,
especially since I see characters in your email that are not simple
ASCII. If you can get the examples in the maxLik help page to work,
identify the differences between your example and those on the help
page, then generate intermediate examples to test your understanding
until you either solve your problem or you find a simpler example that
you don't understand and then post that to this list.
2. Have you checked your gradient with the "compareDerivatives" function
in the maxLik package? If your gradient function is not correct, this
should help you understand and hopefully fix the problem.
Hope this helps.
Spencer
amene kheradmandi wrote:
> Hi all;
> I recently have been used 'maxLik' function for maximizing G2StNV178 function with gradient function gradlik; for receiving this goal, I write the following program; but I have been seen an error in calling gradient function;
> The maxLik function can't enter gradlik function (definition of gradient function); I guess my mistake is in line ******** ,that the vector  ‘h’ is defined.
> Â
> I need your advices for resolve the error;
> Sincerely yours
> A. Kheradmandi
> ##########data vector
> x=c(0,0,14,7,0,22,2,18,10,29,
> 16,11,59,6,33,5,1,0,28,17,
> 28,19,10,43,9,17,42,2,22,6,
> 14,0,59,9,11,5,11,37,15,26,
> 57,8,16,22,5,13,19,12,34,8,28,35,13,11,59,
> 8,7,20,36,39,14,31,18,32,30,
> 29,9,2,5,3,19,27,76,4,32,
> 24,13,3,13,24,41,20,0,13,26,
> 0,23,19,10,14,14,13,15,18,29,
> 29,0,20,0,22,13,17,12,29,0,
> 0,16,55,11,19,9,2,9,32,16,
> 55,10,59,8,65,39,1,8,2,7,
> 37,8,0,5,8,0,7,0,20,10,
> 11,3,0,7,31,14,18,3,4,34,
> 32,4,9,9,8,36,44,0,9,27,28,55,72,12,1,
> 9,0,32,0,0,2,15,5,6,17,
> 63,61,9,15,15,0,2)
> #########goal is found unique maximum for 5-parameter function with using "maxLik" function
> #####the function in latex commands is as following:
> Â \begin{eqnarray*}
> &&\ell(\xi,\omega,\nu,\lambda_1,\lambda_2)=n\log2-n\log\omega+n\log\Gamma(\frac{\nu+1}{2})-\frac{n}{2}\log(\nu\pi)\\
> &-&n\log\Gamma(\frac{\nu}{2})-\frac{\nu+1}{2}\sum_{i=1}^{n}\log(1+\frac{(x_i-\xi)^2}{\omega^2\nu})+\sum_{i=1}^{n}\log\Phi(\lambda_1\frac{(x_i-\xi)}{\sqrt{\omega^2+\lambda_2(x_i-\xi)^2}})
> \end{eqnarray*}
> ##############
> G2StNV178<-function(a){
> require(maxLik)
> II=0
> nu<-(a[1])
> lambda1<-a[2]
> lambda2<-a[3]
> ksi<-a[4]
> omega<-a[5]
> II<-log(prod((2*dt((x-ksi)/omega,nu)*pnorm((lambda1*(x-ksi)/omega)/sqrt(1+lambda2*((x-ksi)/omega)^2)))/omega))
> II
> }
> ########definition of gradient function
> gradlik<- function(a){
> nu<-a[1]
> lambda1<-a[2]
> lambda2<-a[3]
> ksi<-a[4]
> omega<-a[5]Â
> #*******#
> h<-c(f1=n*digamma((nu+1)/2)-n/(2*nu)-n*digamma(nu/2)-1/2*sum(log(1+(x-ksi)^2/(omega^2nu)))+(nu+1)/2*sum((x-ksi)^2/(omege^2*nu^2+nu*(x-ksi)^2)),
> f2=sum((x-ksi)*dnorm(lambda1*(x-ksi)/sqrt(omega^2+lambda2*(x-ksi)^2))/(sqrt(omega^2+lambda2*(x-ksi)^2)*pnorm(lambda1*(x-ksi)/sqrt(omega^2+lambda2*(x-ksi))))),
> f3=sum((lambda1*(x-ksi)^3*dnorm(lambda1*(x-ksi)/sqrt(omega^2+lambda2*(x-ksi)^2)))/( 2*omega^3*pnorm(lambda1*(x-ksi)/sqrt(omega^2+lambda2*(x-ksi)^2))
> *sqrt((1+lambda2*(x-ksi)^2/omega^2 )^3))),
> f4=(nu+1)*sum((x-ksi)/(omega^2*nu+(x-ksi)^2))-sum((lambda1*dnorm((lambda1*(x-ksi))/(omega^2+lambda2*(x-ksi)^2)))/(omega*sqrt(1+lambda2*(x-ksi)^2/(omega^2))
> *pnorm(lambda1*(x-ksi)/(sqrt(omega^2+lambda2*(x-ksi)^2))))),
> f5=-n/omega+(nu+1)*n*sum((x-ksi)^2/(nu*omega^3+omega*(x-ksi)^2))-sum((lambda1*(x-ksi)*omega*dnorm(lambda1*(x-ksi)/(sqrt(omega^2+lambda2*(x-ksi)^2))
> /(pnorm(lambda1*(x-ksi)/(sqrt(omega^2+lambda2*(x-ksi)^2))*sqrt((omega^2+lambda2*(x-ksi)^2)^3)))))))
> }
> n<- length(x) # the final command is :
> res<- maxLik(G2StNV178,grad=gradlik,start=c(4.666484 ,4603.399055 , 4603.399055Â Â ,-0.016674 ,19.055865),tol=1e-16,iterlim =3000)
> summary(res)
>
>
>
> [[alternative HTML version deleted]]
>
>
> ------------------------------------------------------------------------
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
More information about the R-help
mailing list