7.10 演習

  1. オーストラリア・ビクトリア州の30分ごとの電力需要データがvic_elecにあります。2014年1月のデータを抽出し、日次の総電力需要と最高気温に集計します。

    jan14_vic_elec <- vic_elec %>%
      filter(yearmonth(Time) == yearmonth("2014 Jan")) %>%
      index_by(Date = as_date(Time)) %>%
      summarise(
        Demand = sum(Demand),
        Temperature = max(Temperature)
      )
    1. データをプロットして、気温を予測変数とする電力需要の回帰式を見つけてください。正の関係があるのはなぜですか?

    2. 残差プロットを作ってください。モデルは適切ですか? 外れ値や影響の大きい観測値はありますか?

    3. モデルを使って、翌日の最高気温が\(15^\circ \text{C}\)として電力需要を予測し、\(35^\circ \text{C}\)だった場合の予測と比べてください。あなたはこれらの予測を信じますか? 次のRコードから始めると良いでしょう。

      jan14_vic_elec %>%
        model(TSLM(Demand ~ Temperature)) %>%
        forecast(
          new_data(jan14_vic_elec, 1) %>%
            mutate(Temperature = 15)
        ) %>%
        autoplot(jan14_vic_elec)
    4. 予測に区間予測を付けてください。

    5. vic_elec中にある全ての利用可能なデータを日次の総電力需要と最高気温に集計して、電力需要と最高気温の散布図を描いてください。あなたのモデルについて何が言えますか?

  2. olympic_runningデータセットは、1896年から2016年の五輪における短距離走、中距離走、長距離走のイベントごとの勝利時間(秒)を含んでいます。

    1. イベントごとに年に対する勝利時間をプロットしてください。プロットの主な特徴を述べてください。
    2. イベントごとに回帰線をデータに当てはめてください。勝利時間が短縮してきたのは明らかですが、平均すると年当たりどれほどのペースでしょうか?
    3. 残差を年に対してプロットしてください。当てはめた線の適切さについて何を示していますか?
    4. 2020年五輪での各レースの勝利時間を予測してください。予測には区間予測を付けてください。その計算では、何を想定していますか?
  1. 弾力性係数は予測変数(\(x\))の伸び率(%)に対する予測対象変数(\(y\))の伸び率(%)の比率です。算術としては、弾力性は\((dy/dx)\times(x/y)\)と定義されます。以下のlog-logモデルを考えてみましょう。 \[ \log y=\beta_0+\beta_1 \log x + \varepsilon \] \(y\)\(x\)の関数で表して、係数\(\beta_1\)が弾力性係数であることを示してください。

  2. souvenirsデータセットは、1987年1月に開店し、贈り物、お土産、小物を販売しているお店の月次売上高に関するものです。お店はオーストラリア・クイーンズランド州のあるビーチリゾートの埠頭にあります。売上は季節ごとの旅行者数に合わせて変動します。クリスマスのときと、1988年3月以来毎年開催されるローカルなサーフィン祭りのときに、人々が町へどっと押し寄せます。年を経て、お店は敷地を広げ、扱う商品とスタッフを増やしてきました。

    1. データの時間プロットを作成し、グラフ内のパターンを述べてください。時系列内の外れ値や予期せぬ変動を特定してください。
    2. モデルを当てはめる前にデータの対数を取る必要があるのはなぜか、説明してください。
    3. 売上高データの対数に対し、線形トレンド、季節ダミー変数、「サーフィン祭り」ダミー変数を使って、回帰モデルを当てはめてください。
    4. 残差を時間に対してと、当てはめ値に対してプロットしてください。これらのプロットからモデルに何か問題が見つかりましたか?
    5. 月ごとに残差のボックスプロットを描いてください。これでモデルに何か問題が見つかりましたか?
    6. 係数の値から各変数について何が分かりますか?
    7. Ljung-Box検定からモデルについて何が分かりますか?
    8. 以上の設問へのあなたの回答がどうであれ、あなたの回帰モデルを使って、1994年、1995年、1996年の月次売上高を予測してください。各予測には区間予測を付けてください。
    9. どうモデルを修正すると、これらの予測を改善できそうですか?
  3. us_gasoline系列は、1991年2月2日から2017年1月20日までの米国自動車用ガソリン供給量の週次データです。単位は「百万バーレル/日」です。2004年末までのデータだけを考えましょう。

    1. データにトレンド付きハーモニック回帰を当てはめてください。フーリエ項の数を変えて実験してみてください。実績値と当てはめ値の散布図を描いて、何が見えるかコメントしてください。
    2. AICc値かCV値の最小化によって、含むべきフーリエ項の適切な数を選んでください。
    3. 作成したモデルの残差を、gg_tsresiduals()関数を使ってプロットし、コメントしてください。Ljung-Box検定を使って、残差の自己相関をチェックしてください。
    4. データの翌年の予測を生成し、2005年の実績値と合わせてプロットしてください。予測についてコメントしてください。
  4. アフガニスタンの年次人口がglobal_economyデータセットに入っています。

    1. データをプロットし、その特徴についてコメントしてください。ソビエト-アフガン戦争の影響は見られますか?
    2. 線形トレンドモデルを当てはめ、1980年と1989年にノットを持つ区分線形トレンドモデルと比較してください。
    3. これら2つのモデルからデータの最後から5年先までの予測を生成し、結果についてコメントしてください。
  5. (7.9節の高度な内容を読んだ人向け)

    行列表記で\(\bm{y}=\bm{X}\bm{\beta}+\bm{\varepsilon}\)\(\bm{\varepsilon}\)は平均が\(\bm{0}\)で分散行列が\(\sigma^2\bm{I}\)だとすると、係数の推計値\(\hat{\bm{\beta}}=(\bm{X}'\bm{X})^{-1}\bm{X}'\bm{y}\)。予測\(\hat{y}=\bm{x}^*\hat{\bm{\beta}}=\bm{x}^*(\bm{X}'\bm{X})^{-1}\bm{X}'\bm{y}\)、ただし、\(\bm{x}^*\)は予測生成のための予測変数の値を含む行ベクトル(\(\bm{X}\)の一行と同じ様式)。そして、予測の分散\(\text{Var}(\hat{y})=\sigma^2 \left[1+\bm{x}^*(\bm{X}'\bm{X})^{-1}(\bm{x}^*)'\right]\)

    \(y_t = \beta_0 + \beta_1t\)で表される単純な時間トレンドモデルを考えましょう。 \[ \sum^{T}_{t=1}{t}=\frac{1}{2}T(T+1),\quad \sum^{T}_{t=1}{t^2}=\frac{1}{6}T(T+1)(2T+1) \] であることを使って、以下の式を導き出してください。

    1. \(\displaystyle\bm{X}'\bm{X}=\frac{1}{6}\left[ \begin{array}{cc} 6T & 3T(T+1) \\ 3T(T+1) & T(T+1)(2T+1) \\ \end{array} \right]\)

    2. \(\displaystyle(\bm{X}'\bm{X})^{-1}=\frac{2}{T(T^2-1)}\left[ \begin{array}{cc} (T+1)(2T+1) & -3(T+1) \\ -3(T+1) & 6 \\ \end{array} \right]\)

    3. \(\displaystyle\hat{\beta}_0=\frac{2}{T(T-1)}\left[(2T+1)\sum^T_{t=1}y_t-3\sum^T_{t=1}ty_t \right]\)

      \(\displaystyle\hat{\beta}_1=\frac{6}{T(T^2-1)}\left[2\sum^T_{t=1}ty_t-(T+1)\sum^T_{t=1}y_t \right]\)

    4. \(\displaystyle\text{Var}(\hat{y}_{t})=\hat{\sigma}^2\left[1+\frac{2}{T(T-1)}\left(1-4T-6h+6\frac{(T+h)^2}{T+1}\right)\right]\)