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

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

เมื่อประมาณค่าโมเดล MA จากข้อมูล Nile แล้ว ขั้นตอนถัดไปคือการพยากรณ์เบื้องต้นด้วยโมเดลดังกล่าว เช่นเดียวกับโมเดลประเภทอื่น สามารถใช้ฟังก์ชัน predict() เพื่อพยากรณ์จากโมเดล MA ที่ประมาณค่าแล้วได้ โดยค่า $pred คือค่าพยากรณ์ และค่า $se คือค่าความคลาดเคลื่อนมาตรฐานของการพยากรณ์นั้น ซึ่งทั้งสองค่าอ้างอิงจากโมเดล MA ที่ฟิตไว้

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

ในแบบฝึกหัดนี้ จะใช้โมเดล MA ที่สร้างจากข้อมูล Nile เพื่อพยากรณ์ระดับการไหลของแม่น้ำไนล์ในอนาคต โมเดล MA จากแบบฝึกหัดก่อนหน้าพร้อมใช้งานในสภาพแวดล้อมแล้ว

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

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

ดูคอร์ส

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

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

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

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

# Make a 1-step forecast based on MA
predict_MA <-

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


# Make a 1-step through 10-step forecast based on MA


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