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


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

Re: st: ml bounds


From   Stas Kolenikov <skolenik@gmail.com>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: ml bounds
Date   Thu, 4 Mar 2010 16:52:04 -0600

so which part of the code returns the error message? What does -ml check-
say? You might also want to have -ml trace on- to see what's going on in
your evaluator.

On Thu, Mar 4, 2010 at 1:20 PM, Beatrice Crozza
<beatrice.crozza@gmail.com>wrote:

> 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 <epw@mail.med.upenn.edu>:
> > 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
> > epw@mail.med.upenn.edu
> > *
> > *   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/
>



-- 
Stas Kolenikov, also found at http://stas.kolenikov.name
Small print: I use this email account for mailing lists only.

*
*   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/


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