[R] intelligent optimizer (with domain restrictions?)

Ravi Varadhan rvaradhan at jhmi.edu
Wed Mar 25 23:27:10 CET 2009


Without knowing much about the problem, it is difficult to provide good advice.  Having said that, it seems like you are trying to solve a system of nonlinear equations by matching theoretical moments to their empirical counterparts.   You can do this by using a nonlinear equations solver such as dfsane() in the the package "BB" or nleqslv() in "nleqslv". 

It is not clear to me how you end up with a scalar objective function to minimize (do you consider the L2-norm of the residuals?).



Ravi Varadhan, Ph.D.
Assistant Professor,
Division of Geriatric Medicine and Gerontology
School of Medicine
Johns Hopkins University

Ph. (410) 502-2619
email: rvaradhan at jhmi.edu

----- Original Message -----
From: ivowel at gmail.com
Date: Wednesday, March 25, 2009 6:16 pm
Subject: [R] intelligent optimizer (with domain restrictions?)
To: r-help <r-help at stat.math.ethz.ch>

> dear R experts---sorry, second question of the day. I want to match 
> some  
>  moments. I am writing my own code---I have exactly as many moment  
>  conditions as parameters, and I am leary of having to learn the magic 
> of  
>  GMM weighting matrices (if I was to introduce more). the process 
> sounds  
>  easy conceptually. (Seen it in seminars many times, so how hard could 
> it  
>  possibly be?...me thinks) first time I am trying this. some of my 
> moments  
>  are standard deviations. Easy, me thinks. Just maximize the  
>  exp(my.sigma.parameter) instead of the my.sigma.parameter. This way, 
> nlm()  
>  can throw negative values into my objective function, and I will be 
> good.  
>  this is about the time to start laughing, of course.
>  so, nlm() computes a gradient that is huge at my initial starting 
> value. it  
>  then decides that it wants to take a step into exp(20.59), at which 
> point  
>  everything in my function goes heywire and it wants to return NA. now 
> nlm()  
>  barfs...and I am seriously consider grid-searching. This does not 
> strike me  
>  as particular intelligent.
>  are there any intelligent optimizers that understand domains and/or  
>  will "backstep" gracefully when they encounter an NA? are there 
> better ways  
>  to deal with matching second moments?
>  advice appreciated.
>  regards,
>  /iaw
>  PS: you probably don't want to know this, but I have a dynamic panel 
> data  
>  set; and my goal is to test whether a constant auto-coefficient 
> across  
>  units can describe the data. that is, I want to find out whether 
> x(i,t)= a  
>  + b(i) + c*x(i,t-1) is better replaced by x(i,t)=a + b(i) + 
> c(i)*x(i,t-1).  
>  right now, I am running N OLS TS regression of x on lagged x, and am  
>  picking off the mean(c), sd(c), and mean(sigma_i) and sd(sigma_i). if 
> there  
>  is a procedure in R that already does a test for heterogeneous  
>  autocorrelation coefficients in a more intelligent fashion, please 
> please  
>  point me to it. however, even if this exists, I think I need to 
> figure out  
>  how to find a more graceful optimizer anyway.
>  	[[alternative HTML version deleted]]
>  ______________________________________________
>  R-help at r-project.org mailing list
>  PLEASE do read the posting guide 
>  and provide commented, minimal, self-contained, reproducible code.

More information about the R-help mailing list