Red de conocimiento informático - Aprendizaje de código fuente - Notas de series temporales: transformación Box-Cox

Notas de series temporales: transformación Box-Cox

Pista "Series temporales con R" en datacamp

Notas correspondientes al curso "Predicciones usando R".

No dudes en consultarnos.

El curso es "Pronóstico con R", que utiliza el paquete de pronóstico.

El libro de texto de este curso es "Forecasting":

Los datos de este curso están disponibles en el paquete fpp2

Esta nota sirve como complemento a la anterior: Descripción de la serie temporal: tendencia y eliminación de tendencia

Para algunos datos de series temporales, la varianza tiende a aumentar a medida que aumenta el nivel. Si utilizamos un modelo ETS, podemos seleccionar un modelo de producto para tener en cuenta la tendencia de variación creciente. Otro enfoque consiste en transformar los datos originales de modo que la varianza de la serie transformada sea estacionaria.

Echemos un vistazo a la secuencia original y a la secuencia transformada.

Los métodos comunes de conversión de datos son:

Los cuatro métodos anteriores son: Cuanto mayor es el valor, mayor es el cambio y la intensidad de la conversión aumenta en secuencia.

Tomemos como ejemplo los datos de a10, que contienen datos de ventas mensuales de medicamentos antidiabéticos en Australia de 1991 a 2008.

Imagen original:

Cuadrado transformación de raíz:

Transformación logarítmica:

Las cuatro transformaciones anteriores en realidad pueden corresponder a una transformación especial de Box-cox.

La transformación Box-Cox toma la forma:

La ventaja de utilizar la transformación Box-Cox es que el valor λ se puede utilizar para variar continuamente la fuerza de la transformación. El rango recomendado de valores de λ es:

Estoy tomando un curso de series de tiempo aquí, por lo que solo me estoy enfocando en la capacidad de la transformación Box-Cox para mejorar el aumento gradual de la varianza del tiempo. datos de la serie. Para datos que no son series de tiempo, la transformación Box-Cox se utiliza a menudo para mejorar la normalidad, la simetría y la homogeneidad de la varianza de los datos.

La transformación BoxCox se puede realizar utilizando BoxCox(x, lambda) del paquete de predicción. También puedes usar InvBoxCox(x, lambda) para invertir BoxCox.

Además, BoxCox.lambda(x) en el paquete de predicción puede seleccionar automáticamente un λ adecuado para usted

0,1313326 es el valor de λ más adecuado seleccionado por BoxCox.lambda(), De hecho, es el valor de λ entre la transformación de raíz cúbica y la transformación logarítmica.