[R] heckit / tobit estimation

Arne Henningsen ahenningsen at email.uni-kiel.de
Wed Apr 20 15:17:36 CEST 2005


On Wednesday 20 April 2005 14:31, Achim Zeileis wrote:
> Arne:
> > we (Ott Toomet and I) would like to add  functions for maximum
> > likelihood (ML) estimations of generalized tobit models of type 2 and
> > type 5 (*see below)  in my R package for microeconomic analysis
> > "micEcon". So far we have called these functions "tobit2( )" and
> > "tobit5( )". Are these classifications well known?
>
> I don't know them, but I'm certainly not an expert in tobit
> estimation...
> Generally, I prefer functions that have a name like tobit() and where
> the rest can be specified by parameters, that can be more easily
> understood than abstract categorizations like "type 2" and "type 5".

Just having a single tobit() function sounds good. However, the different 
types of tobit models require different arguments, e.g. something like
   tobit1( formula, ... )
   tobit2( selection, formula, ... )
   tobit3( formula1, formula2, ... )
   tobit4( formula1, formula2, formula3, ... )
   tobit5( selection, formula1, formula2, ... )
where "selection" are binary selection models and "formula*" are censored 
equations.
I think having a function
   tobit( selection = NULL, formula1 = NULL, formula2 = NULL, 
      formula3 = NULL, ... )
and taking the model type according to which arguments are non-NULL might also 
be confusing. What do you think?

> > How are these
> > functions called in other software packages? Should we keep these
> > names or does anybody have better suggestions?
> >
> > (* T. Amemiya (1984): Tobit models: a survey, Journal of Econometrics,
> > and T. Amemiya (1985): Advanced Econometrics)
>
> OK, I haven't checked those now, but I guess that it should be possible
> to figure out first what the common *conceptual* properties of the
> different models are and then turn them into *computational* tools. My
> guess would be that type 2 and type 5 are not the best conceivable
> abstractions of the underlying conceptual properties...
>
> > Furthermore, the generalized tobit model of type 2 is identical to the
> > Heckman model. Until now the package "micEcon" contains a function
> > "heckit( )" that performs a two-step estimation of the Heckman / Tobit
> > type 2 model. The difference between "heckit( )" and "tobit2( )" is
> > that "heckit( )" performs a two-step estimation, while "tobit2( )"
> > performs a maximum likelihood estimation. At the moment we are
> > debating how to construct the user interface. These are our
> > suggestions:
> >
> > 1) Keep it as it is:
> > heckit( ) does a two-step estimation and
> > tobit2( ) does a ML estimation
> >
> > 2) Having just one function:
> > tobit2( ..., method = "2step" ) does a two-step estimation
> > tobit2( ..., method = "ML" ) does a ML estimation
> > This has the advantage that other methods like a weighted two-step
> > least squares can be added easily.
> >
> > 3) As suggestion 2). Argument "method" has the default "ML" and an
> > additional a wrapper function is added:
> > heckit <- function( ... ) {
> >    return( tobit2( ..., method = "2step" ) )
> > }
>
> Probably, I would allow both, I guess. Thus go for something like 3).
>
> > Does anybody have a better suggestion?
> > How is this implemented in other software packages?
> > What do you think is the best option?
>
> How did you implement it, btw? 

The 2-step method follows exactly the proposal of Heckman: a) a probit 
estimation using glm(), b) an OLS using lm() with Inverse Mills Ratio as 
additional regressor. The coefficient covariance matrix and, thus, also the 
standard error of the coefficients are calculated using the formula in 
Greene: Econometric Analysis, 5th edition, p. 785.
The ML estimation was written by Ott. The likelihood value is maximized using 
a Newton-Raphson algorithm, which is implement by him in a supplementary 
function and will be available in the next version of micEcon.

> Christian Kleiber and I have been playing 
> around with some tobit models which we fitted by interfacing survreg().
> We also intend(ed) to write some tobit() function for our AER project
> (which I have told you about offline, I think). Maybe we could pool our
> efforts here, such that the functionality is not duplicated...but we
> should discuss that offline.
>
> Best,
> Z
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html

-- 
Arne Henningsen
Department of Agricultural Economics
University of Kiel
Olshausenstr. 40
D-24098 Kiel (Germany)
Tel: +49-431-880 4445
Fax: +49-431-880 1397
ahenningsen at agric-econ.uni-kiel.de
http://www.uni-kiel.de/agrarpol/ahenningsen/




More information about the R-help mailing list