Estamos utilizando STL (implementación R) para pronosticar datos de series temporales.
Todos los días hacemos pronósticos diarios. Nos gustaría comparar los valores de pronóstico con valores reales e identificar la desviación promedio. Por ejemplo, ejecutamos el pronóstico para mañana y obtuvimos puntos de pronóstico, nos gustaría comparar estos puntos de pronóstico con datos reales que obtendremos mañana. Soy consciente de que los valores de los pronósticos y los datos reales pueden no coincidir la mayoría de las veces, esa es una de las razones por las que nos gustaría hacer un seguimiento de la precisión que tenemos cada día.
Ahora estamos tratando de identificar cuál es el mejor enfoque para resolver este problema. Cualquier sugerencia de ayuda sería apreciada.
Miré la pregunta Medición de la precisión del pronóstico , pero parece que está relacionada con la comparación de modelos en lugar de calcular la precisión con valores reales.
Miré la implementación de la función de precisión en R , pero la confundí con dos preguntas:
1) ¿Funcionará con datos reales vs datos de pronóstico, porque la mayoría del tutorial dice como "datos de prueba" vs "datos de pronóstico"
2) Parece que la función de precisión es una matriz de valores en lugar del% de desviación.
Respuestas:
Hay muchas formas diferentes de medir la precisión del pronóstico, y la
accuracy()
función del paquete de pronóstico para R genera varias de ellas. Según su comentario sobre el "% de desviación", parece que desea utilizar el error de porcentaje absoluto medio, que es una de las medidas proporcionadas poraccuracy()
. Las medidas más comunes de precisión del pronóstico se analizan aquí . Es posible que desee pensar si MAPE es la medida más adecuada para su problema, o si una de las otras medidas es mejor.La
accuracy()
función funciona en datos reales. Los "datos de prueba" son aquellos datos que no se utilizaron para construir los pronósticos. A veces están disponibles pero no se usan cuando se calculan los pronósticos (la división clásica de datos en conjuntos de entrenamiento y prueba). En otras situaciones, todos los datos disponibles se usan para calcular los pronósticos, y luego debe esperar hasta que haya algunas observaciones futuras disponibles para usar como datos de prueba.Entonces, si
f
es un vector de pronósticos yx
es un vector de observaciones correspondientes a los mismos tiempos, entoncesHará lo que quieras.
fuente
fuente
He estado haciendo esto en R, aquí está mi código para mis datos para los datos dentro y fuera de la muestra:
Espero que esto ayude un poco. si quieres mi código completo, solía ejecutar esto, pregunta ya que es muy básico
fuente
La respuesta corta: para evaluar la calidad de sus predicciones, use exactamente la misma medida que utilizó en el entrenamiento (ajuste) de su modelo.
La respuesta larga:
Para elegir una medida para la precisión de sus pronósticos, su primera necesidad es saber cómo interpreta sus predicciones. En otras palabras, ¿qué es lo que realmente das como "pronóstico"? ¿Es el valor medio? ¿Mediana? ¿El valor más probable? La respuesta a esta pregunta identificará únicamente la medida de la precisión del pronóstico. Si predice la media, debe usar la desviación cuadrática media de la raíz como medida de la precisión del pronóstico. Si predice la mediana, debe usar la desviación absoluta media como medida de precisión.
Voy a elaborar un poco sobre este punto. Supongamos que hace una predicción / pronóstico para mañana. Supongamos también que para cualquier valor que pueda observar mañana tiene una probabilidad correspondiente de ser observado. Por ejemplo, sabe que puede observar 1 con probabilidad 0.03, 2 con probabilidad 0.07, 3 con probabilidad 0.11, y así sucesivamente. Entonces, tiene una distribución de probabilidades sobre diferentes valores. Con esta distribución, puede calcular diferentes propiedades y darlas como sus "predicciones". Puedes calcular la media y darla como la predicción para mañana. Alternativamente, puede usar la mediana como su predicción. También puede encontrar el valor más probable y darlo como su predicción para mañana.
Si utiliza el valor medio como predicción, entonces la pregunta de "cómo medir la precisión de mi predicción" debe ser reemplazada por "cuál es la medida de la precisión de la media" y la respuesta es "desviación cuadrática media entre la raíz valores reales y predicción ". Si usa la mediana como predicciones, debe usar la desviación media absoluta.
Es posible que no sepas si usas la mediana o la media o alguna otra cosa. Para saber qué es lo que realmente usa como predicciones, debe saber qué medida intenta minimizar en el entrenamiento. Si intenta encontrar parámetros del modelo que minimicen la desviación cuadrática media entre las predicciones y los valores objetivo de los datos de entrenamiento, entonces sus predicciones deben tratarse como medias. Si minimiza las desviaciones absolutas, entrena su modelo para proporcionar medianas, etc.
ADICIONAL
Me gustaría enfatizar una cosa. Como he mencionado anteriormente, es importante mantener la misma medida de precisión en "ajuste" y en "predicción". Además de eso, me gustaría decir que usted es absolutamente libre de elegir sus medidas. No hay medidas "mejores" o "peores". La medida debe determinarse por la forma en que usted (o su cliente) utiliza sus predicciones. Por ejemplo, podría ser muy importante (para usted o su cliente) tener una coincidencia exacta y, si no la tiene, no tiene ningún papel si la diferencia entre los valores reales y los pronosticados es grande o pequeña. En otros casos, esta diferencia juega un papel. La diferencia de 1 es mejor que la diferencia de 2. En algunos casos, la diferencia de 2 es 2 veces peor que la diferencia de 1. En otros casos, la diferencia igual a 2 es 100 veces peor que la diferencia igual a 1. También puede imaginar casos exóticos en los que necesita generar un valor que difiera de las observaciones. Por lo tanto, la medida de la calidad de los números que genera puede ser lo que desee, dependiendo de lo que necesite. Lo importante es utilizar la misma medida en el entrenamiento (ajuste) y la evaluación de predicciones.
fuente