regresion - Modelo de logit fraccional en R
regresion logistica ordinal en r (0)
Me gustaría estimar los efectos de covariables en una respuesta cuyos valores toman valores en [0,1]. Es decir, los valores de la variable de respuesta viven entre 0-1 (inclusive). Me gustaría utilizar el modelo de logit fraccional descrito por Papke y Wooldridge (1996), ver a continuación:
http://faculty.smu.edu/millimet/classes/eco6375/papers/papke%20wooldridge%201996.pdf
¿Hay una función R (o biblioteca) para facilitar la estimación del modelo logit fraccional? ¿Podría modificar glm()
de alguna manera?
La pregunta editada comienza aquí
Agradezco el comentario de @Jibler: esto obtiene las beta estimadas del modelo logit fraccional bien. Sin embargo, como señaló @Ben, las SE no se estimarán correctamente dada esta especificación.
Supongo que este es un modelo más popular en economía, por lo que los contribuyentes de la revista STATA lo discuten bien: http://fmwww.bc.edu/EC-C/S2013/823/EC823.S2013.nn06.slides.pdf http://www.stata.com/meeting/germany10/germany10_buis.pdf
Pude obtener los datos del ejemplo del plan 401k de Papke y Wooldridge (ver a continuación). Me parece al menos que la solidez en el modelo logit fraccional se obtiene mediante el estimador de varianza en sándwich, la ecuación (9) de Papke y Wooldridge. Dicho esto, la ecuación (10) continúa para demostrar cómo la robustez también se puede obtener al multiplicar vcov
matriz de vcov
estimada a partir de un glm(...,family=binomial(link=logit))
estándar glm(...,family=binomial(link=logit))
ajustado por una estimación del Pearson derechos residuales de autor.
Las diapositivas de Buis parecen implementar una forma sandwich()
del estimador logit fraccional usando el argumento vce (robusto). Estos se alinean exactamente con la aplicación de la función sandwich()
en R, al GLM binomial estándar. Supongo, pero no estoy seguro, ya que no soy un experto en STATA, que esto es lo mismo que el argumento de Baum para simplemente robust
. Si alguien posee STATA y podría comprobar que sería útil. El modelo dado por la family=quasibinomial
GLM family=quasibinomial
da estimaciones SE ligeramente diferentes. Pero también parece ser un estimador razonable de los parámetros de media / varianza del modelo logit fraccional.
A continuación se muestra un código R que replica el ajuste de datos proporcionado en el artículo anterior de Buis (también muestra cómo el modelo cuasi-binomial ofrece estimaciones SE ligeramente diferentes):
##
## Replicate what some STATA Journal editors call "fractional logit"
## get data from: "http://fmwww.bc.edu/repec/bocode/k/k401.dta"
##
library(sandwich)
library(foreign)
X <- read.dta("F:/ProportionsDepVar/k401.dta")
class(X)
names(X)
dim(X)
X$totemp1 <- X$totemp/10000
glmfit <- glm(prate ~ mrate + totemp1 + age + sole, family=binomial(link=logit), data=X)
summary(glmfit)
##
## And the SE''s are off here and biased large
## Use sandwich estimator instead
##
sand_vcov <- sandwich(glmfit)
sand_se <- sqrt(diag(sand_vcov))
robust_z <- glmfit$coef/sand_se
robust_z
##
## Quasi binomial fit is close to replicating SE''s
##
flogit1 <- glm(prate ~ mrate + totemp1 + age + sole, family=quasibinomial(link=logit), data=X)
summary(flogit1)
Entonces ... gracias @Ben por sugerencias útiles. Mi opinión es que la family=quasibinomial
o biblioteca de sandwich
hace un buen trabajo en la estimación de SE robustos para el modelo logit fraccional en R (como se define en las ecuaciones (9) o (10) de Papke y Wooldridge). Aprecie los comentarios / críticas si esta conclusión no es cierta.