ARIMA मॉडलिंग के लिए मापदंडों (p, d, q) का निर्धारण


10

मैं आँकड़ों के लिए काफी नया हूँ और आर। मैं अपने डेटासेट के लिए ARIMA मापदंडों को निर्धारित करने की प्रक्रिया जानना चाहूँगा। क्या आप आर और सैद्धांतिक रूप से (यदि संभव हो) का उपयोग करके मुझे यह पता लगाने में मदद कर सकते हैं?

डेटा जनवरी -12 से लेकर मार -14 तक है और मासिक बिक्री को चित्रित करता है। यहाँ डेटा सेट है:

९९ ५ 99 ५२ 87३ 58३ 58 58 ९ 83 86 86३ 63३ 52६ 73० 93० 93० 93१ 158१ 158१ 52१ ५३ ५३ 83३ 88२।। 73४ में 73४

और यहाँ की प्रवृत्ति है:

यहां छवि विवरण दर्ज करें

डेटा एक प्रवृत्ति, मौसमी व्यवहार या चक्रीयता का प्रदर्शन नहीं करता है।

जवाबों:


9

सामान्य तौर पर, एक उन्नत समय श्रृंखला विश्लेषण पाठ्यपुस्तक में खुदाई (परिचयात्मक किताबें आमतौर पर आपको सिर्फ अपने सॉफ़्टवेयर पर भरोसा करने के लिए निर्देशित करेंगी), जैसे बॉक्स, जेनकिंस और रिंसल द्वारा टाइम सीरीज विश्लेषण । आप Googling द्वारा बॉक्स-जेनकिंस प्रक्रिया पर विवरण भी पा सकते हैं। ध्यान दें कि बॉक्स-जेनकींस की तुलना में अन्य दृष्टिकोण हैं, जैसे, एआईसी-आधारित।

R में, आप पहली बार अपने डेटा को एक ts(समय श्रृंखला) ऑब्जेक्ट में बदलते हैं और R को बताते हैं कि आवृत्ति 12 (मासिक डेटा) है:

require(forecast)
sales <- ts(c(99, 58, 52, 83, 94, 73, 97, 83, 86, 63, 77, 70, 87, 84, 60, 105, 87, 93, 110, 71, 158, 52, 33, 68, 82, 88, 84),frequency=12)

आप (आंशिक) ऑटोक्रेलेशन कार्यों को प्लॉट कर सकते हैं:

acf(sales)
pacf(sales)

ये किसी भी AR या MA व्यवहार का सुझाव नहीं देते हैं।

फिर आप एक मॉडल फिट करते हैं और उसका निरीक्षण करते हैं:

model <- auto.arima(sales)
model

?auto.arimaमदद के लिए देखें । जैसा कि हम देखते हैं, auto.arimaएक सरल (0,0,0) मॉडल चुनता है, क्योंकि यह आपके डेटा में न तो प्रवृत्ति और न ही सीज़न और न ही एआर या एमए देखता है। अंत में, आप समय श्रृंखला और पूर्वानुमान का पूर्वानुमान और साजिश कर सकते हैं:

plot(forecast(model))

पूर्वानुमान

देखो ?forecast.Arima(राजधानी ए पर ध्यान दें!)।

यह नि: शुल्क ऑनलाइन पाठ्यपुस्तक आर श्रृंखला का उपयोग करने के लिए समय श्रृंखला विश्लेषण और पूर्वानुमान का एक शानदार परिचय है। बहुत अनुशंसित है।


हाय स्टीफन, मैंने अपने डेटासेट और डेटा को अपने डेटासेट के लिए जोड़ दिया है। जैसा कि आप देख सकते हैं कि मेरे पास केवल 27 डेटा बिंदु हैं, इसलिए मैं यहां धुएं पर चल रहा हूं। क्या आप यहां कुछ सुझा सकते हैं
रौनक Ra

मैंने उत्तर संपादित किया। आपकी श्रृंखला बहुत सारी संरचना का प्रदर्शन नहीं करती है, इसलिए वास्तव में बहुत कम है जो आप कर सकते हैं। चूंकि आपके पास अनिवार्य रूप से शोर और थोड़ा और है, इसलिए आपको बड़े पूर्वानुमान अंतराल मिलते हैं।
स्टीफन कोलासा

4

दो चीजें। आपकी समय श्रृंखला मासिक है, आपको एक समझदार एआरआईएमए आकलन के लिए कम से कम 4 साल के डेटा की आवश्यकता है, क्योंकि प्रतिबिंबित 27 बिंदु ऑटोक्रेलेशन संरचना नहीं देते हैं। इसका मतलब यह भी हो सकता है कि आपकी बिक्री कुछ बाहरी कारकों से प्रभावित होती है, न कि अपने स्वयं के मूल्य के साथ सहसंबद्ध होने के बजाय। यह जानने की कोशिश करें कि आपकी बिक्री किस कारक को प्रभावित करती है और क्या उस कारक को मापा जा रहा है। फिर आप पूर्वानुमान प्राप्त करने के लिए एक प्रतिगमन या VAR (वेक्टर ऑटोरेर्गन) चला सकते हैं।

