24 votos

¿Puede un modelo para datos no negativos con agrupación en ceros (Tweedie GLM, zero-inflated GLM, etc.) predecir ceros exactos?

Una distribución de Tweedie puede modelar datos sesgados con una masa puntual en cero cuando el parámetro $p$ (exponente en la relación media-varianza) está entre 1 y 2.

Del mismo modo, un modelo inflado a cero (ya sea continuo o discreto) puede tener un gran número de ceros.

Me cuesta entender por qué cuando hago predicciones o calculo valores ajustados con este tipo de modelos, todos los valores predichos son distintos de cero.

¿Pueden estos modelos predecir realmente ceros exactos?

Por ejemplo

library(tweedie)
library(statmod)
# generate data
y <- rtweedie( 100, xi=1.3, mu=1, phi=1)  # xi=p
x <- y+rnorm( length(y), 0, 0.2)
# estimate p
out <- tweedie.profile( y~1, p.vec=seq(1.1, 1.9, length=9))
# fit glm
fit <- glm( y ~ x, family=tweedie(var.power=out$p.max, link.power=0))
# predict
pred <- predict.glm(fit, newdata=data.frame(x=x), type="response")

pred ahora no contiene ceros. Pensaba que la utilidad de modelos como la distribución de Tweedie proviene de su capacidad para predecir ceros exactos y la parte continua.

Sé que en mi ejemplo la variable x no es muy predictivo.

2 votos

Considere también los modelos semiparamétricos de respuesta ordinal, que permiten distribuciones arbitrarias para $Y$ .

23voto

AdamSane Puntos 1825

Tenga en cuenta que el valor predicho en un MLG es una media.

Para cualquier distribución sobre valores no negativos, para predecir un media de 0, su distribución tendría que ser enteramente un pico en 0.

Sin embargo, con un enlace logarítmico, nunca se va a ajustar una media exactamente igual a cero (ya que eso requeriría $\eta$ para ir a $-\infty$ ).

Así que su problema no es un problema con la Tweedie, sino mucho más general; tendría exactamente el mismo problema con la Poisson ordinaria (ya sea cero-inflada u ordinaria Poisson GLM) por ejemplo, o una binomial, una beta 0-1 inflada y de hecho cualquier otra distribución en la línea real no negativa.

Pensaba que la utilidad de la distribución de Tweedie proviene de su capacidad para predecir ceros exactos y la parte continua.

Puesto que predecir ceros exactos no va a ocurrir para ninguna distribución sobre valores no negativos con un enlace logarítmico, tu pensamiento sobre esto debe ser erróneo.

Uno de sus atractivos es que puede modelo ceros exactos en los datos, no que la media de las predicciones sea 0. [Por supuesto, una distribución ajustada con media distinta de cero puede seguir teniendo una probabilidad de ser exactamente cero, aunque la media deba ser superior a 0. Un intervalo de predicción adecuado bien podría incluir 0, por ejemplo].

No importa en absoluto que la distribución ajustada incluya una proporción sustancial de ceros: eso no hace que la media ajustada sea cero (excepto en el límite a medida que se llega a todos los ceros).

Tenga en cuenta que si cambia su función de enlace a decir un enlace de identidad, en realidad no resuelve su problema -- la media de una variable aleatoria no negativa que no es todo ceros será positiva.

1 votos

Gracias por su explicación. He comparado un glm tweedie con un glm gamma y las betas son casi exactamente iguales, independientemente del número de ceros que contengan los datos (cambio los ceros a un valor muy pequeño para el glm gamma). Y cual es la forma propuesta para predecir los ceros y la parte continua simultáneamente.

3 votos

@spore234 Podrías hacer tu propio modelo gamma-hurdle, que tendría un hurdle binomial para predecir 0/1 y un modelo gamma ajustado a los datos distintos de cero. Aquí tienes un enlace a una entrada de blog que discute este modelo y cómo ajustar uno a mano en R. Como nota al margen, si algo es continuo, ¿cómo sabes que es exactamente cero? ¿Su aparato de medición es capaz de realizar mediciones tan precisas?

3 votos

@spore, Vas a tener que ser más explícito sobre lo que realmente quieres decir con "predecir los ceros"; mi respuesta ya establece por qué ningún otro El modelo distribucional utilizado para sustituir al Tweedie dará una predicción media de cero (NB: los modelos cero-inflado y hurdle también tienen el mismo problema con sus predicciones medias). Dado que una predicción media es lo que quería decir con "predecir" cuando utilizaba un MLG, ¿qué quiere decir ahora? Si lo cambia para que signifique algo en lo que un modelo 0-inflado o hurdle tenga sentido, un Tweedie podría satisfacer la misma condición.

17voto

Gordon Smyth Puntos 170

Predecir la proporción de ceros

