อนุกรมเวลา - 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 ได้เช่นกัน