การประเมินความสามารถคาดการณ์ของอนุกรมเวลา


11

สมมติว่าฉันมีซีรี่ส์เวลารายเดือนมากกว่า 20,000 รายการที่ครอบคลุมตั้งแต่ Jan'05 ถึง Dec'11 แต่ละเหล่านี้แสดงข้อมูลการขายทั่วโลกสำหรับผลิตภัณฑ์ที่แตกต่างกัน ถ้าหากฉันคำนวณการคาดการณ์สำหรับแต่ละคนฉันต้องการเน้นเฉพาะผลิตภัณฑ์จำนวนเล็กน้อยที่ "สำคัญ" จริงหรือไม่

ฉันสามารถจัดอันดับผลิตภัณฑ์เหล่านั้นตามรายได้รวมต่อปีและตัดรายการโดยใช้ Pareto แบบดั้งเดิม ถึงกระนั้นฉันก็ดูเหมือนว่าแม้ว่าพวกเขาจะไม่ได้มีส่วนช่วยอะไรมาก แต่ผลิตภัณฑ์บางอย่างนั้นง่ายที่จะคาดการณ์ว่าการปล่อยพวกเขาออกไปจะเป็นการตัดสินที่ไม่ดี ผลิตภัณฑ์ที่ขายมูลค่า 50 ดอลลาร์ในแต่ละเดือนในช่วง 10 ปีที่ผ่านมาอาจไม่ฟังดูมากนัก แต่มันต้องใช้ความพยายามเพียงเล็กน้อยในการสร้างการคาดการณ์เกี่ยวกับยอดขายในอนาคตที่ฉันอาจทำได้เช่นกัน

สมมุติว่าฉันแบ่งผลิตภัณฑ์ออกเป็นสี่หมวดหมู่: รายได้สูง / ง่ายต่อการคาดการณ์ - รายได้ต่ำ / ง่ายต่อการคาดการณ์ - รายได้สูง / ยากต่อการคาดการณ์ - รายได้ต่ำ / ยากต่อการคาดการณ์

ฉันคิดว่ามันสมเหตุสมผลที่จะทิ้งไว้ข้างหลังเฉพาะซีรี่ส์เวลาที่เป็นของกลุ่มที่สี่ แต่ฉันจะประเมิน "การคาดการณ์" ได้อย่างไร

ค่าสัมประสิทธิ์ของความแปรปรวนดูเหมือนจะเป็นจุดเริ่มต้นที่ดี แต่จะเกิดอะไรขึ้นถ้าอนุกรมเวลาของฉันแสดงฤดูกาล / การเลื่อนระดับ / เอฟเฟกต์ปฏิทิน / แนวโน้มที่แข็งแกร่ง

ฉันคิดว่าฉันควรประเมินจากการสุ่มส่วนประกอบเท่านั้นและไม่ใช่หนึ่งในข้อมูล "ดิบ" หรือฉันกำลังพลาดอะไรอยู่?

มีใครเคยเจอปัญหาที่คล้ายกันมาก่อนหรือไม่ พวกคุณจะไปเกี่ยวกับมันได้อย่างไร

เช่นเคยความช่วยเหลือใด ๆ ที่ชื่นชมอย่างมาก!

คำตอบ:


9

นี่คือแนวคิดที่สองตาม stl

คุณสามารถใส่ส่วนประกอบย่อยสลาย stl ให้เหมาะกับแต่ละชุดแล้วเปรียบเทียบข้อผิดพลาดมาตรฐานของส่วนประกอบส่วนที่เหลือกับค่าเฉลี่ยของข้อมูลต้นฉบับโดยไม่สนใจส่วนปีใด ๆ ซีรี่ส์ที่คาดการณ์ได้ง่ายควรมีอัตราส่วนเล็กน้อย (เหลือ) ต่อค่าเฉลี่ย (ข้อมูล)

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

ความคิดนี้ถือว่าค่าเฉลี่ย (ข้อมูล) สมเหตุสมผล - นั่นคือข้อมูลนั้นหมายถึงเครื่องเขียน (นอกเหนือจากฤดูกาล) มันอาจจะทำงานได้ไม่ดีสำหรับข้อมูลที่มีแนวโน้มที่แข็งแกร่งหรือรากของหน่วย

นอกจากนี้ยังสมมติว่า stl ที่เหมาะสมแปลเป็นการคาดการณ์ที่ดี แต่ฉันไม่สามารถนึกถึงตัวอย่างที่ไม่เป็นจริงดังนั้นจึงน่าจะเป็นข้อตกลงที่ใช้ได้


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

ค่าเฉลี่ย (ส่วนที่เหลือ) จะใกล้เคียงกับศูนย์ คุณต้องการเปรียบเทียบเสียงรบกวนกับมาตราส่วนของข้อมูลดังนั้นค่าเฉลี่ย (ข้อมูล) ควรจะโอเค ไม่แน่ใจว่าจะจัดการกับแนวโน้มของคุณอย่างไร ฉันจะทดสอบวิธีการอย่างรอบคอบในช่วงของข้อมูลก่อนที่จะเชื่อผลลัพธ์
Rob Hyndman

