Série chronologique - Validation Walk Forward

Dans la modélisation de séries chronologiques, les prédictions au fil du temps deviennent de moins en moins précises et c'est donc une approche plus réaliste pour réentraîner le modèle avec des données réelles au fur et à mesure qu'il devient disponible pour d'autres prédictions. Étant donné que la formation des modèles statistiques ne prend pas beaucoup de temps, la validation progressive est la solution la plus préférée pour obtenir des résultats plus précis.

Appliquons une étape de validation progressive sur nos données et comparons-les aux résultats obtenus précédemment.

Dans [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)

Dans [335]:

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

Dans [341]:

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

Dans [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

Nous pouvons voir que notre modèle fonctionne beaucoup mieux maintenant. En fait, la tendance est si étroitement suivie que sur le graphique, les prévisions se chevauchent avec les valeurs réelles. Vous pouvez également essayer d'appliquer la validation directe sur les modèles ARIMA.