拡張ウィンドウ

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

Harrison Brown

Graduate Researcher in Geography

ローリング vs 拡張ウィンドウ

ローリングウィンドウ:

  • 開始点が移動
  • 幅は固定

拡張ウィンドウ:

  • 開始点は固定
  • 幅は増加
Rで学ぶ時系列データ操作

拡張ウィンドウの流れ

ウィンドウ幅の増加:

  • 観測1で幅1、
  • 観測2で幅2、
  • 観測3で幅3、
  • ...

利用可能データの要約は?

開始点は固定:

  • すべてのウィンドウは系列の先頭から開始

時系列の拡張ウィンドウの概念図。1〜4のラベル付きの4つの箱が横に並び、概念的な時系列を表す。下に、長さが増える4本の水平線があり、最初の線は左端から1つ目の箱の終わりまで、2本目は2つ目の箱、以降同様に伸びる。

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

拡張ウィンドウの計算

Rでの拡張ウィンドウ:

  • zoo::rollapply() を使用
  • width は単一数値またはベクトル

拡張ウィンドウの幅:

  • 1, 2, 3, 4, ...

数列を作る関数:

  • base::seq_along()
seq_along(daily_temp)
[1] 1 2 3 4 5 6 7 8 9 ...
    ... 363 364 365
Rで学ぶ時系列データ操作

拡張ウィンドウの計算

exp_widths <- seq_along(daily_temp)

exp_widths
[1] 1 2 3 4 5 ... 363 364 365
temp_expand <- 
  rollapply(
    data = daily_temp,
    FUN = mean,
    width = exp_widths,
    # Alignment must be 'right'
    align = 'right'
  )
Rで学ぶ時系列データ操作

拡張ウィンドウのプロット

ggplot() + 
# Original data
  geom_line(data = daily_temp,
            aes(x = Index,
            y = daily_temp),
            color = 'grey50') +

# Expanding window plot geom_line(data = temp_expand, aes(x = Index, y = temp_expand), color = 'red') + theme_light() + labs(y = 'Degrees Celsius')

日次気温の時系列プロット。日ごとの変動が大きい「ノイズの多い」灰色の線が元データを示す。その上に、データセットの拡張平均を示す赤い線が重なる。

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

拡張ウィンドウの示唆

  • 統計量は全体要約に近づく
  • 拡張平均は変化に鈍感になる
  • 初期の観測ほど変化に敏感

日次気温の時系列プロット。日ごとの変動が大きい「ノイズの多い」灰色の線が元データを示す。その上に、データセットの拡張平均を示す赤い線が重なる。

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

Passons à la pratique !

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

Preparing Video For Download...