2 votos

métodos para analizar datos con inflación cero

type    intact  bury
B          0     0
B          0     0
B          0     0 
B          0     0
B          0     0
B          0     0
M        0.375   0
M        0.05    0
M          0     0
M          0     0
M          0    0.025
M      0.033333333  0
M          0    0.025
M          0    0.025
S        0.025   0
S          0     0
S          0    0.011111111
S      0.166666667  0
S          0    0.033333333
S      0.188888889  0.044444444
S          0        0
S          0      0.02
S          0        0
S          0        0

Mi pregunta es que si quiero utilizar el tipo como factor para estimar sus efectos sobre la variable intacta y enterrar, ¿qué métodos utilizo? En primer lugar, he utilizado el modelo lineal mixto generalizado, pero no funcionó bien. Entonces, ¿qué tal el modelo cero-inflado? si es así, ¿qué paquete necesito? No tengo ni idea. ¿Podrías ayudarme y darme algunas sugerencias? Muchas gracias~

1voto

JDługosz Puntos 1210

¿Has mirado el paquete pscl http://cran.r-project.org/web/packages/pscl/pscl.pdf . Esto incluye métodos de Hurdle y métodos de Poisson de inflación cero.

Mira los ejemplos de las estadísticas de UCLA: http://www.ats.ucla.edu/stat/r/dae/zipoisson.htm . por ejemplo

1voto

Daniel Lew Puntos 39063

Algunas estrategias estándar incluyen modelos de regresión censurados como el tobit (gaussiano censurado por cero) o modelos hurdle continuos (que combinan un modelo binario y otro truncado por cero). Especialmente si el número de no ceros no es tan grande, utilizar sólo el modelo binario (0 frente a mayor) también podría ser un buen primer paso.

En su caso, la cuestión es si su conjunto de datos es realmente mayor que el que se presenta aquí. Si se trata de los datos completos, entonces no tiene mucho sentido analizar el tipo B porque ambas variables de respuesta son sólo cero y no varían en absoluto.

d <- read.table(textConnection("type    intact  bury
B          0     0
B          0     0
B          0     0 
B          0     0
B          0     0
B          0     0
M        0.375   0
M        0.05    0
M          0     0
M          0     0
M          0    0.025
M      0.033333333  0
M          0    0.025
M          0    0.025
S        0.025   0
S          0     0
S          0    0.011111111
S      0.166666667  0
S          0    0.033333333
S      0.188888889  0.044444444
S          0        0
S          0      0.02
S          0        0
S          0        0"), header = TRUE)

Como primer paso, se podría examinar la proporción de no ceros y ceros en los tres tipos:

plot(factor(intact == 0) ~ type, data = d)
plot(factor(bury == 0) ~ type, data = d)

spineplot

Esto resume bastante bien la historia: B es sólo cero y para M y S la proporción de no zeros es de alrededor del 30-40%. Para analizar la diferencia entre M y S, podemos restringir los datos y utilizar un modelo probit simple:

d2 <- subset(d, type != "B")
d2$type <- factor(d2$type)
m1 <- glm(factor(intact > 0) ~ type, data = d2,
  family = binomial(link = "probit"))
summary(m1)
## Call:
## glm(formula = factor(intact > 0) ~ type, family = binomial(link = "probit"), 
##     data = d2)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -0.9695  -0.9383  -0.8446   1.4006   1.5518  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)
## (Intercept)  -0.3186     0.4514  -0.706    0.480
## typeS        -0.2058     0.6144  -0.335    0.738
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 22.915  on 17  degrees of freedom
## Residual deviance: 22.802  on 16  degrees of freedom
## AIC: 26.802
## 
## Number of Fisher Scoring iterations: 4

La utilización de un modelo tobit (gaussiano con censura cero) en lugar del modelo probit (gaussiano binario) conduce esencialmente a los mismos resultados no significativos y a casi los mismos coeficientes (modulo scaling):

library("AER")
m2 <- tobit(intact ~ type, data = d2)
coef(m1)
## (Intercept)       typeS 
##  -0.3186394  -0.2057611 
coef(m2)/m2$scale
## (Intercept)       typeS 
##  -0.3144522  -0.2342246

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