1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Rで学ぶ予測入門

Connected

Bài tập

非季節モデルの予測精度を評価する

データサイエンスでは、学習用データ(training set) は関係性を見つけるために使うデータ、テストデータ(test set) は見つかった関係性の強さを検証するために使うデータです。データをこれらに分割する際は、一般に学習により多く、テストにより少なく割り当てます。

学習用データとテストデータを作成するのに使える関数の1つが subset() です。これは、任意の start と end 引数にインデックスを指定して、時系列から部分系列を取り出します。

> # x は数値ベクトルまたは時系列
> # 101 から 500 までの観測を抽出
> train <- subset(x, start = 101, end = 500, ...)

> # 先頭から 500 観測を抽出
> train <- subset(x, end = 500, ...)

動画で見たように、accuracy() は予測値と対応する実測値を与えると、さまざまな予測精度指標を計算します。予測対象以外の観測を多めに渡しても、関連する観測を自動で見つけてくれます。

> # f はクラス "forecast" のオブジェクト
> # x は数値ベクトルまたは時系列
> accuracy(f, x, ...)

提供される精度指標には、二乗平均平方根誤差(RMSE) が含まれます。これは平均二乗誤差(MSE)の平方根です。RMSE を最小化すること(精度が上がること)は、MSE を最小化することと同じです。

あらかじめ読み込まれている時系列 gold には、1108 日分の金の終値が含まれています。ここでは最初の 1000 日を学習用データとし、残りの 108 日を予測します。これらの予測を、実際の値と比較します。用いるのは、この章で以前に使った単純予測の naive() と、全観測の平均と同じ値を予測する meanf() です。どちらの関数でも、予測したい先の数を指定するキーワード h を設定する必要があります。

Hướng dẫn

100 XP
  • subset() を使って、gold の先頭 1000 観測からなる学習用データを作成し、train として保存します。
  • 残りのデータからなるテストセットに対して naive() で予測を計算し、naive_fc に代入します。h を適切に設定してください。
  • 同じテストセットに対して meanf() で予測を計算し、mean_fc に代入します。h を適切に設定してください。
  • accuracy() 関数を使って、2 つの方法の予測精度指標を比較します。
  • 上記の結果に基づき、より精度の高い方の予測を bestforecasts として保存します。