Transformaciones que estabilizan la varianza
De acuerdo a lo visto anteriormente, es necesario contar con herramientas para estabilizar la varianza caso sea no existe homogeneidad en ésta y sea una función con constante del tiempo.
La herramienta más común y tradicional para estos escenarios es la transformación de Box-Cox.
La transformación de Box-Cox es un caso general de varias otras transformaciones comunes.
Sea \(\{y_t\}\) la serie original, la serie transformada está dada por \(\{w_t\}\) donde \[ w_t=\begin{cases} \log(y_t), & \lambda=0, \\ \frac{y_{t}^{\lambda} - 1}{\lambda}, & \lambda\neq 0 \end{cases} \]
Siempre que \(-1\leq\lambda\leq 1\)
Algunos casos particulares de la transformación Box-Cox
- \(\lambda =1 \ \ \) No hay transformación
- \(\lambda =\frac{1}{2} \ \ \) raíz cuadrada y transformación lineal
- \(\lambda =\frac{1}{3} \ \ \) raíz cúbica y transformación lineal
- \(\lambda =0 \ \ \) Logaritmo natural
- \(\lambda =-1 \ \ \) Inversa
Para ejemplificar.
library(ggfortify)
library(dplyr)
library(car)
library(forecast)
#library(FitAR)
library(DT)
library(TSstudio)data("AirPassengers")
end(AirPassengers)## [1] 1960 12
z1<-AirPassengers
z1<-ts(z1, start = c(1949,1), end=c(1960,12), frequency = 12)
ts_plot(z1, color = "red", slider = TRUE, title = "Airpassengers")head(z1)## Jan Feb Mar Apr May Jun
## 1949 112 118 132 129 121 135
summary(z1)## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 104.0 180.0 265.5 280.3 360.5 622.0
sd(z1)## [1] 119.9663
Transformación Con logaritmo
log_z1<-log(z1)
ts_plot(log_z1)summary(log_z1)## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 4.644 5.193 5.582 5.542 5.887 6.433
sd(log_z1)## [1] 0.4414564
Box Cox con lambda=-1
x1<-forecast::BoxCox(z1,lambda = -1)
ts_plot(x1)Boxcox con Lambda= 0.5
x2<-forecast::BoxCox(z1,lambda = 0.5)
ts_plot(x2)Funcion para elegir lambda
forecast::BoxCox.lambda(z1)## [1] -0.2947156
x3<-forecast::BoxCox(z1,-0.2947156)
ts_plot(x3)sd(x3)## [1] 0.08755705