再標本化と集計

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

Harrison Brown

Graduate Researcher in Geography

サンプリング頻度

頻度:

  • 年あたりの観測数
  • 例: 週次、日次、月次…

時間解像度:

  • 「高解像度」= サンプリング頻度が高い
  • 「低解像度」= サンプリング頻度が低い
  • 「高」「低」は相対的

概念図:低解像度グリッドと高解像度グリッド。サンプリング頻度の多寡を示します。

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

集計

  • 高解像度 → 低解像度
  • 期間ごとに mean、sum、max などを適用
  • 例:
    • 日次データの月次 sum
    • 時間値の週次 mean
    • ...
  • 集計は「逆戻し」不可
  • 月次合計から日次に?
  • パターン把握の統計量を提供
  • 集計は情報を減らす
Rで学ぶ時系列データ操作

xts でのデータ集計

xts:

  • eXtensible Time Series(拡張可能時系列)
  • zoo パッケージと zoo クラスを拡張
  • apply.*() 関数
yearly_mean <-
  apply.yearly(x = maunaloa,
               FUN = mean)
autoplot(yearly_mean) + 
  labs(...)

マウナロアデータを年平均に集計したグラフ。元データの年内変動は小さくなり、サンプリング解像度が低いため線は滑らかです。

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

xts でのデータ集計

マウナロアの時系列(週次の二酸化炭素濃度)。全体は上昇傾向で、毎年季節的なピークがあります。

マウナロアデータを年平均に集計したグラフ。元データの年内変動は小さくなり、サンプリング解像度が低いため線は滑らかです。

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

apply ドット関数

daily_total <-
  apply.daily(hourly_sales,
              FUN = sum)
weekly_max <-
  apply.weekly(daily_temperature,
               FUN = max)
monthly_average <-
  apply.monthly(daily_price,
               FUN = mean)
apply.quarterly(sales_report,
                FUN = sum)
apply.yearly(monthly_salary,
             FUN = sum)
Rで学ぶ時系列データ操作

endpoints と period.apply

xts::endpoints()

xts::period.apply()

biweekly_eps <-
  endpoints(x = daily_data,
            on = "weeks",
            k = 2)
biweekly_data <-
  period.apply(x = daily_data,
               INDEX = biweekly_eps,
               FUN = mean)
biweekly_data
2002-05-05 8.148611
2002-05-19 8.146776
2002-06-02 8.060020
2002-06-16 8.028224
2002-06-30 7.944792
2002-07-14 7.930159
...
Rで学ぶ時系列データ操作

Passons à la pratique !

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

Preparing Video For Download...