การคำนวณดัชนีตามฤดูกาลสำหรับฤดูกาลที่ซับซ้อน


11

ฉันต้องการคาดการณ์รายการค้าปลีก (สัปดาห์) โดยใช้การปรับให้เรียบแบบเอ็กซ์โปเนนเชียล ตอนนี้ฉันติดอยู่กับวิธีการคำนวณจัดเก็บและใช้ดัชนี sesonality

ปัญหาคือตัวอย่างทั้งหมดที่ฉันพบพบว่าเป็นฤดูกาลที่เรียบง่าย ในกรณีของฉันฉันมีปัญหาดังต่อไปนี้: 1. ฤดูกาลไม่เกิดขึ้นในสัปดาห์เดียวกันทุกปี: พวกเขาสามารถเคลื่อนย้ายได้ มาร์ดิกราส์เข้าพรรษาอีสเตอร์และอีกไม่กี่คน 2. มีฤดูกาลที่เปลี่ยนแปลงไปตามปี ตัวอย่างเช่นมีเทศกาลวันหยุดประจำชาติ ขึ้นอยู่กับว่าวันหยุดใกล้กับวันหยุดสุดสัปดาห์ลูกค้าจะหรือไม่ออกจากเมือง มันเหมือนกับว่ามีสองฤดูกาล: หนึ่งที่ลูกค้าออกจากเมืองและที่ที่พวกเขาไม่ออกจากเมือง 3. บางครั้งสอง (หรือ 3) ฤดูกาลเกิดขึ้นในเวลาเดียวกัน ตัวอย่างเช่นเรามีฤดู "Mardi-Gras" ที่เกิดขึ้นในเวลาเดียวกับฤดูวาเลนไทน์
4. บางครั้งฤดูกาลเปลี่ยนแปลงในระยะเวลา ตัวอย่างเช่น "เทศกาลวันฮาโลวีน" เริ่มขึ้นเมื่อต้นปี คริสต์มาสก็เป็นอีกตัวอย่างหนึ่งที่ดูเหมือนว่าทุกปีเราเริ่มต้นเร็ว ๆ นี้เพื่อพกพาผลิตภัณฑ์

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

ไม่มีใครรู้ว่าฉันสามารถหาข้อมูลที่เป็นประโยชน์เกี่ยวกับวิธีการทำเช่นนี้ได้ที่ไหน?

ขอบคุณ Edgard

คำตอบ:


7

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

yt=a+b1Dt,1++bmDt,m+NtNtARIMA
Dt,karima

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


สวัสดี Kwak และ Rob ขอบคุณที่ดูที่นี่ ฉันต้องการใช้การปรับให้เรียบแบบเอ็กซ์โปเนนเชียลเพราะนี่คือสิ่งที่ฉันคุ้นเคย ฉันคิดว่าฉันต้องเรียนรู้วิธีใช้กรอบ ARIMA คุณช่วยแนะนำหนังสือที่ดีที่จะช่วยให้ฉันเรียนรู้เกี่ยวกับกรอบ ARIMA มากพอที่จะใช้วิธีจำลองตัวแปร ฉันมี "การพยากรณ์, อนุกรมเวลาและการถดถอย" ของ Bowerman และ Levenbach "การพยากรณ์: การปฏิบัติและกระบวนการจัดการอุปสงค์" ซึ่งฉันเคยเรียนรู้เกี่ยวกับการปรับให้เรียบแบบเลขชี้กำลัง ฉันไม่รู้ว่ารายละเอียดเหล่านี้เพียงพอสำหรับสิ่งที่ฉันต้องการหรือไม่ ขอบคุณ!
elriba

Bowerman O'Connell และ Koehler ค่อนข้างดีสำหรับการแนะนำรุ่น ARIMA แต่ฉันไม่คิดว่ามันรวม ARIMA กับผู้ร่วมทุน คุณสามารถลองหนังสือเรียนปี 1998 ของฉันซึ่งครอบคลุมการสร้างแบบจำลองและการถดถอยของ ARIMA โดยมีข้อผิดพลาด ARIMA ในระดับเบื้องต้น ดูrobjhyndman.com/forecastingสำหรับรายละเอียด
Rob Hyndman

1

การแก้ไขอย่างง่ายคือการรวมข้อมูลเหตุการณ์ในข้อมูลจำเพาะของคุณ:

