Chuỗi thời gian - Xác thực bước đi về phía trước

Trong mô hình chuỗi thời gian, các dự đoán theo thời gian ngày càng trở nên kém chính xác hơn và do đó, cách tiếp cận thực tế hơn để đào tạo lại mô hình với dữ liệu thực tế khi nó có sẵn cho các dự đoán tiếp theo. Vì việc đào tạo các mô hình thống kê không tốn nhiều thời gian, nên xác thực từng bước là giải pháp ưu tiên nhất để có được kết quả chính xác nhất.

Hãy để chúng tôi áp dụng xác thực từng bước một trên dữ liệu của mình và so sánh nó với kết quả chúng tôi nhận được trước đó.

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

Trong [335]:

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

Trong [341]:

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

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

Chúng tôi có thể thấy rằng mô hình của chúng tôi hiện đang hoạt động tốt hơn đáng kể. Trên thực tế, xu hướng được tuân thủ chặt chẽ đến mức các dự đoán về cốt truyện trùng lặp với các giá trị thực tế. Bạn cũng có thể thử áp dụng xác thực đi bộ trên các mô hình ARIMA.