Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at

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

st: MLE for Tobit I

From   "Alba J. Collart-Dinarte" <>
To   "" <>
Subject   st: MLE for Tobit I
Date   Mon, 24 Oct 2011 16:27:18 +0000

Dear Stata listers,

I have a question about programming the likelihood function for Tobit models (type I, censored at zero) in STATA 10.1. This is the code I've written:

program mytobit1
version 10.1
args lnf beta sigma 
quietly replace `lnf'= log(1-normal(`beta'/`sigma')) if $ML_y1==0
quietly replace `lnf'= log((1/`sigma')*normalden(($ML_y1-`beta')/`sigma')) if $ML_y1>0

ml model lf mytobit1 (y1 = x) /sigma
ml check
ml maximize, nolog

but it does not run. I believe that there is a problem in the way I define the likelihood function. I have looked into Gould, Pitblado and Poi (2010), but they mainly discuss probit, normal and weibull models.

I have also tried: 
quietly replace `lnf'= cond($ML_y1==0,log(1-normal(`beta',`sigma')),log((1/`sigma')*normalden($ML_y1,`beta',`sigma'))) 
and using normalden($ML_y1,`beta',`sigma') - instead of - normalden(($ML_y1-`beta')/`sigma')
but no success.

Any suggestions on how can I fix the code would be greatly appreciated.

Thank you very much in advance!

Alba Collart
*   For searches and help try:

© Copyright 1996–2017 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index