(1)yt^=λ1yt1+...+λkytk+ϕ1Dt,1+ϕmDt,m

โดยที่เป็นตัวบ่งชี้ที่ใช้ค่าถ้าสัปดาห์มีเหตุการณ์ (พูดว่า Mardi gras) และ 0 เป็นอย่างอื่นสำหรับเหตุการณ์ทั้งหมดที่คุณเห็นว่าสำคัญ 1 t m mDt,m1tmm

ส่วนแรกของข้อมูลจำเพาะเป็นหลักเรียบเนียนชี้แจง แต่มีน้ำหนักแตกต่างกันไปเป็นฟังก์ชั่นล่าช้า (และประมาณโดย OLS)λ1yt1+...+λkytk

ก่อนนี้สมมติว่าคุณมีการสังเกตการณ์อย่างน้อย 20 ครั้งสำหรับแต่ละเหตุการณ์ (เช่น 20 'มาร์ดิกราส์') หากไม่เป็นเช่นนั้นคุณสามารถลองรวมเหตุการณ์บางอย่างเข้าด้วยกัน (พูดมาร์ดิกราส์และวันแรงงาน)

R ให้พอดี (1) ค่อนข้างตรงไปตรงมาสมมติว่า dlsales เป็น stationnary และ D เป็นเมทริกซ์ของตัวแปร dummy ของคุณ:

fit<-arima(dlsales,order=c(4,0,0),seasonal = list(order = c(1, 0, 0),period=52),xreg = D)

เริ่มจากที่นี่คุณสามารถถามคำถามเฉพาะเจาะจงเพิ่มเติมเกี่ยวกับส่วนของคำตอบที่ไม่คุ้นเคยกับคุณ (ฉันไม่รู้ว่าระดับของคุณอยู่ในสถิติ)


2
ที่จริงแล้วฟังก์ชั่น arima ใน R จะไม่พอดีกับรุ่นของคุณ (1) arima () ทำการถดถอยด้วยข้อผิดพลาด ARIMA และสมการของคุณ (1) เป็นแบบจำลอง ARMAX
Rob Hyndman

Rob:> ฉันได้แก้ไขสมการแล้ว คุณสามารถชี้ไปที่แหล่งที่มีการอธิบายความแตกต่างระหว่าง armax และ regression พร้อมข้อผิดพลาด arima ได้หรือไม่หรือให้คำอธิบายที่เข้าใจง่าย นอกจากนี้คุณยังจะรู้จักแพ็คเกจ R ที่ใช้โมเดล ARMAX หรือไม่ ขอบคุณล่วงหน้า.
user603

ใบสั่ง ARMAX รุ่นแรกที่มีหนึ่ง covariate คือ y_t = a + bx_t + cy_ {t-1} + e_t โดยที่ e_t คือ iid zero Mean การถดถอยที่สอดคล้องกับข้อผิดพลาด ARIMA คือ y_t = a + bx_t + n_t โดยที่ n_t = phi * n_ {t-1} + z_t และ z_t คือ iid zero mean
Rob Hyndman

1
@kwak ก่อนอื่น n_t = phi n_ {t-1} + z_t คือ AR (1) กระบวนการสั่งซื้อเฉลี่ยเคลื่อนที่ 1 รายการคือ n_t = theta z_ {t-1} + z_t ประการที่สองการถดถอยโดยมีข้อผิดพลาด MA เทียบเท่ากับรุ่น MAX แต่เมื่อคุณเพิ่มคำศัพท์ AR ในกระบวนการข้อผิดพลาดจะไม่มีการเทียบเท่าระหว่างสองคลาส ประการที่สามฟังก์ชั่น arimax () ใน TSA เหมาะกับฟังก์ชั่นการถ่ายโอนแบบกรณีพิเศษซึ่งเป็นการถดถอยที่มีข้อผิดพลาด ARIMA ไม่เหมาะกับรุ่น ARIMAX ฉันอาจเขียนโพสต์บล็อกเกี่ยวกับเรื่องนี้เนื่องจากเป็นการยากที่จะหาคลาสรุ่นต่างๆเปรียบเทียบและอภิปรายได้ทุกที่
Rob Hyndman

2
ฉันพยายามสรุปโมเดลต่างๆที่robjhyndman.com/researchtips/arimax
Rob Hyndman
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.