Bookmark and Share

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, is already up and running.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: Set constraint for a ml equation

From   Maarten buis <>
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'))

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 L. Buis
Institut fuer Soziologie
Universitaet Tuebingen
Wilhelmstrasse 36
72074 Tuebingen


*   For searches and help try:

© Copyright 1996–2016 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index