Statalist The Stata Listserver

[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

Re: st: Setting initial values in ML estimation

From (Jeff Pitblado, StataCorp LP)
Subject   Re: st: Setting initial values in ML estimation
Date   Mon, 17 Jul 2006 16:55:14 -0500

DEEPANKAR BASU <> is using -ml init- to set initial values for
-ml-, but is concerned that -ml max, trace- shows that some of the parameter
values are different at iteration 0.

Here is a portion of the log sent by DEEPANKAR:

> . #delimit cr
> delimiter now cr
> . ml init /four=1.0  
> . ml init /five=0.32  
> . ml init /seven=0.85 
> . ml init /eight=1.42  
> . ml init /ten=0.38 
> . ml init /eleven=0.59 
> . ml init /twelve=0.86 
> . ml max, trace
> initial:       log likelihood = -72821.591
> rescaling entire vector +.
> rescale:       log likelihood =  -72819.04
> rescaling equations .......+.+++++++++++++++++++++++...++++++++++++++++++++++++++.
> sign reverse ++++++++++++++++++++++++++.....++++++++++++++++++++++++.++++++++++++++++++++++..+...
> rescaling equations .....................+++++++++++++++++++.....
> rescale eq:    log likelihood = -72784.475

Notice that -ml- is reporting that it rescaled the coefficient vector, and
then rescaled it again within each equation.  This is where -ml- changed some
of DEEPANKAR's initial values.  In this case, -ml max- is calling -ml search-,
which is doing the rescaling.  The effect of rescaling will result in a
likelihood value that is greater or equal to the original one using the
original initial values.

DEEPANKAR can use the -search(norescale)- option of -ml max- to turn rescaling


DEEPANKAR also mentioned that -ml- was having a difficult time trying to
produce feasible starting values using the data and likelihood evaluator
DEEPANKAR is working with.

Keep in mind that log(0) == . and 1/0 == ., and -ml- may have a difficult time
when the default starting values (or ones provided by users) result in a
missing value for the log-likelihood.

Transformations that remap the entire real line to the set of feasible values
of a parameter {such as (0,1), (-1,1), or positive values} will enable -ml- to
find feasible starting values.

Thus you might want to change your likelihood evaluator to assume one or more
of your constant-only equations are coming from a transformed metric that
allows the entire real line {such as logit(), atanh(), or ln()}, then your
likelihood evaluator can use the inverse transformation {such as invlogit(),
tanh(), or exp(), respectively} to transform them back to the original metric
to compute the log-likelihood value.

*   For searches and help try:

© Copyright 1996–2021 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index