เปรียบเทียบการพยากรณ์ SARIMA กับ ARIMA
ในแบบฝึกหัดนี้ จะได้เห็นผลกระทบของการใช้โมเดล SARIMA แทน ARIMA ในการพยากรณ์อนุกรมเวลาที่มีฤดูกาล
โมเดลสองตัว ได้แก่ ARIMA(3,1,2) และ SARIMA(0,1,1)(1,1,1)\(_{12}\) ถูกฟิตกับอนุกรมเวลาการจ้างงานในรัฐวิสคอนซิน ซึ่งเป็นโมเดล ARIMA และ SARIMA ที่ดีที่สุดตามเกณฑ์ AIC
ในแบบฝึกหัดนี้ จะใช้โมเดลทั้งสองเพื่อพยากรณ์อนาคตแบบ dynamic เป็นเวลา 25 เดือน แล้วพล็อตผลการพยากรณ์เทียบกับข้อมูลที่สำรองไว้สำหรับช่วงนั้น ซึ่งก็คือ wisconsin_test
ออบเจกต์ผลลัพธ์ ARIMA และ SARIMA ที่ฟิตแล้วพร้อมใช้งานในตัวแปร arima_results และ sarima_results
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
ARIMA Models ใน Python
คำแนะนำการฝึกหัด
- สร้างออบเจกต์การพยากรณ์ชื่อ
arima_predสำหรับโมเดล ARIMA เพื่อพยากรณ์ 25 ช่วงถัดจากข้อมูล training - ดึง attribute
.predicted_meanจากarima_predแล้วกำหนดค่าให้กับตัวแปรarima_mean - ทำซ้ำสองขั้นตอนข้างต้นสำหรับโมเดล SARIMA
- พล็อตผลการพยากรณ์ของ SARIMA และ ARIMA พร้อมกับข้อมูลที่สำรองไว้
wisconsin_test
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create ARIMA mean forecast
arima_pred = arima_results.____
arima_mean = arima_pred.____
# Create SARIMA mean forecast
sarima_pred = sarima_results.____
sarima_mean = ____
# Plot mean ARIMA and SARIMA predictions and observed
plt.plot(dates, sarima_mean, label='SARIMA')
plt.plot(dates, arima_mean, label='ARIMA')
plt.plot(wisconsin_test, label='observed')
plt.legend()
plt.show()