Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: st: Set constraint for a ml equation
From
Maarten buis <[email protected]>
To
[email protected]
Subject
Re: st: Set constraint for a ml equation
Date
Tue, 4 May 2010 07:00:03 +0000 (GMT)
--- On Mon, 3/5/10, Yuyan Shi wrote:
> I am estimating "mu", "sigma" and "delta" in a ml function
> like this:
>
> Log likelihood = log(normalden(N/delta)),
> Where N = pi-1+normal((ti-mu)/sigma). pi and ti are
> dependent variables.
>
> The Stata program I wrote is:
>
> ******************************************************
> program define myml
> args lnf lgmu lgsigma lgdelta
> tempvar P R N M S
>
> quietly gen double `P' = ///
> normal(($ML_y1-exp(`lgmu'))/exp(`lgsigma'))
<snip>
This line looks odd to me: you are constraining mu to be
positive, while the normal distribution is defined for
positive and negative numbers
> However, the convergence cannot be achieved. I know I
> should put some constraints onto lgdelta for
> identification. I've tried several in equation
> "lgdelta", such as noconstant, xvar=some arbitrary number,
> but still did not work.
>
> I have two separate question:
> - What kind of constraint should I put in equation
> "lgdelta"?
Depends on your research question, your theory, your
knowledge about the context, your knowledge about existing
practice in your particular discipline, your knowledge
about the data. In short, this is a substantive question
that can only be answered by the researcher.
> - If I know delta is between 1 and 2, how should I
> write this extra constraint? Is "invlogit" the
> appropriate function?
Yes you can use the -invlogit- function to transform a
number that ranges from -large to +large to a number that
ranges from 0 to 1 (exclusive), you can than use
multiplication to change the range and addition to shift
it up or down.
I can't say I understand the logic behind your model, but
if identification is the problem then a range constraint
is usually not enough to identify the model and you'll most
likely have to contrain delta to a fixed number rather than
estimate. To do so, you can use the -constraint- program
and option, see -help constraint-.
Hope this helps,
Maarten
--------------------------
Maarten L. Buis
Institut fuer Soziologie
Universitaet Tuebingen
Wilhelmstrasse 36
72074 Tuebingen
Germany
http://www.maartenbuis.nl
--------------------------
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/