Re: [R] heckit / tobit estimation

From: Arne Henningsen <ahenningsen_at_email.uni-kiel.de>
Date: Wed 20 Apr 2005 - 23:17:36 EST

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@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@agric-econ.uni-kiel.de
http://www.uni-kiel.de/agrarpol/ahenningsen/

______________________________________________
R-help@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
Received on Wed Apr 20 23:22:17 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:31:17 EST