Análisis invariante de escala de series de tiempo

8

Al desarrollar un software de series temporales de propósito general, ¿es una buena idea hacer que su escala sea invariable? ¿Cómo haría uno eso?

Tomé una serie temporal de alrededor de 40 puntos, y luego la multipliqué por factores que iban de 10E-9 a 10E3 y luego revisé las funciones ARIMA de Forecast Pro y Minitab. En Forecast Pro, todos dieron como resultado la misma respuesta (modelado automático), mientras que en Minitab no lo fueron. No estoy seguro de lo que hace Forecast Pro, pero podrían escalar o reducir todos los números a una escala determinada (digamos 100) antes de ejecutar el modelo. ¿Es esta buena idea en general?

Samik R
fuente

Respuestas:

7

Si el software calcula la suma de los errores al cuadrado en la optimización (y la mayoría lo hará), entonces puede tener problemas con números muy grandes o muy pequeños debido a cómo se almacenan los números de coma flotante. Lo mismo se aplica a cualquier modelado estadístico, no solo al análisis de series de tiempo. Una forma de evitar el problema es escalar los datos antes de ejecutar el modelo y luego volver a escalar los resultados. Para la mayoría de los modelos de series temporales, incluidos todos los modelos lineales, funcionará. Sin embargo, algunos modelos no lineales no se escalarán.

Cuando analizo datos, a menudo los escalaré yo mismo, no solo para evitar posibles problemas de optimización, sino también para hacer que los gráficos y las tablas sean más fáciles de leer.

Rob Hyndman
fuente
1
Además de esto, es posible que desee consultar Lo que todo informático debe saber sobre la aritmética de coma flotante, por David Goldberg, para obtener consejos sobre cómo abordar los problemas de la representación numérica.
fmark
@Rob: Gracias por la respuesta. Supongo que estás insinuando que está bien escalar la serie antes de hacer el análisis.
Samik R
@fmark: Gracias por el comentario, en realidad estoy bastante familiarizado con ese material.
Samik R
@Samik: Para modelos lineales como los procesos gaussianos ARIMA, sí.
Rob Hyndman el
3
Dentro de amplios límites, el escalado no hace ninguna diferencia para los cálculos de coma flotante: simplemente equivale a un cambio de exponente sin pérdida de precisión. Donde la escala puede ayudar es cuando un cálculo involucra conjuntos de datos que están en escalas diferentes. Mi conjetura es que las fórmulas de series temporales están utilizando alguna medición de tiempo (milisegundos? Años? ¿Solo pasos integrales?) Que puede tener un rango muy diferente al rango de los datos. Un buen SW de estadísticas escalará internamente sus matrices para evitar la pérdida de precisión; Esto podría explicar las diferencias entre FP y Minitab.
whuber