อนุกรมเวลา - Walk Forward Validation
ในการสร้างแบบจำลองอนุกรมเวลาการคาดการณ์เมื่อเวลาผ่านไปมีความแม่นยำน้อยลงเรื่อย ๆ และด้วยเหตุนี้จึงเป็นแนวทางที่เป็นจริงมากขึ้นในการฝึกโมเดลใหม่ด้วยข้อมูลจริงเมื่อมีให้ใช้สำหรับการคาดการณ์เพิ่มเติม เนื่องจากการฝึกอบรมแบบจำลองทางสถิติไม่ใช้เวลานานการตรวจสอบความถูกต้องโดยการเดินไปข้างหน้าจึงเป็นทางออกที่ดีที่สุดเพื่อให้ได้ผลลัพธ์ที่แม่นยำที่สุด
ให้เราใช้การตรวจสอบความถูกต้องของข้อมูลของเราในขั้นตอนเดียวและเปรียบเทียบกับผลลัพธ์ที่เราได้รับก่อนหน้านี้
ใน [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()
ใน [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 ได้เช่นกัน