SES と naive の比較
この演習では、Chapter 2 で学んだトレーニングセットとテストセット、subset() 関数、accuracy() 関数の知識を使って、marathon データに対する SES と naive の予測を比較します。
以前の演習「非季節モデルの予測精度を評価する」で、naive と mean の予測を比較したのととても似た手順です。
流れを確認しましょう。
- まずデータをインポートして読み込みます。どれだけをトレーニング用、どれだけをテスト用に割り当てるかを決めます。両者は重ならないようにします。
- データをサブセットしてトレーニングセットを作成します。これは予測関数の引数として使います。必要に応じて、後で使うテストセットも作成できます。
- 選んだ予測関数でトレーニングセットの予測を計算し、
hを予測したい値の個数(テストセットの長さと同じ)に設定します。 - 結果を確認するには、
accuracy()関数を使い、予測を第1引数、元のデータ(またはテストセット)を第2引数に渡します。 - 出力の中から RMSE や MAE などの指標を選び、予測を評価します。誤差が小さいほど精度が高いことを示します。
marathon データはワークスペースに読み込まれています。
この演習はコースの一部です
Rで学ぶ予測入門
演習の手順
subset()を使って、marathonのうち最後の 20 年分をテスト用に残し、それ以外すべてを含むトレーニングセットを作成します。- このトレーニングセットに対して SES と naive の予測を計算し、それぞれ
fcsesとfcnaiveに保存します。 - コンソールで
accuracy()関数を使い、2 つの予測の精度指標を計算します。 - テストセットの RMSE に基づいて、より良いほうの予測(
fcsesまたはfcnaive)をfcbestに代入します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create a training set using subset()
train <- ___(___, end = length(marathon) - ___)
# Compute SES and naive forecasts, save to fcses and fcnaive
fcses <- ses(___, h = ___)
fcnaive <- naive(___, h = ___)
# Calculate forecast accuracy measures
accuracy(___, ___)
accuracy(___, ___)
# Save the best forecasts as fcbest
fcbest <- ___