38 votos

Métricas de error para la validación cruzada de modelos de Poisson

Estoy validando un modelo que intenta predecir un recuento. Si se tratara de un problema de clasificación binaria, calcularía el AUC por separado, y si se tratara de un problema de regresión, calcularía el RMSE o el MAE por separado.

Para un modelo de Poisson, ¿qué métrica de error puedo utilizar para evaluar la "precisión" de las predicciones fuera de la muestra? ¿Existe una extensión de Poisson de la AUC que mire lo bien que las predicciones ordenan los valores reales?

Parece que muchos concursos de Kaggle para recuentos (por ejemplo, el número de votos útiles que obtendrá una reseña de Yelp, o el número de días que pasará un paciente en el hospital) utilizan el error cuadrático medio del logaritmo, o RMLSE.


/Editar: Una cosa que he estado haciendo es calcular los deciles de los valores predichos, y luego mirar los recuentos reales, clasificados por decil. Si el decil 1 es bajo, el decil 10 es alto, y los deciles intermedios son estrictamente crecientes, he estado llamando al modelo "bueno", pero he estado teniendo problemas para cuantificar este proceso, y he convencido de que hay un enfoque mejor.

/Edición 2: Estoy buscando una fórmula que tome valores predichos y reales y devuelva alguna métrica de "error" o "precisión". Mi plan es calcular esta función en los datos fuera de pliegue durante la validación cruzada, y luego utilizarla para comparar una amplia variedad de modelos (por ejemplo, una regresión de Poisson, un bosque aleatorio y un GBM ).

Por ejemplo, una de estas funciones es RMSE = sqrt(mean((predicted-actual)^2)) . Otra función de este tipo sería AUC . Ninguna de las dos funciones parece adecuada para los datos de Poisson.

46voto

Momo Puntos 5125

Hay un par de reglas de puntuación apropiadas y estrictamente apropiadas para los datos de recuento que puede utilizar. Las reglas de puntuación son penalizaciones $s(y,P)$ introducido con $P$ siendo la distribución predictiva y $y$ el valor observado. Tienen una serie de propiedades deseables, en primer lugar que una previsión que se acerque más a la probabilidad real siempre recibirá menos penalización y que hay una (única) mejor previsión y que es cuando la probabilidad prevista coincide con la probabilidad real. Así, la minimización de la expectativa de $s(y,P)$ significa informar de las verdaderas probabilidades. Véase también Wikipedia .

A menudo se toma una media de los mismos sobre todos los valores predichos como

$S=\frac{1}{n}\sum_{i=1}^n s(y^{(i)},P^{(i)})$

Qué regla tomar depende de tu objetivo, pero daré una caracterización aproximada de cuándo es bueno usar cada una.

En lo que sigue utilizo $f(y)$ para la función de masa de probabilidad predictiva $\Pr(Y=y)$ y $F(y)$ la función de distribución acumulativa predictiva. A $\sum_k$ recorre todo el soporte de la distribución del recuento (es decir $0,1,\dots, \infty$ ). $I$ denota una función indicadora. $\mu$ y $\sigma$ son la media y la desviación estándar de la distribución predictiva (que suelen ser cantidades estimadas directamente en los modelos de datos de recuento).

Reglas de puntuación estrictas

  • Puntuación de Brier : $s(y,P)=-2 f(y) + \sum_k f^2(k)$ (estable para el desequilibrio de tamaño en los predictores categóricos)
  • Puntuación de Dawid-Sebastiani : $s(y,P)=(\frac{y-\mu}{\sigma})^2+2\log\sigma$ (bueno para la elección del modelo de predicción general; estable para el desequilibrio de tamaño en los predictores categóricos)
  • Puntuación de desviación : $s(y,P)=-2\log f(y) + g_y$ ( $g_y$ es una normalización que sólo depende de $y$ en los modelos de Poisson se suele tomar como la desviación saturada; buena para usar con las estimaciones de un marco ML)
  • Puntuación logarítmica : $s(y,P)=-\log f(y)$ (muy fácil de calcular; estable para el desequilibrio de tamaño en los predictores categóricos)
  • Puntuación de probabilidad clasificada : $s(y,P)=\sum_k \{F(k)-I(y\leq k)\}^2$ (bueno para contrastar diferentes predicciones de recuentos muy altos; susceptible al desequilibrio de tamaño en los predictores categóricos)
  • Puntuación esférica : $s(y,P)=\frac{f(y)}{\sqrt{\sum_k f^2(k)}}$ (estable para el desequilibrio de tamaño en los predictores categóricos)

Otras reglas de puntuación (no es tan propio pero se utiliza a menudo)

  • Puntuación de error absoluta : $s(y,P)=|y-\mu|$ (no es propio)
  • Puntuación del error al cuadrado : $s(y,P)=(y-\mu)^2$ (no es estrictamente adecuado; susceptible a los valores atípicos; susceptible al desequilibrio de tamaño en los predictores categóricos)
  • Puntuación del error cuadrado normalizado de Pearson : $s(y,P)=(\frac{y-\mu}{\sigma})^2$ (no es estrictamente adecuado; susceptible a los valores atípicos; puede utilizarse para comprobar si el modelo se verifica si la puntuación promediada es muy diferente de 1; estable para el desequilibrio de tamaño en los predictores categóricos)

Ejemplo de código R para las reglas estrictamente adecuadas:

library(vcdExtra)
m1 <- glm(Freq ~ mental, family=poisson, data=Mental) 

# scores for the first observation
mu <- predict(m1, type="response")[1]
x  <- Mental$Freq[1]

# logarithmic (equivalent to deviance score up to a constant) 
-log(dpois(x, lambda=mu))

# quadratic (brier)
-2*dpois(x,lambda=mu) + sapply(mu, function(x){ sum(dpois(1:1000,lambda=x)^2) })

# spherical
- dpois(x,mu) / sqrt(sapply(mu, function(x){ sum(dpois(1:1000,lambda=x)^2) }))

# ranked probability score
sum(ppois((-1):(x-1), mu)^2) + sum((ppois(x:10000,mu)-1)^2)

# Dawid Sebastiani
(x-mu)^2/mu + log(mu)

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