หากวัตถุประสงค์ของแบบจำลองของคุณคือการคาดการณ์และการคาดการณ์คำตอบสั้น ๆ คือใช่ แต่ความคงที่ไม่จำเป็นต้องอยู่ในระดับ
ฉันจะอธิบาย หากคุณต้มการพยากรณ์ลงในรูปแบบพื้นฐานที่สุดมันจะเป็นการสกัดค่าคงที่ พิจารณาสิ่งนี้: คุณไม่สามารถคาดการณ์สิ่งที่เปลี่ยนแปลง ถ้าฉันบอกคุณในวันพรุ่งนี้จะแตกต่างจากในทุกด้านเท่าที่จะจินตนาการได้คุณจะไม่สามารถคาดการณ์ได้
เมื่อคุณสามารถขยายบางสิ่งบางอย่างตั้งแต่วันนี้ถึงวันพรุ่งนี้คุณสามารถคาดการณ์ได้ทุกประเภท ฉันจะให้คุณตัวอย่าง
- x^t + 1= xเสื้อ
- v = 60xเสื้อ∼ v t
- เพื่อนบ้านของคุณเมาทุกวันศุกร์ เขาจะเมาวันศุกร์หน้าหรือไม่ ใช่ตราบใดที่เขาไม่เปลี่ยนพฤติกรรมของเขา
- และอื่น ๆ
ในทุกกรณีของการคาดการณ์ที่สมเหตุสมผลเราจะแยกบางสิ่งที่คงที่จากกระบวนการและขยายไปสู่อนาคต ดังนั้นคำตอบของฉัน: ใช่อนุกรมเวลาจะต้องหยุดนิ่งหากความแปรปรวนและค่าเฉลี่ยเป็นค่าคงที่ที่คุณจะขยายสู่อนาคตจากประวัติศาสตร์ นอกจากนี้คุณต้องการให้ความสัมพันธ์กับ regressors มีเสถียรภาพเช่นกัน
เพียงระบุสิ่งที่ไม่แปรเปลี่ยนในแบบจำลองของคุณไม่ว่าจะเป็นระดับเฉลี่ยอัตราการเปลี่ยนแปลงหรืออย่างอื่น สิ่งเหล่านี้จำเป็นต้องเหมือนเดิมในอนาคตหากคุณต้องการให้แบบจำลองของคุณมีพลังการพยากรณ์ใด ๆ
ตัวอย่าง Holt Winters
ตัวกรอง Holt Winters ถูกกล่าวถึงในความคิดเห็น มันเป็นตัวเลือกยอดนิยมสำหรับการปรับให้เรียบและคาดการณ์ซีรีย์ตามฤดูกาลบางชนิด โดยเฉพาะอย่างยิ่งมันสามารถจัดการซีรีส์ที่ระดับเฉลี่ยเติบโตเป็นเส้นตรงกับเวลา ในคำอื่น ๆ ที่มีความลาดชันที่มีเสถียรภาพ ในคำศัพท์ของฉันความชันเป็นหนึ่งในค่าคงที่ที่วิธีนี้แยกออกจากซีรีส์ เรามาดูกันว่ามันจะล้มเหลวอย่างไรเมื่อความลาดชันไม่เสถียร
ในพล็อตนี้ฉันกำลังแสดงซีรีส์ที่กำหนดขึ้นพร้อมกับการเติบโตแบบเอ็กซ์โปเนนเชียลและฤดูกาลเพิ่มเติม กล่าวอีกนัยหนึ่งความชันยังคงเพิ่มขึ้นตามเวลา:
คุณสามารถดูว่าตัวกรองดูเหมือนจะพอดีกับข้อมูลได้ดีเพียงใด เส้นประกอบเป็นสีแดง อย่างไรก็ตามหากคุณพยายามทำนายด้วยตัวกรองนี้มันจะล้มเหลวอย่างน่าสังเวช เส้นที่แท้จริงคือสีดำและสีแดงถ้ามีขอบเขตความเชื่อมั่นสีน้ำเงินในพล็อตถัดไป:
เหตุผลที่ทำให้มันล้มเหลวนั้นง่ายต่อการมองเห็นโดยการตรวจสอบสมการของโฮลท์วินเทอร์ มันแยกความลาดชันจากอดีตและขยายไปสู่อนาคต วิธีนี้ใช้งานได้ดีมากเมื่อความลาดชันมีเสถียรภาพ แต่เมื่อมันเพิ่มขึ้นอย่างต่อเนื่องตัวกรองไม่สามารถรักษาได้มันเป็นขั้นตอนเดียวที่อยู่ข้างหลัง
รหัส R:
t=1:150
a = 0.04
x=ts(exp(a*t)+sin(t/5)*sin(t/2),deltat = 1/12,start=0)
xt = window(x,0,99/12)
plot(xt)
(m <- HoltWinters(xt))
plot(m)
plot(fitted(m))
xp = window(x,8.33)
p <- predict(m, 50, prediction.interval = TRUE)
plot(m, p)
lines(xp,col="black")
ในตัวอย่างนี้คุณสามารถปรับปรุงประสิทธิภาพตัวกรองได้โดยเพียงบันทึกชุดข้อมูล เมื่อคุณใช้ลอการิทึมของซีรี่ส์ที่กำลังเติบโตอย่างทวีคูณคุณจะทำให้ความชันนั้นเสถียรอีกครั้งและให้โอกาสตัวกรองนี้ นี่คือตัวอย่าง:
รหัส R:
t=1:150
a = 0.1
x=ts(exp(a*t)+sin(t/5)*sin(t/2),deltat = 1/12,start=0)
xt = window(log(x),0,99/12)
plot(xt)
(m <- HoltWinters(xt))
plot(m)
plot(fitted(m))
p <- predict(m, 50, prediction.interval = TRUE)
plot(m, exp(p))
xp = window(x,8.33)
lines(xp,col="black")