[R] heckit / tobit estimation

Achim Zeileis Achim.Zeileis at wu-wien.ac.at
Wed Apr 20 14:31:44 CEST 2005


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".

> 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? 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




More information about the R-help mailing list