ローリングウィンドウとは?

Rで学ぶ時系列データ操作

Harrison Brown

Graduate Researcher in Geography

ウィンドウ

  • ウィンドウは観測の限られた範囲

時系列ウィンドウとPCモニターのスクロールバーの類似性を示す概念図。

Rで学ぶ時系列データ操作

ウィンドウ

元データ:

FTSEの時系列プロット。全体に上昇傾向。

ウィンドウ:

FTSEデータに基づく時系列ウィンドウのプロット。全体(1991–1999)のうち1992–1993を切り出した小区間。

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で学ぶ時系列データ操作

Ayo berlatih!

Rで学ぶ時系列データ操作

Preparing Video For Download...