Outliers Patterns 與 ARIMA 配適

用 R 來舉例:

library(forecast)
library(tsoutliers)

y <- ts(c(30,32,34,35,36,38,39,78,77,79,84,89,90,95,140,92,93,96,94,91))

outliers_patterns <-  outliers(c('LS','TC'),c(8,15))
outliers_patterns_effect <- outliers.effects(outliers_patterns,n=length(y))

aa <- auto.arima(y, xreg=outliers_patterns_effect)

plot(aa$x)
lines(aa$x - residuals(aa),col='red')


上述在第 8 期發生 Level Shift 而在 第 15 期有 Temporary Change。

1. 使用 tsoutliers 中的 outliers.effects 產生事件列。
2. 將事件列作為回歸的解釋變數
3. 使用 arima 對 residuals 進行配適
4. 結果如上圖。

如果沒有事件列的輔助,則會發生遲延情況如下:

aa0 <- auto.arima(y)

plot(aa0$x)
lines(aa0$x - residuals(aa0),col='green')
只有 Level Shift 事件時,如下:

只有 Temporary Change 事件時,如下:




留言

這個網誌中的熱門文章

標準差與 Wald 統計量

可能性比檢定(Likelihood ratio test)

Wold Decomposition Theorem