[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]
Re: st: Defining variables for the ml procedure
I am perhaps misunderstanding your model.
Here is a code snippet you can paste into to Stata and run.
****************Begin do file********************
*** Estimate consumption=a+b*(c*income[_n-1]+invest)
*** The reduced form is consumption=a + d*l.income + b*investment
*** This is what we will estimate with Stata
regress consu l.income invest
*** From these estimates, we can recover parameter c.
*** Since d=b*c, we have c=d/b
*** In Stata speak this is _b[l.income]/_b[investment]
*************End do file
Does that accomplish your task?
Let me know.
On Mon, 2005-10-10 at 13:47 -0400, firstname.lastname@example.org wrote:
> Hi Ed,
> Thank you for your reply. Your Option 2 sounds very promising and I
> would be very grateful for any hints and advice you might have on how
> to use it.
> (As I understand it, I cannot use Option 1 because the variable Z is
> unobserved. Since it depends on the unknown coefficient c, the
> variable Z must somehow be generated as a part of (that is,
> simultaneously as) the estimation of the regression equation
> y = a + b*(c*Z[_n-1] + x))
> Please let me know if this is not clear, and thanks for your help!
> Best Regards
> Quoting Ed Blackburne <email@example.com>:
> > Bjorn,
> > My understanding is that you want to estimate an equation of the form
> > (it doesn't much matter whether it is Z or Z[_N-1] for this post):
> > y=a+b(cZ+x)
> > Is this correct?
> > If so, I see two options.
> > Option 1: Estimate y=a+dZ+bx and use nlcom to recover c:
> > nlcom _b[Z]/_b[x]
> > Option 2: You can estimate via conditional likelihood (aka profile
> > likelihoods) using the undocumented hold option of ml.
> > If you would like a pointer at Option 2 let me know.
> > -Ed
> > On Sun, 2005-10-09 at 12:59 -0400, firstname.lastname@example.org wrote:
> >> Dear Statalist,
> >> I am trying to estimate a nonlinear regression equation using the ml
> >> routine, and I am having problems defining one of my input variables.
> >> Specifically, I would like to use the recursively defined variable
> >> Z(it):
> >> Z(it) = c*Z(it-1) + X(it)
> >> as an independent variable in my regression equation. If the
> >> coefficient "c" is known, this variable can be generated as follows:
> >> gen Z = X
> >> bysort group (time): replace Z = c * Z[_n-1] + X if _n >= 2
> >> My problem is that I would like to estimate the coefficient "c" (along
> >> with the other regression coefficients) and therefore I need to define
> >> the variable Z(it) "within" the program itself.
> >> It seems, however, as if the "by" command and the "if" command are not
> >> allowed when specifying variables in the ml programs. I would be most
> >> grateful if anyone would have any ideas on how to do this.
> >> Thank you for your help.
> >> Best
> >> Bjorn
> >> *
> >> * For searches and help try:
> >> * http://www.stata.com/support/faqs/res/findit.html
> >> * http://www.stata.com/support/statalist/faq
> >> * http://www.ats.ucla.edu/stat/stata/
> > *
> > * For searches and help try:
> > * http://www.stata.com/support/faqs/res/findit.html
> > * http://www.stata.com/support/statalist/faq
> > * http://www.ats.ucla.edu/stat/stata/
> * For searches and help try:
> * http://www.stata.com/support/faqs/res/findit.html
> * http://www.stata.com/support/statalist/faq
> * http://www.ats.ucla.edu/stat/stata/
* For searches and help try: