I am using nlm to maximize a likelihood function. When I call the likelihood function (garchLLH) via nlm however, nlm returns the wrong value of the function.
When I test the likelihood function manually I get the correct answer. I'm probably doing something really stupid, maybe someone can point it out for me. ###############this is the function i am trying to minimize ############ garchLLH <- function(y,xdata, parm) { len<-length(parm) yhat<-as.vector(t(parm[1:(len-3)]%*%t(xdata))) ###compute likelihood omega<-parm[len-2]; alpha<-parm[len-1]; beta<-parm[len] z<-(y-yhat)^2; Mean=mean(z); #### z is the squared error h<-vector(length=length(y) ) logLL<-vector(length=length(y) ) h[1] <- omega + alpha*Mean + beta*Mean; logLL[1]<- 0.5 * ( log (2*pi) + log (h[1] ) + z[1] / h[1] ) #negative of the LL for (i in (2:length(y)) ) { h[i] <- omega + alpha*z[i-1] + beta*h[i-1] #logLL[i]<- -0.5 * ( log (2*pi) + log (h[i] ) + z[i] / h[i] ) logLL[i]<- -0.5 * ( log (h[i] ) + z[i] / h[i] ) } llh=-sum(logLL); llh } ##########ok if i call this function with my initial parameters, i get the right likelihood value #### > parm [1] -0.01642679 0.17234848 0.22053851 0.00000000 > garchLLH(y, xdata, parm) [1] -596.1819 #### now when i call nlm and look at the first iteration, it is telling me that the value of the function is 0.7370451 ######## > fit=nlm(f=garchLLH, y,xdata, p=parm, print.level=2) iteration = 0 Step: [1] 0 0 0 0 Parameter: [1] -0.01642679 0.17234848 0.22053851 0.00000000 Function Value [1] 0.7370451 <------------- what's up with that???? it should be -596.1819 Gradient: [1] -0.03006041 0.14911503 0.10740682 -0.04930265 ######################################## [[elided Hotmail spam]] Thanks, Scotty -- View this message in context: http://www.nabble.com/nlm-return-wrong-function-value---garch-fitting-tp19980876p19980876.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help@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.