ฉันเหมาะสมกับโมเดล ARIMA ในซีรีย์เวลารายวัน ข้อมูลจะถูกรวบรวมทุกวันตั้งแต่ 02-01-2010 ถึง 30-07-2011 และเกี่ยวกับการขายหนังสือพิมพ์ เนื่องจากสามารถหารูปแบบการขายรายสัปดาห์ได้ (โดยปกติปริมาณการขายต่อวันโดยทั่วไปจะเหมือนกันทุกวันจันทร์ถึงศุกร์จากนั้นเพิ่มขึ้นในวันเสาร์และวันอาทิตย์) ฉันพยายามจับภาพ "ฤดูกาล" นี้ รับข้อมูลการขาย "ข้อมูล" ฉันสร้างอนุกรมเวลาดังนี้
salests<-ts(data,start=c(2010,1),frequency=365)
จากนั้นฉันใช้ฟังก์ชั่น auto.arima (.) เพื่อเลือกรุ่น ARIMA ที่ดีที่สุดผ่านเกณฑ์ AIC ผลลัพธ์จะเป็นโมเดล ARIMA ที่ไม่ใช่ฤดูกาลเสมอ แต่ถ้าฉันลองใช้แบบจำลอง SARIMAs ด้วยไวยากรณ์ต่อไปนี้เป็นตัวอย่าง:
sarima1<-arima(salests, order = c(2,1,2), seasonal = list(order = c(1, 0, 1), period = 7))
ฉันสามารถรับผลลัพธ์ที่ดีกว่า มีอะไรผิดปกติในข้อกำหนดคุณสมบัติคำสั่ง ts / arima หรือไม่ รูปแบบรายสัปดาห์แข็งแกร่งมากดังนั้นฉันจะไม่คาดหวังความยากลำบากมากมายในการจับภาพ ความช่วยเหลือใด ๆ จะมีประโยชน์มาก ขอบคุณ Giulia Deppieri
ปรับปรุง:
ฉันได้เปลี่ยนแปลงข้อโต้แย้งบางอย่างแล้ว แม่นยำยิ่งขึ้นขั้นตอนการเลือก ARIMA (4,1,3) เป็นแบบจำลองที่ดีที่สุดเมื่อฉันตั้งค่าD=7
แต่ AIC และดัชนีที่เหมาะสมและการคาดการณ์เช่นกัน) ไม่ได้ปรับปรุงเลย ฉันเดาว่ามีข้อผิดพลาดบางอย่างเนื่องจากความสับสนระหว่างฤดูกาลและระยะเวลา .. ?!
รับการโทรอัตโนมัติและได้รับ:
modArima<-auto.arima(salests,D=7,max.P = 5, max.Q = 5)
ARIMA(2,1,2) with drift : 1e+20
ARIMA(0,1,0) with drift : 5265.543
ARIMA(1,1,0) with drift : 5182.772
ARIMA(0,1,1) with drift : 1e+20
ARIMA(2,1,0) with drift : 5137.279
ARIMA(2,1,1) with drift : 1e+20
ARIMA(3,1,1) with drift : 1e+20
ARIMA(2,1,0) : 5135.382
ARIMA(1,1,0) : 5180.817
ARIMA(3,1,0) : 5117.714
ARIMA(3,1,1) : 1e+20
ARIMA(4,1,1) : 5045.236
ARIMA(4,1,1) with drift : 5040.53
ARIMA(5,1,1) with drift : 1e+20
ARIMA(4,1,0) with drift : 5112.614
ARIMA(4,1,2) with drift : 4953.417
ARIMA(5,1,3) with drift : 1e+20
ARIMA(4,1,2) : 4960.516
ARIMA(3,1,2) with drift : 1e+20
ARIMA(5,1,2) with drift : 1e+20
ARIMA(4,1,3) with drift : 4868.669
ARIMA(5,1,4) with drift : 1e+20
ARIMA(4,1,3) : 4870.92
ARIMA(3,1,3) with drift : 1e+20
ARIMA(4,1,4) with drift : 4874.095
Best model: ARIMA(4,1,3) with drift
ดังนั้นฉันคิดว่าควรใช้ฟังก์ชัน arima เป็น:
bestOrder <- cbind(modArima$arma[1],modArima$arma[5],modArima$arma[2])
sarima1<-arima(salests, order = c(4,1,3))
โดยไม่มีพารามิเตอร์องค์ประกอบตามฤดูกาลและข้อกำหนดระยะเวลา ข้อมูลและการวิเคราะห์เชิงสำรวจแสดงให้เห็นว่ารูปแบบรายสัปดาห์เดียวกันนั้นสามารถนำมาพิจารณาในแต่ละสัปดาห์โดยมีข้อยกเว้นเพียงอย่างเดียวของเดือนสิงหาคม 2010 (เมื่อมีการลงทะเบียนการขายที่เพิ่มขึ้นอย่างต่อเนื่อง) น่าเสียดายที่ฉันไม่มีความเชี่ยวชาญในการสร้างโมเดลไทม์เซียเลยจริง ๆ แล้วฉันลองใช้วิธีนี้เพื่อหาทางเลือกอื่นสำหรับโมเดลพาราเมตริกอิเลคทรอนิกส์อื่น ๆ ฉันยังมีตัวแปรตัวเลขหลายตัว แต่พวกเขาได้แสดงพลังต่ำในการอธิบายตัวแปรตอบสนอง: ไม่ต้องสงสัยส่วนที่ยากที่สุดในการจำลองคือองค์ประกอบเวลา ยิ่งไปกว่านั้นการสร้างตัวแปรจำลองเพื่อแสดงถึงเดือนและวันทำงานกลายเป็นทางออกที่แข็งแกร่ง