Intervalos de predicción para algoritmos de aprendizaje automático

14

Quiero saber si el proceso descrito a continuación es válido / aceptable y si hay alguna justificación disponible.

La idea: los algoritmos de aprendizaje supervisados ​​no asumen estructuras / distribuciones subyacentes sobre los datos. Al final del día, generan estimaciones puntuales. Espero cuantificar la incertidumbre de las estimaciones de alguna manera. Ahora, el proceso de construcción del modelo ML es inherentemente aleatorio (por ejemplo, en el muestreo para la validación cruzada para el ajuste de hiperparámetros y en el submuestreo en GBM estocástico), por lo que una tubería de modelado me dará una salida diferente para los mismos predictores con cada semilla diferente. Mi idea (ingenua) es ejecutar este proceso una y otra vez para llegar a una distribución de la predicción, y espero poder hacer declaraciones sobre la incertidumbre de las predicciones.

Si es importante, los conjuntos de datos con los que trabajo suelen ser muy pequeños (~ 200 filas).

¿Esto tiene sentido?

Para aclarar, en realidad no estoy cargando los datos en el sentido tradicional (es decir, no estoy volviendo a muestrear los datos). Se usa el mismo conjunto de datos en cada iteración, solo estoy explotando la aleatoriedad en xval y GBM estocástico.

kevinykuo
fuente
2
Si realmente desea un intervalo de predicción (en lugar de un intervalo de confianza), debe tener en cuenta la variación en las observaciones sobre el modelo, no solo la variación en las predicciones del modelo. Glen_b
reinstale a Monica
@Glen_b, ¿el enfoque descrito en el OP o una versión resumida me proporcionaría los intervalos de confianza? Estoy empezando a pensar que un intervalo de predicción no es posible sin especificar una distribución subyacente para los datos, por lo que podría tener que reformular la pregunta la próxima vez.
kevinykuo
Puede arrancar intervalos de predicción ... simplemente no haciendo lo que describe en la Q.
Glen_b -Reinstate a Monica
@Glen_b, ¿podría describir cómo hacerlo en una respuesta?
kevinykuo
1
No podría dar una respuesta suficiente aquí. Pero vea Davison y Hinkley (1997) en los capítulos sobre regresión múltiple y GLM que dan una idea del tipo de cosas que podrían ser necesarias. En el caso de la regresión múltiple, por ejemplo, los residuos se vuelven a muestrear para obtener una estimación inicial de la incertidumbre predictiva (variación en las predicciones debido a la incertidumbre de los parámetros) y se vuelven a muestrear nuevamente para tratar la variación del proceso. Con un esquema adecuado, tal vez también pueda lidiar con la incertidumbre de la especificación del modelo en ese primer paso, pero no puede omitir el segundo paso para la variabilidad del proceso
Glen_b -Reinstate Monica

Respuestas:

5

A mí me parece un enfoque tan bueno como cualquiera para cuantificar las incertidumbres en las predicciones. Solo asegúrese de repetir todos los pasos de modelado (para un GBM que sería el ajuste de parámetros) desde cero en cada remuestreo de arranque. También podría ser útil arrancar los rankings de importancia para cuantificar la incertidumbre en los rankings.

He descubierto que a veces los intervalos no contienen la predicción real, especialmente cuando se estima una probabilidad. El aumento del número mínimo de observaciones en cada nodo terminal generalmente resuelve eso, al menos en los datos con los que he trabajado.

La predicción conforme parece un enfoque útil para cuantificar la confianza en las predicciones sobre nuevos datos. Hasta ahora solo he arañado la superficie y probablemente otros estén más preparados para dar una opinión sobre eso.

Hay un código R crudo en mi respuesta a esta publicación sobre la búsqueda de un intervalo de predicción GBM.

¡Espero que esto ayude!

ErikL
fuente
2

Puede dividir su incertidumbre sobre la predicción de los términos 'sesgo' y 'varianza'. El término sesgo se refiere a la especificación errónea del modelo: si ajusta el modelo lineal para la función no lineal, siempre obtendrá algún error. El término 'varianza' se refiere al error en la estimación de los parámetros del modelo. Se aproxima a la parte de la varianza de la incertidumbre, mientras que no puede estimar el sesgo.

Como lo sugiere @ErikL, la predicción conforme es un enfoque teóricamente justificado que adopta una idea bastante similar para bootstrap. La predicción conforme usando la reconstrucción del modelo usando un nuevo punto toma en cuenta tanto el sesgo como la varianza, mientras que para la regresión necesitan recursos computacionales significativos. Puedes probarlo con Python usando una biblioteca no conforme .

Alexey Zaytsev
fuente
1

No, parece una mala idea. Primero, como señaló Alexey, hay sesgos y variaciones. Incluso para la mejor elección de parámetros, no puede evitar la variación. Su método ni siquiera trata de abordarlo. Hay otra cuestión muy importante, que parte, y probablemente la mayoría, del error de su modelo está en los datos, más que en la aleatoriedad inherente del modelo. (Sin mencionar que algunos modelos, como la regresión lineal simple, no son aleatorios en absoluto, y para los modelos aleatorios, el grado de aleatoriedad varía de un modelo a otro)

Le sugiero que pruebe su enfoque en algunos datos simulados simples y en algún modelo que conozca. Estoy seguro de que, por las razones que describí, su error estimado será mucho menor que el error real (o su distribución será mucho más estrecha).

Para estimar la distribución de errores, puede usar una validación cruzada antigua y buena.

usuario31264
fuente
0

Estoy pensando en este problema ahora. Aquí están mis hallazgos:

(1) Método Delta
(2) Muestreo Bootstrap
(3) Método bayesiano
(4) Estimación de la varianza media (MVE)

La idea es tratar de estimar las dos fuentes de la variabilidad de predicción, la incertidumbre de la estimación del parámetro del modelo y el error irreducible.

Aquí hay varias referencias:

Enfoques de aprendizaje automático para la estimación del intervalo de predicción para la salida del modelo, Durga L. Shrestha, Dimitri P. Solomatine, 2006
Una comparación de algunas estimaciones de error para modelos de redes neuronales, Robert Tibshirani, 1995
Revisión exhaustiva de los intervalos de predicción basados ​​en redes neuronales y nuevos Avances, Abbas khosravi, Doug Creighton, 2011

Espero que esto ayude y me corrija, cualquiera de los anteriores es inapropiado. Me gustaría saber más de los demás.

Manifestación
fuente
1
¿Podría explicar cómo esta publicación aborda la pregunta original?
whuber
El título es 'PI para algoritmos ML', @kevinykuo pregunta si su forma de 'bootstraping' funciona. Estoy señalando varias referencias sobre algunos métodos utilizados en PI para la red neuronal.
Demo