Soy el autor del paquete statmod y coautor del paquete tweedie. Todo en tu ejemplo funciona correctamente. El código tiene en cuenta correctamente los ceros que pueda haber en los datos.

Como han explicado Glen_b y Tim, el valor medio predicho nunca será exactamente cero, a menos que la probabilidad de un cero sea del 100%. Sin embargo, lo que puede ser interesante es la proporción prevista de ceros, que puede extraerse fácilmente del ajuste del modelo, como se muestra a continuación.

He aquí un ejemplo práctico más sensato. Primero simule algunos datos:

> library(statmod)
> library(tweedie)
> x <- 1:100
> mutrue <- exp(-1+x/25)
> summary(mutrue)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
 0.3829  1.0306  2.7737  5.0287  7.4644 20.0855 
> y <- rtweedie(100, mu=mutrue, phi=1, power=1.3)
> summary(y)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
 0.0000  0.8482  2.9249  4.7164  6.1522 24.3897 
> sum(y==0)
[1] 12

Los datos contienen 12 ceros.

Ahora coloca un Tweedie glm:

> fit <- glm(y ~ x, family=tweedie(var.power=1.3, link.power=0))
> summary(fit)

Call:
glm(formula = y ~ x, family = tweedie(var.power = 1.3, link.power = 0))

Deviance Residuals: 
     Min        1Q    Median        3Q       Max  
-2.71253  -0.94685  -0.07556   0.69089   1.84013  

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) -0.816784   0.168764   -4.84 4.84e-06 ***
x            0.036748   0.002275   16.15  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for Tweedie family taken to be 0.8578628)

    Null deviance: 363.26  on 99  degrees of freedom
Residual deviance: 103.70  on 98  degrees of freedom
AIC: NA

Number of Fisher Scoring iterations: 4

Por supuesto, la regresión sobre $x$ es muy significativo. El valor estimado de la dispersión $\phi$ es 0,85786.

La proporción prevista de ceros para cada valor de $x$ puede calcularse a partir de la siguiente fórmula:

> Phi <- 0.85786
> Mu <- fitted(fit)
> Power <- 1.3
> Prob.Zero <- exp(-Mu^(2-Power) / Phi / (2-Power))
> Prob.Zero[1:5]
        1         2         3         4         5 
0.3811336 0.3716732 0.3622103 0.3527512 0.3433024 
> Prob.Zero[96:100]
          96           97           98           99          100 
1.498569e-05 1.121936e-05 8.336499e-06 6.146648e-06 4.496188e-06 

Así, la proporción de ceros prevista varía del 38,1% en los valores medios más bajos a 4,5e-6 en los valores medios más altos.

La fórmula de la probabilidad de un cero exacto se encuentra en Dunn & Smyth (2001) Densidades familiares de Tweedie: Métodos de evaluación ou Dunn & Smyth (2005) Evaluación en serie de las densidades del modelo de dispersión exponencial de Tweedie .

14voto

Dipstick Puntos 4869

Esta respuesta se fusionó a partir de otro hilo en el que se preguntaba por las predicciones del modelo de regresión cero-inflado, pero también se aplica al modelo GLM de Tweedie.

Los modelos de regresión predicen la media de alguna distribución (normal para la regresión lineal, Bernoulli para la regresión logística, Poisson para la regresión de Poisson, etc.). En el caso de la regresión con inflado cero, se predice la media del inflado cero. algo (por ejemplo, Poisson, binomial). Cuando la función de densidad de probabilidad de la distribución no inflada es $f$ entonces la función de densidad de probabilidad de la distribución cero-inflada es una mezcla de masa puntual en cero y $f$ :

$$ f_\text{zeroinfl}(y) = \pi \,I_{\{0\}}(y) + (1-\pi)\, f(y) $$

donde $I$ es una función indicadora. El modelo de regresión cero-inflado predice media de $f_\text{zeroinfl}(y)$ es decir

$$ \mu_i = \pi \cdot 0 + (1-\pi)\, g^{-1}(x_i'\beta) $$

donde $g^{-1}$ es la inversa de la función de enlace. Así que como usted está prediciendo la media de esta distribución, usted no ver el exceso de ceros en sus predicciones ya que los ceros no son la media de la distribución (mientras que encogen la media hacia cero), al igual que la regresión lineal no predice los residuos.

Esto se ilustra en el gráfico siguiente, donde los valores de la variable aleatoria $Y$ se comparan con $X$ donde $Y$ sigue una distribución de Poisson desinflada a cero con media condicional a $X$ . Los puntos negros son los datos reales que se utilizaron para ajustar el modelo de regresión de Poisson cero-inflado, los puntos rojos son las predicciones, y los puntos azules son medias de $Y$ dentro de los seis grupos arbitrarios de $X$ valores. Como se puede ver, claramente el modelo de regresión de Poisson inflado a cero estima $E(Y|X)$ .

Example

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