8.8 演習

  1. aus_livestockデータセットに入っているビクトリア州の豚屠殺数を考えてみましょう。

    1. ETS()関数を使って、単純指数平滑化と同等なモデルを推計してください。\(\alpha\)\(\ell_0\)の最適値を見つけ、次の4カ月の予測を生成してください。
    2. 次の1カ月の予測の95%区間予測を、\(\hat{y} \pm 1.96s\)、ただし、\(s\)は残差の標準偏差、を使って計算してください。あなたの計算とRが生成した区間を比べてください。
  2. 単純指数平滑化を実行するあなた自身の関数を書いてください。関数が取るべき引数は、y (時系列)、alpha (平滑化パラメータ\(\alpha\))、level (初期水準\(\ell_0\))です。返すべき値は、系列の次の観測値の予測です。ETS()と同じ予測になりましたか?

  3. 1つ前のあなたの関数を修正して、返す値を次の観測値の予測から2乗誤差和に変更してください。それから、optim()関数を使って、\(\alpha\)\(\ell_0\)の最適値を見つけてください。ETS()と同じ値になりましたか?

  4. ここまでのあなたの2つの関数を組み合わせて、\(\alpha\)\(\ell_0\)の最適値を見つけて、系列の次の観測値の予測を生成する関数を作ってください。

  5. global_economyデータセットには、多くの国の年次輸出(Exports)が入っています。1カ国選んで、分析しましょう。

    1. 輸出系列をプロットして、データの主な特徴を議論してください。
    2. ETS(A,N,N)モデルを使って系列を予測して、予測をプロットしてください。
    3. 訓練データでのRMSE値を計算してください。
    4. ETS(A,A,N)モデルの結果と比べてください。(トレンドのあるモデルはより単純なモデルよりも1つ多くパラメータを使っていることを思い出してください。)このデータセットでの、2つの予測手法の利点を議論してください。
    5. 両手法の予測を比べてください。どちらが最良と思いますか?
    6. 各モデルでの次の1年予測の95%区間予測を、RMSE値を使い、誤差は正規分布と想定して、計算してください。あなたの計算結果を、Rが生成したものと比べてください。
  6. ETSモデルを使って、global_economyデータセットに入っている中国GDPを予測しましょう。ETS()関数のさまざまなオプションで実験して、減衰トレンドにすると、あるいは、Box-Cox変換すると、予測がどれだけ変わるか見てください。各オプションが予測に何をしているのかの直観を養うようにしてください。

    [ヒント: 予測の際、比較的大きい値のhを使いましょう。そうすると、予測をプロットしたときに、さまざまなオプションでの差が明確に見えます。]

  7. aus_productionのGasデータへのETSモデルを見つけ、次の2、3年を予測してください。ここで、乗法季節性が必要なのはなぜですか? トレンドを減衰させて実験してください。それで予測は改善しましたか?

  8. (2.10節の演習8で作った)あなたの小売売上高の時系列データを、再度呼び出しましょう。

    1. この系列には乗法季節性が必要なのはなぜですか?
    2. Holt-Wintersの乗法手法をデータに適用してください。トレンドを減衰させた実験も行ってください。
    3. 2つの手法で1期先予測のRMSEを比べてください。どちらが良いですか?
    4. 最良の手法からの残差がホワイトノイズに見えるか、チェックしてください。
    5. それでは、モデルを2010年末まで訓練して、テストセットのRMSEを見つけてください。5.11節の演習7での季節ナイーブ法に勝てましたか?
  9. 同じ小売売上高データで、系列をBox-Cox変換してSTL分解した上で、季節調整値にETSを行ってみてください。あなたのここまでの最良な予測とテストセットで比べて、どうですか?

  10. tourismデータセットからオーストラリア国内の総宿泊客数を計算してください。

    1. データをプロットし、系列の主な特徴を述べてください。
    2. STLを使って系列を分解して、季節調整値を得てください。
    3. 季節調整値に対して加法減衰トレンド法を使って、系列の次の2年を予測してください。(decomposition_model()を使えば指定できます。)
    4. 季節調整値に対してHoltの線形手法を適用する適切なモデルを使って、系列の次の2年を予測してください。(ここでは、減衰トレンドはなしです。)
    5. それでは、ETS()を使って、このデータへの季節性のあるモデルを選択してください。
    6. ETSモデルのRMSEと、STL分解を使って得たモデルのRMSEを比べてください。どれが標本内ではより良く当てはまっていますか?
    7. 3つのアプローチからの予測を比べてください。どれが一番理にかなっていそうですか?
    8. あなた好みのモデルの残差をチェックしてください。
  11. この演習では、aus_arrivalsデータセットから、ニュージーランドからオーストラリアへの四半期到着者数の1981 Q1 – 2012 Q3を使いましょう。

    1. データの時間プロットを作り、系列の主な特徴を述べてください。
    2. 利用可能なデータの最後の2年分をテストセットに取って置いて、訓練セットを作ってください。Holt-Wintersの乗法手法の適切なモデルを使い、テストセットを予測してください。
    3. ここで乗法季節性が必要なのはなぜですか?
    4. 以下の手法をそれぞれ使って、2年間のテストセットを予測してください。
      • ETSモデル
      • 対数変換した系列に対する加法ETSモデル
      • 季節ナイーブ法
      • 対数変換したデータをSTL分解し、季節調整された(変換後の)データに対するETSモデル
    5. どの手法が最良の予測になっていますか? それは残差検定を合格していますか?
    6. 訓練セットとテストセットを使う替わりに、時系列交差検証を使って、同じ4つの手法を比べてください。結論は変わりましたか?
    1. 交差検証のテクニックを適用して、(aus_productionから)Portlandのセメント生産量(Cement)の1年先までの予測を、ETSと季節ナイーブ法を使って生成してください。訓練セットは初期サイズ5年で、そこから1観測値ずつ延ばしてください。
    2. \(4\)期先誤差結果のMSEを比べてください。どちらのモデルがより正確かコメントしてください。結果は思っていた通りでしたか?
  12. 以下の5つの時系列で、ETS()SNAIVE()decomposition_model(STL, ???)を比べてください。STL分解予測にはBox-Cox変換を使う必要があるかもしれません。最良の予測を生成するモデルを決めるには、3年分のテストセットを使ってください。

    • aus_productionから、ビール(Beer)とれんが(Bricks)の生産量
    • PBSから、抗糖尿病薬 (ATC2 == "A10") とコルチコステロイド (ATC2 == "H02")への医薬品補助費用
    • aus_retailから、オーストラリア全国の食品小売業(Food retailing)の総売上高
    1. ETS()を使って、以下の系列で適切なモデルを選んでください。

      • tourismから、オーストラリア国内の総宿泊客数
      • gafa_stockから、4つの株式の終値
      • peltから、山猫(Lynx)系列

      それはいつも良い予測を与えてくれますか?

    2. それが上手く機能しない例を見つけてください。どうしてだか分かりますか?

  13. ETS(M,A,M)モデルからの点予測は、Holt-Wintersの乗法手法を使って得られるものと同じであることを示してください。

  14. ETS(A,N,N)モデルの予測分散は、以下で与えられることを示してください。 \[ \sigma^2\left[1+\alpha^2(h-1)\right] \]

  15. ETS(A,N,N)モデルの95%区間予測を、誤差は正規分布と想定して、\(\ell_T\)\(\alpha\)\(h\)\(\sigma\)の関数として書き出してください。