Time-series-walk-forward-validation

提供:Dev Guides
移動先:案内検索

時系列-ウォークフォワード検証

時系列モデリングでは、時間の経過に伴う予測の精度が低下するため、実際のデータでモデルを再トレーニングして、さらに予測できるようになると、より現実的なアプローチになります。 統計モデルのトレーニングには時間がかかりませんので、最も正確な結果を得るためには、ウォークフォワード検証が最も推奨されるソリューションです。

データにワンステップウォークフォワード検証を適用して、以前に得た結果と比較してみましょう。

[333]で:

prediction = []
data = train.values
for t In test.values:
   model = (ExponentialSmoothing(data).fit())
   y = model.predict()
   prediction.append(y[0])
   data = numpy.append(data, t)

[335]で:

test_ = pandas.DataFrame(test)
test_['predictionswf'] = prediction

[341]で:

plt.plot(test_['T'])
plt.plot(test_.predictionswf, '--')
plt.show()

コードスニペット18

[340]で:

error = sqrt(metrics.mean_squared_error(test.values,prediction))
print ('Test RMSE for Triple Exponential Smoothing with Walk-Forward Validation: ', error)
Test RMSE for Triple Exponential Smoothing with Walk-Forward Validation:  11.787532205759442

モデルのパフォーマンスが大幅に向上していることがわかります。 実際、傾向は非常に厳密に追跡されるため、プロット上で予測が実際の値と重なっています。 ARIMAモデルにもウォークフォワード検証を適用してみてください。