¿Puede un modelo para datos no negativos con aglomeración en ceros (Tweedie GLM, GLM inflado a cero, etc.) predecir ceros exactos?


15

Una distribución Tweedie puede modelar datos asimétricos con una masa de punto en cero cuando el parámetro pag (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 una gran cantidad de ceros.

Tengo problemas para entender por qué es que cuando hago predicciones o calculo valores ajustados con este tipo de modelos, todos los valores pronosticados no son cero.

¿Pueden estos modelos realmente predecir 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")

predahora no contiene ceros. Pensé que la utilidad de modelos como la distribución Tweedie proviene de su capacidad para predecir ceros exactos y la parte continua.

Sé que en mi ejemplo la variable xno es muy predictiva.


Considera también modelos de respuesta ordinales semiparamétricos, que permiten distribuciones arbitrarias para . Y
Frank Harrell

Respuestas:


16

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

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

Sin embargo, con un enlace de registro, nunca se ajustará a una media de exactamente cero (ya que eso requeriría que fuera a - ).η-

Entonces su problema no es un problema con Tweedie, sino mucho más general; tendría exactamente el mismo problema con el Poisson (GLM de Poisson inflado a cero u ordinario), por ejemplo.

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

Dado que predecir ceros exactos no ocurrirá para ninguna distribución sobre valores no negativos con un enlace de registro, su pensamiento sobre esto debe estar equivocado.

Una de sus atracciones es que puede modelar ceros exactos en los datos, no que las predicciones medias sean 0. [Por supuesto, una distribución ajustada con una media distinta de cero puede tener una probabilidad de ser exactamente cero, aunque la media debe exceder 0 Un intervalo de predicción adecuado podría incluir 0, por ejemplo.]

No importa en absoluto que la distribución ajustada incluya una proporción sustancial de ceros, lo que no hace que la media ajustada sea cero.

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


1
Gracias por tu explicación. Comparé un tweedie glm con un gamma glm y las betas son casi exactamente las mismas, sin importar cuántos ceros contengan los datos (cambio los ceros a un valor muy pequeño para el gamma glm). ¿Y cuál es la forma propuesta de predecir ceros y la parte continua simultáneamente.
spore234

2
@ spore234 Podría lanzar su propio modelo de obstáculo gamma, que tendría un obstáculo binomial para predecir 0/1 y un modelo gamma ajustado a los datos distintos de cero. Aquí hay un enlace a una publicación de blog que analiza este modelo y cómo encajar uno a mano en R. Como comentario aparte, si algo es continuo, ¿cómo sabe que es exactamente cero? ¿Es su aparato de medición capaz de realizar mediciones tan detalladas?
Restablecer Mónica - G. Simpson

2
@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 modelo de distribución utilizado para reemplazar el Tweedie dará una predicción media de cero (NB, los modelos inflados a cero y con obstáculos también tienen el mismo problema con sus predicciones medias). Dada una predicción media es lo que quieres decir con "predecir" cuando usaste un GLM, ¿qué quieres decir con eso ahora? Si lo cambia para que signifique algo en lo que tiene sentido un modelo inflado con 0 o obstáculo, un Tweedie puede satisfacer la misma condición.
Glen_b -Reinstate Monica

1
Realmente depende de lo que quiere decir con "predecir" (ya que no quiere decir "pronosticar la media" necesita decir qué es lo que busca, ¿quiere pronosticar la probabilidad de un cero? ¿Quiere un ¿pronóstico medio? ¿Algo más?), y qué tipo de cosas considera "mejores", por lo que podría hacerse alguna comparación.
Glen_b -Reinstate Monica

1
@ spore234 El problema, una vez más, es que usa la palabra "predecir" pero no define lo que quiere decir con "predecir" (¡sigo preguntando!). Parecen haber descartado tanto de las interpretaciones más obvias del término en esta situación, por lo que tiene que decir lo que hace media. Cuando dice "predecir cuánto costará esta persona", ¿qué quiere decir realmente? Tenga en cuenta que no puede obtener el costo exacto para cada persona ... entonces, ¿qué propiedades debe tener esta "predicción"?
Glen_b -Reinstate Monica

10

Predecir la proporción de ceros

Soy el autor del paquete statmod y el autor conjunto del paquete tweedie. Todo en tu ejemplo está funcionando correctamente. El código representa correctamente los ceros que puedan estar en los datos.

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

Aquí hay un ejemplo de trabajo 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 se ajusta a una película Tweedie:

> 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

Xϕ

X

> 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 

Entonces, la proporción pronosticada de ceros varía desde 38.1% en los valores medios más pequeños hasta 4.5e-6 en los valores medios más grandes.

La fórmula para la probabilidad de un cero exacto se puede encontrar en Dunn & Smyth (2001) Tweedie Family Densities: Methods of Evaluation o Dunn & Smyth (2005) Evaluación de la serie de densidades del modelo de dispersión exponencial Tweedie .


gracias, util! ¿Alguna sugerencia sobre cómo calcular el intervalo de confianza para estas probabilidades de cero exacto? ¿Tendría sentido? También estoy desconcertado sobre cómo definir la "región de probabilidad del 95%" de su artículo de 2005, probablemente algo conocido que no puedo encontrar. Agradecería mucho una referencia
irintch3

8

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

FF

Fzeroinfl(y)=πyo{0 0}(y)+(1-π)F(y)

yoFzeroinfl(y)

μyo=π0 0+(1-π)sol-1(Xyoβ)

sol-1es un inverso de la función de enlace. Entonces, dado que está prediciendo la media de esta distribución, no verá el exceso de ceros en sus predicciones ya que los ceros no son la media de la distribución (mientras reducen la media hacia cero), lo mismo que la regresión lineal no predice los residuos

Esto se ilustra en la siguiente gráfica, donde los valores de la variable aleatoria Y se conspiran contra X, dónde Y sigue una distribución de Poisson inflada a cero con condicional media en X. Los puntos negros son los datos reales que se utilizaron para ajustar el modelo de regresión de Poisson inflado a cero, los puntos rojos son las predicciones y los puntos azules son medios deY dentro de los seis grupos arbitrarios de Xvalores. Como puede ver, claramente las estimaciones del modelo de regresión de Poisson inflado a ceromi(YEl |X).

Ejemplo


Tim, esta es realmente una gran respuesta y lamento el momento del cierre y fusión. Si desea algo más sobre la pregunta modificada para hacerla más canónica o para que se ajuste mejor (incorpore algunas de las que contestó tal vez), continúe o me complacerá hacerlo por usted.
Glen_b -Reinstate Monica
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.