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]]

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.

Reply via email to