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: ml bounds
From
Beatrice Crozza <[email protected]>
To
[email protected]
Subject
Re: st: ml bounds
Date
Thu, 4 Mar 2010 19:20:37 +0000
Dear all,
I tried to write my likelihood with the following restrictions for
some parameters:
m>0
e>0
1>=d>=0
1>=a>=0
following there is my code.
However, I received as error message: estimates not found, so this
means that I made a mistake in how I imposed the restrictions.
Could you please help me to understand what I am doing wrong and how
to solve the problem?
Thank you very much for your help
Bea
program define myprog
args lnf a d m e g p
tempvar ma md mm me mg mp am dm omm em
quietly gen double `am'=exp(`a')/(1+exp(`a'))
quietly gen double `dm'=exp(`d')/(1+exp(`d'))
quietly gen double `omm'=exp(`m')
quietly gen double `em'=exp(`e')
quietly gen double `ma'=1-`am'
quietly gen double `md'=1-`dm'
quietly gen double `mm'=1-`omm'
quietly gen double `me'=1-`em'
quietly gen double `mg'=1-`g'
quietly gen double `mp'=1-`p'
quietly replace
`lnf'=ln((`am')*(`dm')*((((`mm')+(`omm')*(`em')*(`g'))^x1)*(((`omm')+(`mm')*(`em')*(`p'))^x2)*(((`mm')*(`em')*(`me'))^x3)*(((`mmo')*(`em')*(`mg'))^x4)*(((`mm')*(`mp'))^x5)*(((`mmo')*(`eo'))^x6)))
end
ml model lf myprog (a:) (d:) (m:) (e:) (g:) (p:)
ml check
ml search
ml maximize, difficult
nlcom (a: exp([am]_b[_cons])/(1+exp([am]_b[_cons])))
nlcom (d: exp([dm]_b[_cons])/(1+exp([dm]_b[_cons])))
nlcom (e: exp([em]_b[_cons]))
nlcom (m: exp([omm]_b[_cons]))
2010/3/3 E. Paul Wileyto <[email protected]>:
> Please be aware that bounds only applies to search, and not to maximize.
> Search looks for plausible initial values, not for the final mle.
>
> One way to place bounds on parameters is to replace the parameter in your
> likelihood with a function that is bounded. For example, if you want to
> make sure that your parameter A does not fall below 0, then replace it with
> A=exp(b). ml will optimize parameter b, with bounds of minus to plus
> infinity, but the parameter of interest, A, remains above 0. You can then
> recover A and the standard error for A using nlcom.
>
> In a similar fashion, use a logistic function to create an upper and lower
> bound.
>
> Paul
>
> Beatrice Crozza wrote:
>>
>> Dear All,
>>
>> I am doing a maximum likelihood and I would like to specify some
>> bounds for my parameters.
>>
>> ml model lf myprog (a:) (d:) (m:) (e:) (g:) (p:)
>> ml search
>> ml maximize, difficult
>>
>> I read on the Stata manual that my bounds should be placed after ml
>> search:
>>
>> bounds(ml_search_bounds) specifies the search bounds. The command ml
>> model issues is ml search ml_search_bounds, repeat(#). Specifying
>> search bounds is optional.
>>
>> My bounds should be:
>> 0< e m, 0<=a d <=1
>>
>> How should I write this after ml search?
>>
>> Thank you very much for your help.
>>
>> Bea
>> *
>> * 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/
>>
>>
>
> --
> E. Paul Wileyto, Ph.D.
> Assistant Professor of Biostatistics
> Tobacco Use Research Center
> School of Medicine, U. of Pennsylvania
> 3535 Market Street, Suite 4100
> Philadelphia, PA 19104-3309
>
> 215-746-7147
> Fax: 215-746-7140
> [email protected]
> *
> * 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/
>
*
* 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/