Transformations pour stabiliser la variance

Prévision en R

Rob J. Hyndman

Professor of Statistics at Monash University

Stabilisation de la variance

  • Si la variation augmente avec le niveau de la série, une transformation peut aider

  • $y_1,...,y_n$ : observations initiales, $w_1,...,w_n$ : observations transformées

Racine carrée $w_t = \sqrt{y_t}$ $\downarrow$
Racine cubique $w_t = \sqrt[3]{y_t}$ Croissante
Logarithme $w_t = \text{log}(y_t)$ Intensité
Inverse $w_t = -1/y_t$ $\downarrow$
Prévision en R

Stabilisation de la variance

autoplot(usmelec) +
  xlab("Year") + ylab("") +
  ggtitle("US monthly net electricity generation")

ch4_vid1_vs_0.png

Prévision en R

Stabilisation de la variance

autoplot(usmelec^0.5) +
  xlab("Year") + ylab("") +
  ggtitle("Square root electricity generation")

ch4_vid1_vs_1.png

Prévision en R

Stabilisation de la variance

autoplot(usmelec^0.33333) +
  xlab("Year") + ylab("") +
  ggtitle("Cube root electricity generation")

ch4_vid1_vs_2.png

Prévision en R

Stabilisation de la variance

autoplot(log(usmelec)) +
  xlab("Year") + ylab("") +
  ggtitle("Log electricity generation")

ch4_vid1_vs_3.png

Prévision en R

Stabilisation de la variance

autoplot(-1/usmelec) +
  xlab("Year") + ylab("") +
  ggtitle("Inverse electricity generation")

ch4_vid1_vs_4.png

Prévision en R

Transformations de Box-Cox

  • Chacune de ces transformations est proche d'un membre de la famille de transformations de Box-Cox

$$w_t = \begin{cases} log(y_t) & \lambda = 0 \\ (y_t^\lambda - 1)/\lambda & \lambda \neq 0 \end{cases}$$

  • $\lambda = 1 \ $ : Aucune transformation significative
  • $\lambda = \frac{1}{2} \ $ : Racine carrée plus transformation linéaire
  • $\lambda = \frac{1}{3} \ $ : Racine cubique plus transformation linéaire
  • $\lambda = 0 \ $ : Transformation par logarithme naturel
  • $\lambda = -1 \ $ : Transformation inverse
Prévision en R

Transformations de Box-Cox

BoxCox.lambda(usmelec)
-0.5738331
Prévision en R

Rétrotransformation

usmelec %>%
  ets(lambda = -0.57) %>%
  forecast(h = 60) %>%
  autoplot()

ch4_vid1_back.png

Prévision en R

Passons à la pratique !

Prévision en R

Preparing Video For Download...