13.7 超長期と超短期の時系列

超短期時系列の予測

どれだけ少ないデータ数まで時系列モデルは適合できるのか、と尋ねられることがよくあります。標本規模に関するほとんど全ての質問と同様、簡単な答えはありません。推計が必要なモデルのパラメータ数とデータのランダムさの程度によります。推計が必要なモデルのパラメータ数とデータのランダムさの程度が増えるほど、必要な標本規模も増えます。

さまざまな時系列で最低限必要な標本規模を大雑把に決めるルールを提供している教科書もあります。それらは誤解を招きやすく、理論にも実務にも根拠がありません。さらに、データの根底にある変動を無視し、推計が必要なパラメータ数もしばしば見落としています。例えば、ARIMAモデルでよく言われる最低30という魔法の数を正当化するものはありません。理論上の限界は、予測モデルのパラメータ数よりも多い観測値が必要なことだけです。しかし、実務上は、それよりもずっと多い観測値が必要です。

理想的には、いくつかの単純なアプローチと比べて、選択したモデルが良い性能を標本外で発揮するか、テストしたいものです。しかし、短い系列では、テスト目的にいくつか観測値を取って置けるほどのデータがありませんし、時系列交差検証でさえ適用が難しいかもしれません。AICcは、1期先予測の標本外MSEの代理なので、ここでは特に役に立ちます。AICc値を最小化するモデルを選ぶことで、パラメータ数とノイズの程度の両方を考慮することができます。

短い系列では、パラメータ数が1、2を超えると推計誤差のせいで良くない予測を生成するため、AICcは単純なモデルを薦る傾向があります。M3コンペからの20未満の観測値しかない年次系列にARIMAモデルを適合させて、AICc最小化でモデルを選ばせてみましょう。まず、関連する系列を含むtsibbleを作り出す必要があります。

m3totsibble <- function(z) {
  bind_rows(
    as_tsibble(z$x) %>% mutate(Type = "Training"),
    as_tsibble(z$xx) %>% mutate(Type = "Test")
  ) %>%
    mutate(
      st = z$st,
      type = z$type,
      period = z$period,
      description = z$description,
      sn = z$sn,
    ) %>%
    as_tibble()
}
short <- Mcomp::M3 %>%
  subset("yearly") %>%
  purrr::map_dfr(m3totsibble) %>%
  group_by(sn) %>%
  mutate(n = max(row_number())) %>%
  filter(n <= 20) %>%
  ungroup() %>%
  as_tsibble(index = index, key = c(sn, period, st))

やっと、各系列にARIMAモデルを適用できます。

short_fit <- short %>%
  model(arima = ARIMA(value))

152個の系列のうち、 21個はパラメータ数ゼロのモデル(ホワイトノイズとランダムウォーク)が、 86個はパラメータ数1個のモデルが、 31個はパラメータ数2個のモデルが、 13個はパラメータ数3個のモデルが、 1個の系列だけパラメータ数4個のモデルが選ばれました。

超長期時系列の予測

ほとんどの時系列モデルが超長期時系列では上手く機能しません。問題は、私たちが使用するモデルが実際のデータを生成しているわけではないことです。観測値の数が大きくない(約200といったところ)場合、どんな過程がデータを生成していようと、モデルは近似として上手く機能するのが普通です。しかし、観測値の数が十分に大きくなると、最終的には、真の過程とモデルの差がより明白になります。もう一つの問題は、観測値の数が増えることで、パラメータの最適化にもっと時間がかかるようになることです。

これらの問題にどう対処するかは、モデルの目的によります。より柔軟で複雑なモデルを使ったとしても、モデル構造がデータの全期間にわたって機能すると想定することに変わりありません。より良いアプローチは通常、モデル自身が時を経て変化できるようにすることです。ETSモデルは、トレンド項と季節項が時を経て進化できるようにして、この状況を取り扱えるように設計されています。差分化を含むARIMAモデルにも似た性質があります。しかし、動学的回帰モデルではモデルの成分は進化できません。

興味があるのが次の2、3の観測値だけの予測なら、一つの単純なアプローチは古い方の観測値を捨て去って、最近の観測値だけにモデルを適合させることです。こうすれば、関係が大きく変化するほどの時間がないので、柔軟でないモデルでも上手く機能できます。

例えば、13.1節では、週次ガソリン生産量の26年分に動学的ハーモニック回帰モデルを適合させました。30年近くも季節パターンが変わらないと想定することは、たぶん非現実的です。ですから、替わって、最近の数年にだけモデルを適合させることができるでしょう。