變異數穩定的轉換

R 的時間序列預測

Rob J. Hyndman

Professor of Statistics at Monash University

變異數穩定

  • 若資料在序列水準越高時,變異越大,可考慮使用轉換

  • $y_1,...,y_n$:原始觀測,$w_1,...,w_n$:轉換後觀測

平方根 $w_t = \sqrt{y_t}$ $\downarrow$
立方根 $w_t = \sqrt[3]{y_t}$ 影響力遞增
對數 $w_t = \text{log}(y_t)$ 強度
反比 $w_t = -1/y_t$ $\downarrow$
R 的時間序列預測

變異數穩定

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

ch4_vid1_vs_0.png

R 的時間序列預測

變異數穩定

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

ch4_vid1_vs_1.png

R 的時間序列預測

變異數穩定

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

ch4_vid1_vs_2.png

R 的時間序列預測

變異數穩定

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

ch4_vid1_vs_3.png

R 的時間序列預測

變異數穩定

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

ch4_vid1_vs_4.png

R 的時間序列預測

Box-Cox 轉換

  • 這些轉換都接近 Box-Cox 轉換族的一員

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

  • $\lambda = 1 \ $:無實質轉換
  • $\lambda = \frac{1}{2} \ $:平方根加線性轉換
  • $\lambda = \frac{1}{3} \ $:立方根加線性轉換
  • $\lambda = 0 \ $:自然對數轉換
  • $\lambda = -1 \ $:反比轉換
R 的時間序列預測

Box-Cox 轉換

BoxCox.lambda(usmelec)
-0.5738331
R 的時間序列預測

反轉換

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

ch4_vid1_back.png

R 的時間序列預測

一起來練習吧!

R 的時間序列預測

Preparing Video For Download...