[R] optimx: Cannot evaluate function at initial parameters
Olufemi Bolarinwa
dafemlions at yahoo.co.uk
Tue Apr 28 22:51:14 CEST 2015
Hello,I am estimating a system of nonlinear GMM. the following are my objective function, the gradient function and the optimx code for the optimization. I actually worked out the gradient and hessian by hand before inputing the code into r. However, I did get the following error message in my optimx routine
objective functionobj = function(initial.values,z) { e1 = y1-(a1*x1 + a2*x2 +a3*x3 + a4*x4 + a5*x5 + a22*(exp(a6*x6 + a7*x7 + a8*x9 + a9*x10 + a10*x11 + a11*x12 + a14*x16)/(1+exp(a6*x6 + a7*x7 + a8*x9 + a9*x10 + a10*x11 + a11*x12 + a14*x16)))) e2 = y2-(b1*x1 + b2*x2 +b3*x3 + b4*x4 + b5*x5 + b22*(exp(b6*x6 + b7*x7 + b8*x9 + b9*x10 + b10*x11 + b11*x12 + b14*x16)/(1+exp(b6*x6 + b7*x7 + b8*x9 + b9*x10 + b10*x11 + b11*x12 + b14*x16)))) e3 = y3-(exp(c1*x1 + c2*x18 + c3*x19 + c4*x20 + c5*x21 + c6*x14 + c7*x8)/(1 + exp(c1*x1 + c2*x18 + c3*x19 + c4*x20 + c5*x21 + c6*x14 + c7*x8))) e = rbind(e1,e2,e3) q = t(e)%x%z%x%w%x%t(z)%x%e return(q)}
gradientgradient = function(initial.values,z) { df = 2*(t(d)%x%z%x%w%x%t(z)%x%e) return(df)}
hessian = function(initial.values,z) { h = 2*(t(d)%x%z%x%w%x%t(z)%x%d) return(h)}
nlgmm = optimx(par=initial.values, dat= dta, fn=obj, gr=gradient,hess=hessian, method = c("BFGS","nlmind","nlm"), itnmax=c(500,500,500), control=list(maximize=TRUE))Maximizing -- use negfn and neggrError in optimx.check(par, optcfg$ufn, optcfg$ugr, optcfg$uhess, lower, : Cannot evaluate function at initial parameters
A way forward will be greatly appreciated.
ThanksOlufemi
[[alternative HTML version deleted]]
More information about the R-help
mailing list