Categories: CienciaNoticias

Transformada de Box-Cox para series de tiempo

Cómo crear una serie de tiempo estacionaria usando la transformación de Box-Cox.

Foto de Christopher Bill en UnsplashRealización de series temporales estacionario es una parte esencial a la hora de llevar a cabo cualquier series de tiempo análisis o pronóstico. La estacionariedad garantiza que nuestros datos no cambien estadísticamente a lo largo del tiempo, por lo tanto, pueden parecerse con mayor precisión a una distribución de probabilidad, lo que facilita su modelado. Un requisito para la estacionariedad es que la serie temporal necesita una varianza constante. En otras palabras, las fluctuaciones deben estar consistentemente en la misma escala. Una forma de lograr esto es tomar el logaritmo natural de la serie, sin embargo, esto supone que su serie original sigue una tendencia exponencial. Por lo tanto, la transformada de logaritmo natural puede no ser siempre la mejor opción. En esta publicación quiero presentar la Caja-Cox transform, que es una generalización de la transformación del logaritmo natural. El Box-Cox permite determinar si efectivamente el logaritmo natural es la mejor transformada o alguna otra transformar el poder es más óptimo. Si desea obtener más información sobre los antecedentes y los requisitos de la estacionariedad, consulte mi artículo anterior: Básicamente, Box-Cox transforma los datos no normales en más distribución normal como datos. Ahora quizás se pregunte por qué necesitamos que nuestros datos de series de tiempo se parezcan a una distribución normal. Bueno, al instalar ciertos modelos, como ARIMAutilizan el estimación de máxima verosimilitud (MLE) para determinar sus parámetros. MLE, por definición, debe ajustarse a una cierta distribución, que para la mayoría de los paquetes es la distribución normal. La transformación de Box-Cox está parametrizada por λ (que toma valores reales de -5 a 5) y transforma la serie temporal, y, como:Ecuación producida por el autor en LaTeX. Vemos que con λ=0 es la transformación logarítmica natural, sin embargo, hay muchas otras dependiendo del valor λ. Por ejemplo, si λ=0 es la transformada de raíz cuadradaλ=1 no hay transformación y λ=3 es la transformada cúbica. El valor λ se elige viendo qué valor se aproxima mejor a los datos transformados a la distribución normal. ¡Afortunadamente, en los paquetes informáticos esto se hace fácilmente para nosotros!

El Box-Cox es un tipo de transformar el poder ya que siempre estamos elevando nuestra serie original a alguna potencia, que es λ.

Realicemos un ejemplo para mostrar cómo podemos usar la transformación Box-Cox en Python. A continuación se muestra un gráfico de los volúmenes clásicos de pasajeros aéreos de EE. UU. entre el conjunto de datos de 1948 a 1960:

Datos obtenidos de Kaggle con una licencia CC0.

Código esencial por autor.Gráfica generada por el autor en Python. Claramente, los datos no son estacionarios ya que la media y la varianza aumentan con el tiempo. Para estabilizar la varianza, podemos usar la transformada Box-Cox como discutimos anteriormente. Scipy tiene una función llamada boxcox que encuentra el valor óptimo de λ y lo usa para transformar nuestros datos en consecuencia: Código esencial por autor.Gráfico generado por el autor en Python. ¡Nuestra varianza ahora es estable y las fluctuaciones están en un nivel constante! lo óptimo λ el valor es 0.148, que está cerca de una transformación logarítmica natural perfecta pero no del todo. Esto demuestra que la transformación de logaritmo no siempre es el mejor enfoque y se puede usar un método más completo a través de la transformación de Box-Cox. El código completo que se usó para generar los gráficos y la transformación se puede encontrar en mi GitHub aquí: A la varianza estable es un requisito para la estacionariedad de las series de tiempo. La estacionariedad es importante ya que normalmente se requiere para la mayoría de los modelos de pronóstico. Una forma general de lograr una varianza estable es aplicar la transformada de Box-Cox, parametrizada por λ, en tu serie. La transformación, en Python, ajusta automáticamente el valor óptimo λ y transforma su serie en consecuencia. Pronóstico: principios y práctica: https://otexts.com/fpp2/Box, George E. P, Cox, DR (1964). “Análisis de las transformaciones”. Revista de la Royal Statistical Society, Serie B. 26 (2): 211–252

aliintizar71

Recent Posts

Máquina de mano Lean, Green, Raspberry Pi

Los días felices de la PDA y Blackberry han quedado definitivamente atrás, pero el factor…

2 years ago

Cómo pronosticar series de tiempo usando autorregresión

Tutorial sobre cómo pronosticar usando un modelo autorregresivo en PythonFoto de Aron Visuals en UnsplashForecasting…

2 years ago

Aquí están todas las formas en que puede cargar su AirPods Pro

Si tienes un iPhone, los AirPods Pro son la opción obvia para escuchar música, ¡aunque…

2 years ago

Las principales noticias tecnológicas del lunes: la prohibición de clientes de terceros de Twitter parece no ser un accidente

Ilustración de Alex Castro / The Verge Plus nuevos rumores sobre el quinto Galaxy Fold.…

2 years ago

AirPods Max 2: aquí están las características más solicitadas

Se rumorea que los auriculares premium de próxima generación de Apple, los AirPods Max 2,…

2 years ago

El remake de Dead Space continúa luciendo terriblemente genial en el nuevo tráiler de la historia

El desarrollador Motive Studio y el editor EA han lanzado un nuevo tráiler de la…

2 years ago