Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down on April 23, and its replacement, statalist.org is already up and running.

# st: ML program in Stata 12.1 for a nonlinear equation of the form Y=F(x)*G(z)

 From Antony Chapoto To statalist@hsphsun2.harvard.edu Subject st: ML program in Stata 12.1 for a nonlinear equation of the form Y=F(x)*G(z) Date Sat, 6 Apr 2013 20:35:24 +0000

```I would like your assistance to write an ML program in Stata 12.1 for
the following nonlinear model:

Y=F(x)*G(z)

where F(x)=a1X1 +a2X2 +a3X3 +a4X4  and G(z) =exp[-(b0+b1Z1+b2Z2 +b3Z3
+b4Z4 +b5Z5)^2] where a1 – a4,  b0, b1-b5 are parameters to be
estimated  and X, Z are explanatory variables

Essentially, I would like the effect of x on Y to be adjusted by
G(z).  What is the correct  ML program assuming that we have normally
distributed errors.  The expanded model is as follows:

Y=(a1X1 +a2X2 +a3X3 +a4X4)*exp[-(b0+b1Z1+b2Z2 +b3Z3 +b4Z4 +b5Z5)^2] +e

I attempted to write a program following an example at
http://www.stata.com/support/faqs/statistics/nonlinear-models-using-ml/
but failed to come up with the t " ml model " for the program to
run.  Your assistance is greatly appreciated.

capture program drop myprog

program myprog

version 12.1

args lnf b1x a1x sigma

tempvar res

qui gen double `res' = \$ML_y1 – (`b1x')*exp(-(`a1x')^2))

qui replace `lnf' = -0.5*ln(2*_pi)-ln(`sigma')-0.5*`res'^2/`sigma'^2

Best regards,

Antony

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/
```