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?