8

นี่เป็นปัญหาที่พบบ่อยในการพยากรณ์ โซลูชันดั้งเดิมคือการคำนวณค่าเฉลี่ยเปอร์เซ็นต์ข้อผิดพลาด (MAPE) ในแต่ละรายการ MAPE ยิ่งต่ำยิ่งคาดการณ์ได้ง่ายกว่าคือรายการ

ปัญหาหนึ่งที่มีหลายชุดมีค่าเป็นศูนย์จากนั้น MAPE จะไม่ได้กำหนด

ฉันเสนอวิธีแก้ปัญหาในHyndman และ Koehler (IJF 2006) [รุ่น Preprint]โดยใช้ข้อผิดพลาดที่แน่นอนขนาดเฉลี่ย (MASEs) สำหรับอนุกรมเวลารายเดือนการปรับจะขึ้นอยู่กับการคาดการณ์ที่ไร้เดียงสาตามฤดูกาลในตัวอย่าง นั่นคือถ้าเป็นการสังเกต ณ เวลาข้อมูลจะมีให้ตั้งแต่ 1 ถึงและ ดังนั้นข้อผิดพลาดที่ปรับขนาดคือโดยที่เป็นการคาดการณ์ของโดยใช้วิธีการคาดการณ์ที่คุณใช้สำหรับรายการนั้น รับค่าเฉลี่ยสัมบูรณ์ของข้อผิดพลาดที่ปรับสัดส่วนเพื่อรับ MASE ตัวอย่างเช่นคุณอาจใช้แหล่งกำเนิดการหมุน (akayttT

Q=1T12t=13T|ytyt12|,
qt=(yty^t)/Q Yทีวายทีเอชy^tytการข้ามการตรวจสอบความถูกต้องของอนุกรมเวลาและรับค่าเฉลี่ยสัมบูรณ์ของข้อผิดพลาดที่เกิดขึ้นหนึ่งขั้นตอน (หรือ -step)h

ซีรี่ส์ที่ง่ายต่อการคาดการณ์ควรมีค่า MASE ต่ำ ที่นี่ "ง่ายต่อการคาดการณ์" ถูกตีความเมื่อเทียบกับการคาดการณ์ไร้เดียงสาตามฤดูกาล ในบางสถานการณ์การใช้มาตรการทางเลือกอื่นเป็นทางเลือกก็อาจจะเหมาะสมกว่า


สวัสดี Rob ขอบคุณสำหรับการตอบกลับของคุณ เช่นเดียวกับวิธีการของคุณที่เรียบร้อยตรงไปตรงมาและสมเหตุสมผล ฉันประเมินมูลค่าการคาดการณ์ที่เพิ่ม ( FTV ) กับโมเดลไร้เดียงสาตามฤดูกาลแล้วดังนั้นความคิดของคุณในการประเมินความสามารถคาดการณ์โดยใช้ "การวัดพื้นฐาน" ฟังดูน่าสนใจมาก ปัญหาเดียวก็คือในการคำนวณ MASE ฉันต้องเลือกวิธีการพยากรณ์และเรียกใช้การจำลองสำหรับแต่ละซีรี่ส์เวลา 20000 ของฉัน ฉันหวังว่าจะได้เห็นซีรี่ส์ที่ง่ายต่อการคาดการณ์ล่วงหน้าเพื่อที่ฉันจะได้ประหยัดเวลาในการคำนวณ
Bruder

ด้วยเหตุผลบางอย่างฉันคิดว่าอนุกรมเวลาที่มีความแปรปรวนต่ำกว่า (เช่น CV) จะส่งผลให้การคาดการณ์ง่ายขึ้น & แม่นยำยิ่งขึ้น การคำนวณการคาดการณ์และจากนั้นเพียงวัดข้อผิดพลาดชนิดของความท้าทายฉันคิดว่าเป้าหมายของฉัน ฉันเดาว่าสิ่งที่ฉันพยายามจะพูดคือฉันดู MASE เหมือนเครื่องวัดความแม่นยำในการคาดการณ์มากกว่าการคาดการณ์ แต่ฉันอาจจะผิด ... :)
Bruder

1
@Bruder: 2 ความคิด: 1. คุณสามารถดูการคาดการณ์ที่ไร้เดียงสาอย่างง่ายมากกว่าการคาดการณ์ตามฤดูกาล การคาดการณ์ที่ไร้เดียงสาอย่างง่ายเพียงใช้ค่าก่อนหน้าของอนุกรมเวลาและจะรับแนวโน้มที่ดีขึ้น (ด้วยการหน่วงเวลา 1 ช่วง) 2. การสลาย STL เป็นความคิดที่ดี หากส่วนที่เหลือมีขนาดเล็กมากเมื่อเทียบกับส่วนประกอบตามฤดูกาลและแนวโน้มคุณอาจคาดการณ์ซีรี่ส์ได้อย่างง่ายดาย
ซัค

