เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การพยากรณ์เบื้องต้นจากโมเดล AR ที่ประมาณค่าแล้ว

เมื่อสร้างโมเดลจากข้อมูลด้วยคำสั่ง arima() แล้ว ขั้นตอนต่อไปคือการพยากรณ์จากโมเดลนั้น ฟังก์ชัน predict() ใช้สำหรับพยากรณ์จากโมเดล AR ที่ประมาณค่าแล้ว ในออบเจกต์ที่ได้จากคำสั่ง predict() ค่า $pred คือค่าพยากรณ์ และค่า $se คือค่าความคลาดเคลื่อนมาตรฐานของการพยากรณ์

หากต้องการพยากรณ์หลายช่วงเวลาถัดจากการสังเกตล่าสุด ให้ใช้อาร์กิวเมนต์ n.ahead ในคำสั่ง predict() อาร์กิวเมนต์นี้กำหนดขอบฟ้าการพยากรณ์ (h) หรือจำนวนช่วงเวลาที่ต้องการพยากรณ์ โดยการพยากรณ์จะดำเนินการแบบวนซ้ำตั้งแต่ 1 ถึง h ช่วงล่วงหน้าจากจุดสิ้นสุดของอนุกรมเวลา

ในแบบฝึกหัดนี้ จะฝึกพยากรณ์เบื้องต้นโดยใช้โมเดล AR กับข้อมูล Nile ซึ่งบันทึกปริมาณการไหลของแม่น้ำไนล์รายปีตั้งแต่ปี 1871 ถึง 1970

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การวิเคราะห์อนุกรมเวลาใน R

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ใช้ arima() เพื่อฟิตโมเดล AR กับอนุกรมเวลา Nile แล้วบันทึกผลลัพธ์เป็น AR_fit
  • ใช้ predict() เพื่อพยากรณ์ปริมาณการไหลของแม่น้ำไนล์ในปี 1971
  • ใช้ predict_AR ร่วมกับ $pred[1] เพื่อดูค่าพยากรณ์ 1 ช่วงล่วงหน้า
  • เรียกใช้ predict() อีกครั้งเพื่อพยากรณ์ตั้งแต่ 1 ถึง 10 ช่วงล่วงหน้า (ปี 1971 ถึง 1980) โดยกำหนด n.ahead เท่ากับ 10
  • รันโค้ดที่เตรียมไว้ให้เพื่อพล็อตข้อมูล Nile พร้อมค่าพยากรณ์และช่วงความเชื่อมั่น 95%

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Fit an AR model to Nile
AR_fit <- arima(___, order  = ___)
print(AR_fit)

# Use predict() to make a 1-step forecast
predict_AR <- predict(___)

# Obtain the 1-step forecast using $pred[1]


# Use predict to make 1-step through 10-step forecasts
predict(___, n.ahead = ___)

# Run to plot the Nile series plus the forecast and 95% prediction intervals
ts.plot(Nile, xlim = c(1871, 1980))
AR_forecast <- predict(AR_fit, n.ahead = 10)$pred
AR_forecast_se <- predict(AR_fit, n.ahead = 10)$se
points(AR_forecast, type = "l", col = 2)
points(AR_forecast - 2*AR_forecast_se, type = "l", col = 2, lty = 2)
points(AR_forecast + 2*AR_forecast_se, type = "l", col = 2, lty = 2)
แก้ไขและรันโค้ด