मैं एक ARIMA मॉडल को दैनिक समय श्रृंखला में फिट कर रहा हूं। डेटा को दैनिक रूप से 02-01-2010 से 30-07-2011 तक एकत्र किया जाता है और अखबार की बिक्री के बारे में होता है। चूंकि बिक्री में एक साप्ताहिक पैटर्न पाया जा सकता है (बिकने वाली प्रतियों की दैनिक औसत मात्रा आमतौर पर सोमवार से शुक्रवार तक समान होती है, फिर शनिवार और रविवार को बढ़ जाती है), मैं इस "मौसमी" को पकड़ने की कोशिश कर रहा हूं। बिक्री डेटा "डेटा" को देखते हुए, मैं निम्नानुसार समय श्रृंखला बनाता हूं:
salests<-ts(data,start=c(2010,1),frequency=365)
और फिर मैं AIC कसौटी के माध्यम से सर्वश्रेष्ठ ARIMA मॉडल का चयन करने के लिए auto.arima (।) फ़ंक्शन का उपयोग करता हूं। परिणाम हमेशा एक गैर-मौसमी ARIMA मॉडल होता है, लेकिन अगर मैं उदाहरण के रूप में निम्नलिखित सिंटैक्स के साथ कुछ SARIMAs मॉडल की कोशिश करता हूं:
sarima1<-arima(salests, order = c(2,1,2), seasonal = list(order = c(1, 0, 1), period = 7))
मैं बेहतर परिणाम प्राप्त कर सकता हूं। क्या ts कमांड / arima विनिर्देशन में कुछ गलत है? साप्ताहिक पैटर्न बहुत मजबूत है इसलिए मुझे इसे पकड़ने में इतनी कठिनाइयों की उम्मीद नहीं होगी। कोई मदद बहुत उपयोगी होगी। धन्यवाद, गूलिया डेपिएरी
अद्यतन करें:
मैंने पहले ही कुछ तर्क बदल दिए हैं। अधिक सटीक रूप से, प्रक्रिया ARIMA (4,1,3) को सबसे अच्छे मॉडल के रूप में चुनती है जब मैं सेट करता हूं D=7
, लेकिन एआईसी और अन्य फिट इंडेक्स और पूर्वानुमान के साथ अच्छे होते हैं) बिल्कुल भी सुधार नहीं करते हैं। मुझे लगता है कि मौसमी और आवधिकता के बीच भ्रम के कारण कुछ गलतियाँ हैं ..?!
Auto.arima कॉल का उपयोग और आउटपुट प्राप्त:
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 के एकमात्र अपवाद (जब बिक्री में लगातार वृद्धि दर्ज की गई है) के साथ एक ही साप्ताहिक पैटर्न प्रत्येक सप्ताह के लिए अनुमानित रूप से माना जा सकता है। दुर्भाग्य से मेरे पास मॉडलिंग के समय में कोई विशेषज्ञता नहीं है, वास्तव में मैं इस दृष्टिकोण की कोशिश कर रहा हूं ताकि अन्य पैरामीट्रिक ई गैर-पैरामीट्रिक मॉडल के लिए एक वैकल्पिक समाधान मिल सके, जो मैंने इन समस्याग्रस्त डेटा के लिए फिट करने की कोशिश की है। मेरे पास कई निर्भर संख्यात्मक चर भी हैं, लेकिन उन्होंने प्रतिक्रिया चर की व्याख्या करने में कम शक्ति दिखाई है: निस्संदेह, मॉडल का सबसे कठिन हिस्सा समय घटक है। इसके अलावा, महीने और सप्ताह का प्रतिनिधित्व करने के लिए डमी चर का निर्माण एक मजबूत समाधान नहीं निकला।