10 votos

Modelo Tobit con R

¿Alguien sabe dónde encontrar una buena aplicación y ejemplos (además del manual y el libro applied econometrics with R) utilizando el modelo tobit con los paquetes AER?

Editar

Estoy buscando un comando para calcular los efectos marginales para y (no para la variable latente y*). Parece que es $\phi(x\beta/\sigma)\beta$ où $\phi$ es la función de distribución acumulativa normal. Pero, ¿cómo puedo calcular esos efectos con R?

8voto

Flethuseo Puntos 464

Tuve el mismo problema (" non-conformable arguments ") que @hans0l0 mencionó en el comentario anterior. Creo que he resuelto esto, y voy a tratar de explicar aquí.

En primer lugar, hay un error en la ecuación del post original. Debería ser $(x/)_j$ -es decir, hay un subíndice después del segundo $$ but not after the first. In a Tobit model, the marginal effect of a variable $ x_j $ is determined not only by the coefficient of that particular variable (the $ _j $); an adjustment factor is also required that gets calculated from the values of other variables in the model (the $ (x/)$).

De Wooldridge 2006 (p. 598):

El factor de ajuste depende de una función lineal de $x$ , $x/ = (_0 + _1x_1 + … + _kx_k)/$ . Se puede demostrar que el factor de ajuste está estrictamente entre cero y uno.

Este factor de ajuste significa que tenemos que hacer una elección sobre los valores de las otras variables del modelo: "debemos introducir los valores de las x j Por lo general, los valores medios u otros valores interesantes" (Wooldridge 2006, p598). Por lo tanto, generalmente sería la media, pero también podría ser la mediana, el cuartil superior/inferior, o cualquier otra cosa. Esto se relaciona con la razón por la que @hans0l0 y yo estábamos recibiendo el " non-conformable argument " cuando utilizamos el código de Alex de arriba: los errores " x " en ese código será un vector cuando lo que necesitamos es un único valor para la variable (media / mediana / etc). Creo que también hay otro error en el código anterior en el sentido de que excluye el valor del intercepto del término de ajuste (con el [-1] después del primer uso de reg$coef ). Lo que yo entiendo (pero me alegra que me corrijan) es que el término de ajuste debe incluir el intercepto (el $_0$ desde arriba).

Dicho esto, he aquí un ejemplo que utiliza el conjunto de datos de AER::tobit (“Affairs”) :

## Using the same model and data as in the Tobit help file
## NB: I have added the “x=TRUE” command so the model saves the x values

> fm.tobit <- tobit(affairs ~ age + yearsmarried + religiousness + occupation + rating,
                    data = Affairs, x=TRUE)
> fm.tobit$coef
(Intercept)  age         yearsmarried  religiousness  occupation  rating 
8.1741974    -0.1793326  0.5541418     -1.6862205     0.3260532   -2.2849727

> fm.tobit$scale
[1] 8.24708 

## the vector of marginal effects (at mean values and for y > 0) should be as follows.
## note the [-1] used to remove the intercept term from the final vector, 
##  but not from within the adjustment term. 

> pnorm(sum(apply(fm.tobit$x,2,FUN=mean) * fm.tobit$coef)/fm.tobit$scale) * 
  fm.tobit$coef[-1]
  age        yearsmarried  religiousness  occupation  rating 
  -0.041921  0.1295365     -0.394172      0.076218    -0.534137 

Es importante reiterar que se trata de efectos marginales sólo en los casos en los que y es positivo (es decir, se ha producido al menos un asunto) y en los valores medios de todas las variables explicativas.

Si alguien quiere comprobar esos resultados utilizando un programa con una herramienta de efectos marginales incorporada para modelos Tobit, tendría curiosidad por ver la comparación. Cualquier comentario o corrección será muy apreciado.

Referencia :
Wooldridge, Jeffrey M. 2006. Introductory Econometrics: A Modern Approach. Thomson South-Western. 3ª edición.

0 votos

Gracias por esta contribución. Bienvenido a CV. Espero que veamos más.

0 votos

En respuesta a su último párrafo, el paquete {censReg} de R y las funciones censReg() combinadas con margEff.censReg() producen los mismos resultados que su cálculo, además de algunos resultados de inferencia estadística.

7voto

Alex Puntos 844

No está en el paquete, simplemente escriba su propio comando. Si su regresión es reg <- tobit(y~x) entonces el vector de efectos debe ser

pnorm(x%*%reg$coef[-1]/reg$scale)%*%reg$coef[-1].

0 votos

¿Te has perdido alguna t()? Sólo consigue un poco de non-conformable arguments cuando lo intento con los datos de ejemplo proporcionados por AER::tobit . ¿Te importaría probarlo con el conjunto de datos de ejemplo?

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X