heckit / tobit estimation
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