พยากรณ์ ARIMA กับฤดูกาลและแนวโน้มผลลัพธ์แปลก


9

ขณะที่ฉันกำลังก้าวสู่การพยากรณ์ด้วยโมเดล ARIMA ฉันพยายามเข้าใจว่าฉันสามารถปรับปรุงการคาดการณ์ตามแบบของ ARIMA ให้สอดคล้องกับฤดูกาลและดริฟท์ได้อย่างไร

ข้อมูลของฉันเป็นอนุกรมเวลาต่อไปนี้ (มากกว่า 3 ปีที่มีแนวโน้มที่ชัดเจนขึ้นและฤดูกาลที่มองเห็นได้ซึ่งดูเหมือนว่าจะไม่สนับสนุนโดยระบบอัตโนมัติที่ความล่าช้า 12, 24, 36 ??)

    > bal2sum3years.ts
             Jan     Feb     Mar     Apr     May     Jun     Jul     Aug          
    2010 2540346 2139440 2218652 2176167 2287778 1861061 2000102 2560729 
    2011 3119573 2704986 2594432 2362869 2509506 2434504 2680088 2689888 
    2012 3619060 3204588 2800260 2973428 2737696 2744716 3043868 2867416 
             Sep     Oct     Nov     Dec
    2010 2232261 2394644 2468479 2816287
    2011 2480940 2699780 2760268 3206372
    2012 2951516 3119176 3032960 3738256

แบบจำลองที่แนะนำโดยauto.arima(bal2sum3years.ts)ให้แบบจำลองต่อไปนี้กับฉัน:

    Series: bal2sum3years.ts 
    ARIMA(0,0,0)(0,1,0)[12] with drift         

    Coefficients:
              drift
          31725.567
    s.e.   2651.693

    sigma^2 estimated as 2.43e+10:  log likelihood=-321.02
    AIC=646.04   AICc=646.61   BIC=648.39

อย่างไรก็ตามค่าacf(bal2sum3years.ts,max.lag=35)ดังกล่าวไม่แสดงค่าสัมประสิทธิ์ acf สูงกว่า 0.3 อย่างไรก็ตามฤดูกาลของข้อมูลนั้นค่อนข้างชัดเจน - ขัดขวางในช่วงต้นปีของทุกปี นี่คือลักษณะที่ปรากฏบนกราฟ: ซีรี่ส์เวลาดั้งเดิม

การคาดการณ์ที่ใช้fit=Arima(bal2sum3years.ts,seasonal=list(order=c(0,1,0),period=12),include.drift=TRUE)เรียกโดยฟังก์ชันจะforecast(fit)ทำให้ผลลัพธ์ของ 12 เดือนข้างหน้าเท่ากับ 12 เดือนสุดท้ายของข้อมูลบวกค่าคง นี้สามารถมองเห็นได้ด้วยการโทรplot(forecast(fit)),

ข้อมูลจริงและที่คาดการณ์

ฉันได้ตรวจสอบส่วนที่เหลือซึ่งไม่ได้เป็นระบบอัตโนมัติ แต่มีค่าเฉลี่ยเป็นบวก (ไม่เป็นศูนย์)