1
@ Rob - สิ่งที่เกี่ยวกับการสลาย STL? ฉันขอนกสองตัวที่มีหินก้อนเดียวได้หรือไม่ มันทำให้ฉันประหลาดใจว่ามีกี่เรื่องที่ฉันสามารถทำได้ด้วย STL และโมเดลไร้เดียงสาตามฤดูกาล แต่คุณรู้ว่าจะเกิดอะไรขึ้นเมื่อสิ่งต่าง ๆ ดีเกินกว่าจะเป็นจริง ...
Bruder

1
ผมเชื่อว่าดัชนีของจำนวนเงินที่ควรจะเป็นแทนฉันฉันti
blakeoft

5

คุณอาจสนใจForeCA: การวิเคราะห์องค์ประกอบที่คาดการณ์ได้ (ข้อจำกัดความรับผิดชอบ: ฉันเป็นผู้เขียน) ดังที่ชื่อแนะนำว่าเป็นเทคนิคการลดขนาด / การแยกแหล่งที่มาตาบอด (BSS) เพื่อค้นหาสัญญาณที่สามารถคาดการณ์ได้มากที่สุดจากซีรีย์หลายตัวแปร - มากหรือน้อยแบบคงที่ สำหรับกรณีของคุณโดยเฉพาะ 20,000 อนุกรมเวลามันอาจจะไม่เป็นสิ่งที่เร็วที่สุดที่จะทำ (การแก้ปัญหาที่เกี่ยวข้องกับสเปกตรัมพลังงานหลายตัวแปรและย้ำการปรับปรุงการวิเคราะห์ของ weightvector ที่ดีที่สุดนอกจากนี้ผมคิดว่ามันอาจจะวิ่งเข้าไปในปัญหา.)pn

นอกจากนี้ยังมีแพคเกจ R ForeCAให้บริการที่ CRAN (อีกครั้ง: ฉันเป็นผู้เขียน) ซึ่งใช้ฟังก์ชั่นพื้นฐาน ตอนนี้มันรองรับฟังก์ชั่นประเมินการคาดการณ์สำหรับอนุกรมเวลาแบบ univariate และมันมีฟังก์ชั่น wrapper ที่ดีสำหรับสเปกตรัมหลายตัวแปร (อีกครั้ง 20,000 ซีรี่ส์น่าจะจัดการได้ในคราวเดียว)Ω(xt)

แต่บางทีคุณสามารถลองใช้มาตรการ MASE ที่เสนอโดย Rob เพื่อทำการแยกกริดแบบหยาบของ 20,000 ในกลุ่มย่อยหลาย ๆ กลุ่มจากนั้นใช้ ForeCA กับแต่ละส่วนแยกกัน


0

คำตอบนี้ดึกมาก แต่สำหรับผู้ที่ยังคงมองหามาตรการที่เหมาะสมของ forecastability สำหรับชุดเวลาที่ความต้องการสินค้าผมขอแนะนำให้มองหาที่เอนโทรปีโดยประมาณ

การปรากฏตัวของรูปแบบซ้ำ ๆ ของความผันผวนในอนุกรมเวลาทำให้สามารถคาดการณ์ได้มากกว่าชุดเวลาที่ไม่มีรูปแบบดังกล่าว ApEn สะท้อนถึงความเป็นไปได้ที่รูปแบบการสังเกตที่คล้ายกันจะไม่ถูกติดตามโดยการสังเกตที่คล้ายกันเพิ่มเติม [7] อนุกรมเวลาที่มีรูปแบบซ้ำ ๆ มากมายมี ApEn ที่ค่อนข้างเล็ก กระบวนการที่คาดการณ์ได้น้อยกว่ามี ApEn ที่สูงขึ้น

ความต้องการสินค้ามักจะมีองค์ประกอบตามฤดูกาลที่แข็งแกร่งมากทำให้ค่าสัมประสิทธิ์การเปลี่ยนแปลง (CV) ไม่เหมาะสม ApEn (m, r) สามารถจัดการสิ่งนี้ได้อย่างถูกต้อง ในกรณีของฉันตั้งแต่ข้อมูลของฉันมีแนวโน้มที่จะมีฤดูกาลที่แข็งแกร่งรายสัปดาห์ผมตั้งค่าพารามิเตอร์ m = 7 และ r = 0.2 มาตรฐาน * ตามคำแนะนำของที่นี่


ในบทความวิกิพีเดียหมายถึงอะไร? u
blakeoft

ฉันเห็นแล้ว ฉันคิดว่าและเกี่ยวข้อง แต่จริงๆแล้วไม่ใช่ U *uu
blakeoft
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.