什麼是移動視窗?

在 R 中操作時間序列資料

Harrison Brown

Graduate Researcher in Geography

視窗

  • 視窗是觀測值的有限區間

概念類比:時間序列的視窗就像電腦螢幕上的捲動條。

在 R 中操作時間序列資料

視窗

原始資料:

FTSE 時間序列的折線圖,資料呈現整體上升趨勢。

視窗:

以 FTSE 資料集為基礎的時間序列視窗。視窗範圍為 1992 至 1993,是整體資料(1991 至 1999)的較小子集。

在 R 中操作時間序列資料

全域摘要統計

mean(ftse)
[1] 3565.643
autoplot(ftse) + 
  geom_hline(
    yintercept = mean(ftse)
  ) + 
  ...

全域平均:

FTSE 時間序列圖,上方有一條約在 3,500 高度的藍色虛線,代表資料集的全域(整體)平均。

在 R 中操作時間序列資料

移動視窗

  • 衡量資料隨時間移動時統計量如何變化

FTSE 時間序列圖。

  • 以紅線疊加繪出移動平均,覆蓋在原始資料上

FTSE 時間序列圖,紅線為資料的移動平均。移動平均緊貼原始序列,整體呈上升趨勢。

在 R 中操作時間序列資料

使用 zoo 做移動計算

  • zoo::rollmean()
  • zoo::rollsum()
  • zoo::rollmax()
rollmean(ftse,
         k = 30,
         align = 'right',
         fill = NA)
在 R 中操作時間序列資料

視窗參數

ftse_rm_right <-
  rollmean(ftse,
           k = 7,
           align = "right",
           fill = NA)
  • k:視窗大小
  • align:視窗對齊方式
  • fill:視窗外要填入的值
ftse_rm_right
[1]    NA
[2]    NA
[3]    NA
[4]    NA
[5]    NA          
[6]    NA
[7]    2465.971
[8]    2475.229
[9]    2482.414
...
在 R 中操作時間序列資料

NA 值

ftse_rm_right
 [1]    NA
 [2]    NA
 [3]    NA
 [4]    NA
 [5]    NA          
 [6]    NA
 [7]    2465.971
 [8]    2475.229
 [9]    2482.414
...
sum(is.na(ftse_rm_right))
[1] 6
在 R 中操作時間序列資料

視窗對齊

對齊方式:

  • 右對齊
data_rm <- rollmean(
  data,
  k = 7,
  fill = NA,
  align = "right"
)

時間序列覆蓋右對齊視窗的圖。此圖示說明視窗對齊參數決定移動函式輸出的「放置」位置;右對齊會把輸出放在其操作視窗的右側。

在 R 中操作時間序列資料

視窗對齊

對齊方式:

  • 左對齊
data_rm <- rollmean(
  data,
  k = 7,
  fill = NA,
  align = "left"
)

時間序列覆蓋左對齊視窗的圖。此圖示說明視窗對齊參數決定移動函式輸出的「放置」位置;左對齊會把輸出放在其操作視窗的左側。

在 R 中操作時間序列資料

視窗對齊

對齊方式:

  • 置中對齊
data_rm <- rollmean(
  data,
  k = 7,
  fill = NA,
  align = "center"
)

時間序列覆蓋置中對齊視窗的圖。此圖示說明視窗對齊參數決定移動函式輸出的「放置」位置;置中對齊會把輸出放在其操作視窗的中間。

在 R 中操作時間序列資料

一起來練習吧!

在 R 中操作時間序列資料

Preparing Video For Download...