พอดีไม่รูปแบบอนุกรมเวลาเดิมอย่างแม่นยำในความคิดของฉัน (สีน้ำเงินอนุกรมเวลาเดิมสีแดงคือfitted(fit):

พอดีกับต้นฉบับ

guestion คือโมเดลไม่ถูกต้องหรือไม่? ฉันพลาดอะไรไปรึเปล่า? ฉันจะปรับปรุงแบบจำลองได้อย่างไร ดูเหมือนว่าแบบจำลองใช้เวลา 12 เดือนที่ผ่านมาและเพิ่มค่าคงที่เพื่อให้บรรลุ 12 เดือนถัดไป

ฉันเป็นผู้เริ่มต้นที่สัมพันธ์ในแบบจำลองการพยากรณ์อนุกรมเวลาและสถิติ


" ความพอดีไม่ได้เป็นแบบของอนุกรมเวลาดั้งเดิมอย่างแม่นยำในความคิดของฉัน " - ทำไมคุณคาดหวังให้มัน
Glen_b -Reinstate Monica

@Glen_b ความคิดเห็นนี้ขึ้นอยู่กับความแตกต่างที่ฉันเห็นเมื่อฉันดูพล็อต หากฉันพยายามที่จะคาดการณ์เช่นยอดขายรายเดือนเพื่อวัตถุประสงค์ทางการบัญชีข้อผิดพลาดอาจมีความสำคัญ ...
zima

" ความแตกต่างที่ฉันเห็นเมื่อฉันดูพล็อต " เป็นอีกวิธีหนึ่งในการพูดว่า " ไม่ได้จำลองซีรีย์เวลาอย่างแม่นยำ " นี่ไม่ใช่ข้อพิพาท การแสดงออกถึงความปรารถนาในการพยากรณ์ที่ดีขึ้นของคุณนั้นเป็นสิ่งที่นักพยากรณ์ทุกคนมี ในหลายกรณีอาจมีความสำคัญมาก อย่างไรก็ตามความปรารถนานี้ไม่ได้ใส่ข้อมูลเพิ่มเติมลงในข้อมูล โมเดล ARIMA ทุกรุ่น - แน่นอนว่าทุกครั้งที่โมเดลอนุกรมเวลาของความเกี่ยวข้องกับงานนี้ - มีเงื่อนไขข้อผิดพลาดที่ไม่ใช่ศูนย์ จะมีเสมอจะไม่ตรงกันระหว่างข้อมูลและพอดี มีบางอย่างที่ทำให้คุณคิดว่าแบบจำลองของคุณพลาดบางสิ่งที่สามารถสร้างแบบจำลองได้หรือไม่?
Glen_b

ฉันเพิ่งคิดเกี่ยวกับบางสิ่งบางอย่าง .. บางทีแบบจำลอง ARIMA อาจไม่สามารถสะท้อนข้อมูลได้เนื่องจากไม่คำนึงถึงลักษณะของข้อมูล - กิจกรรมของผู้ใช้บนเว็บไซต์ ฉันคิดว่าอาจมีเหตุการณ์อื่นที่ส่งผลกระทบต่อตัวเลขไม่ใช่เฉพาะฤดูกาลเท่านั้นเช่นกิจกรรมพิเศษการส่งเสริมการขายบางทีวิธีการทำนายอื่น ๆ (ไม่ใช่ ARIMA) แต่มีความซับซ้อนมากขึ้นเกี่ยวกับเทคนิคการเรียนรู้ของเครื่อง ฉันจะดูว่า
zima

ค่อนข้างเป็นไปได้ ถ้าเป็นเช่นนั้นคุณควรจะสามารถระบุความล้มเหลวดังกล่าวในส่วนที่เหลือ โปรดทราบว่าทั้งโมเดล ARIMA และโมเดลอนุกรมเวลาโครงสร้างสามารถรวมสิ่งต่าง ๆ เช่นกิจกรรมพิเศษและโปรโมชั่นผ่านเงื่อนไขการถดถอย แบบจำลองการถดถอยอนุกรมเวลาเป็นเรื่องปกติ
Glen_b -Reinstate Monica

คำตอบ:


9

จากการปรากฏตัวของข้อมูลของคุณหลังจากความแตกต่างของฤดูกาลอาจไม่มีฤดูกาลที่เหลืออยู่จริง จุดสูงสุดนั้นในช่วงเริ่มต้นของแต่ละปีและรูปแบบที่ตามมาตลอดช่วงเวลาที่เหลือของปีนั้นค่อนข้างดีโดยโมเดลI[12] ; รูปแบบได้รวม "ฤดูกาลที่ชัดเจน"

ใช่แน่นอนโมเดลที่แนะนำคือ "This June = Last June + constant + error" และคล้ายกันสำหรับเดือนอื่น ๆ

เกิดอะไรขึ้นกับสิ่งนั้น ดูเหมือนว่าจะเป็นคำอธิบายที่ดีเยี่ยมสำหรับข้อมูลของคุณ

คุณอาจพบว่าการสลายตัวของอนุกรมเวลานั้นใช้งานง่ายและอธิบายได้ง่ายกว่าบางทีอาจเป็นบางสิ่งที่อิงกับโมเดลโครงสร้างพื้นฐาน - แบบที่มีฤดูกาล - แต่นั่นไม่จำเป็นต้องหมายความถึงแบบจำลองที่ทำงานได้ดีกว่าแบบที่คุณมี เทคนิคการแยกส่วนมาตรฐานอย่างน้อยหนึ่งรายการอาจจะคุ้มค่าที่จะลอง - มีหลายสิ่งที่จะกล่าวสำหรับรุ่นที่คุณเข้าใจได้ดี


1

ฉันเชื่อว่าปัญหาของเราคือเรากำลังกระโดดไปที่โมเดล ARIMA โดยตรงโดยไม่ลองใช้โมเดลดั้งเดิม ด้วยเหตุนี้คุณสามารถค้นหารูปแบบที่ไม่ให้ผลลัพธ์ที่ต้องการ ในกรณีของคุณฉันทดสอบข้อมูลของคุณฉันพบว่ามีฤดูกาลทุก ๆ 12 เดือนที่ชัดเจนสำหรับคุณ แต่ฉันก็พบว่าค่าเฉลี่ยเคลื่อนที่อย่างง่ายของ 3 คำการปรับฤดูกาล: การคูณเป็นรูปแบบที่ดีที่สุด ในความคิดของฉันเราต้องลองใช้อัลกอริทึมการคาดการณ์แบบดั้งเดิมก่อนที่จะกระโดดไปที่เทคนิคขั้นสูงใด ๆ การคาดการณ์ 12 เดือนสำหรับข้อมูลคำถาม


1
โมเดลที่คุณแนะนำคือโมเดล ARIMA ของแบบฟอร์ม (3,0,0) (0,0,0) ซึ่งคุณกำลัง hardcoding สัมประสิทธิ์สามตัวเป็น. 333, .333 และ .333 และค่าคงที่ 0.0 ดังนั้นไม่เพียง แต่สมมติว่ารูปแบบของ arima model แต่คุณกำลังสมมติค่าของสัมประสิทธิ์และไม่มีค่าผิดปกติในซีรีย์ อนุญาตให้ข้อมูลพูดด้วยตนเองในแง่ของรูปแบบของรูปแบบและค่าที่เหมาะสมที่สุดสำหรับพารามิเตอร์ ... คุณไม่มีอะไรจะเสียและได้รับมาก หากแบบจำลองของคุณถูกต้องก็จะพบว่า .. ทุกรุ่นของ Arima เป็นฟังก์ชั่นถ่วงน้ำหนักของอดีต
IrishStat

1
stats.stackexchange.com/questions/40905/…อธิบายว่าแบบจำลองถ่วงน้ำหนักและ arima เกี่ยวข้องกันอย่างไรด้วยวิธีนี้แบบจำลอง ARIMA สามารถอธิบายได้ว่าเป็นคำตอบของคำถามฉันควรใช้ค่าในอดีตจำนวนเท่าใดในการคำนวณผลรวมถ่วงน้ำหนักของ ที่ผ่านมา? ค่าเหล่านั้นคืออะไรอย่างแม่นยำ?
IrishStat
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.