यदि आपके पास इन मूल्यों के अलावा और कुछ नहीं है, तो आपका सबसे अच्छा तरीका है कि आप एक अनुभवहीन चौरसाई विधि का उपयोग करके एक भोले पूर्वानुमान प्राप्त कर सकें। एक्सपोनेंशियल स्मूथिंग R में उपलब्ध है।

दूसरी बात यह है कि किसी उत्पाद की बिक्री अलग-थलग नहीं होती है, दो उत्पादों की बिक्री को सहसंबद्ध किया जा सकता है उदाहरण के लिए कॉफी की बिक्री में वृद्धि चाय की बिक्री में कमी को दर्शा सकती है। अपने पूर्वानुमान को बेहतर बनाने के लिए अन्य उत्पाद जानकारी का उपयोग करें।

यह आमतौर पर खुदरा या आपूर्ति श्रृंखला में बिक्री डेटा के साथ होता है। वे श्रृंखला में स्वायत्तता संरचना का ज्यादा हिस्सा नहीं दिखाते हैं। जबकि दूसरी ओर ARIMA या GARCH जैसी विधियाँ आम तौर पर स्टॉक मार्केट डेटा या आर्थिक सूचकांकों के साथ काम करती हैं, जहाँ आपके पास आमतौर पर ऑटोक्रॉलेशन होता है।


3

यह वास्तव में एक टिप्पणी है, लेकिन स्वीकार्य से अधिक है इसलिए मैं इसे एक अर्ध-उत्तर के रूप में पोस्ट करता हूं क्योंकि यह समय श्रृंखला डेटा का विश्लेषण करने का सही तरीका बताता है। ।

प्रसिद्ध तथ्य लेकिन अक्सर यहां और अन्य जगहों पर ध्यान नहीं दिया गया है कि सैद्धांतिक एसीएफ / पीएसीएफ जिसका उपयोग एक अस्थायी एआरआईएमए मॉडल परिसर नो पल्सेस / लेवल शिफ्ट्स / सीजनल पल्स / लोकल टाइम ट्रेंड्स तैयार करने के लिए किया जाता है। इसके अतिरिक्त यह समय के साथ निरंतर मापदंडों और निरंतर त्रुटि विचरण को परिसर देता है। इस मामले में 21 वीं अवलोकन (मूल्य = 158) को आसानी से एक बाहरी / पल्स के रूप में चिह्नित किया जाता है और -80 के सुझाए गए समायोजन से 78 का संशोधित मूल्य प्राप्त होता है। संशोधित श्रृंखला के परिणामी ACF / PACF स्टोचैस्टिक (ARIMA) संरचना का बहुत कम या कोई सबूत नहीं दिखाता है। इस मामले में ऑपरेशन सफल रहा लेकिन मरीज की मौत हो गई। नमूना ACF सहसंयोजक / विचरण पर आधारित है और एक अनियंत्रित फुलाया / फूला हुआ विचरण ACF के नीचे की ओर पूर्वाग्रह पैदा करता है। प्रो कीथ ऑर्ड ने एक बार इसे "एलिस इन वंडरलैंड प्रभाव" के रूप में संदर्भित किया था


2

जैसा कि यह बताया गया है कि स्टेफ़न कोलासा द्वारा आपके डेटा में बहुत अधिक संरचना नहीं है। स्वतःसंरक्षण कार्य ARMA संरचना (देखें ) का सुझाव नहीं देते हैं acf(sales), pacf(sales)और forecast::auto.arimaकोई AR या MA क्रम नहीं चुनते हैं।

require(forecast)
require(tsoutliers)
fit1 <- auto.arima(sales, d=0, D=0, ic="bic")
fit1
#ARIMA(0,0,0) with non-zero mean 
#Coefficients:
#      intercept
#        81.3704
#s.e.     4.4070

फिर भी, ध्यान दें कि अवशेषों में सामान्यता का शून्य 5% महत्व के स्तर पर खारिज कर दिया जाता है।

JarqueBera.test(residuals(fit1))[[1]]
#X-squared = 12.9466, df = 2, p-value = 0.001544

एक तरफ ध्यान दें: पैकेज में उपलब्ध JarqueBera.testफ़ंक्शन पर आधारित है ।jarque.bera.testtseries

अवलोकन 21 में योजक बाह्यक शामिल tsoutliersहै जो अवशिष्ट में सामान्यता प्रदान करता है। इस प्रकार, अवरोधन का अनुमान और पूर्वानुमान, बाहरी अवलोकन से प्रभावित नहीं होते हैं।

res <- tsoutliers::tso(sales, types=c("AO", "TC", "LS"), 
  args.tsmethod=list(ic="bic", d=0, D=0))
res
#ARIMA(0,0,0) with non-zero mean 
#Coefficients:
#      intercept     AO21
#        78.4231  79.5769
#s.e.     3.3885  17.6072
#sigma^2 estimated as 298.5:  log likelihood=-115.25
#AIC=236.49   AICc=237.54   BIC=240.38
#Outliers:
#  type ind time coefhat tstat
#1   AO  21 2:09   79.58  4.52
JarqueBera.test(residuals(res$fit))[[1]]
#X-squared = 1.3555, df = 2, p-value = 0.5077

1
n=12n
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.