ARMA का उपयोग करते हुए एक गैर-स्थिर प्रक्रिया के मॉडलिंग के परिणाम?


23

मैं समझता हूं कि हमें गैर-स्थिर समय श्रृंखला मॉडलिंग के लिए ARIMA का उपयोग करना चाहिए। इसके अलावा, मैं जो कुछ भी पढ़ता हूं वह कहता है कि एआरएमए को केवल स्थिर समय श्रृंखला के लिए उपयोग किया जाना चाहिए।

मैं जो समझने की कोशिश कर रहा हूं, वह यह है कि किसी मॉडल को मिसकॉलिफ़ाइज़ करते समय, और d = 0गैर-स्थिर होने वाली समय श्रृंखला के लिए क्या होता है ? उदाहरण के लिए:

controlData <- arima.sim(list(order = c(1,1,1), ar = .5, ma = .5), n = 44)

नियंत्रण डेटा इस तरह दिखता है:

 [1]   0.0000000   0.1240838  -1.4544087  -3.1943094  -5.6205257
 [6]  -8.5636126 -10.1573548  -9.2822666 -10.0174493 -11.0105225
[11] -11.4726127 -13.8827001 -16.6040541 -19.1966633 -22.0543414
[16] -24.8542959 -25.2883155 -23.6519271 -21.8270981 -21.4351267
[21] -22.6155812 -21.9189036 -20.2064343 -18.2516852 -15.5822178
[26] -13.2248230 -13.4220158 -13.8823855 -14.6122867 -16.4143756
[31] -16.8726071 -15.8499558 -14.0805114 -11.4016515  -9.3330560
[36]  -7.5676563  -6.3691600  -6.8471371  -7.5982880  -8.9692152
[41] -10.6733419 -11.6865440 -12.2503202 -13.5314306 -13.4654890

यह मानते हुए कि मुझे पता नहीं था कि डेटा पर ARIMA(1,1,1)मेरी नज़र हो सकती है pacf(controlData)

pacf (controlData)

तब मैं डिक्की-फुलर का उपयोग यह देखने के लिए करता हूं कि क्या डेटा गैर-स्थिर है:

require('tseries')
adf.test(controlData)

# Augmented Dickey-Fuller Test
#
# data:  controlData
# Dickey-Fuller = -2.4133, Lag order = 3, p-value = 0.4099
# alternative hypothesis: stationary

adf.test(controlData, k = 1)

# Augmented Dickey-Fuller Test
#
#data:  controlData
# Dickey-Fuller = -3.1469, Lag order = 1, p-value = 0.1188
# alternative hypothesis: stationary

इसलिए, मैं मान सकता हूं कि डेटा एआरआईएमए (2,0, *) है तो फिर auto.arima(controlData)सबसे अच्छा फिट पाने के लिए प्रयास करें?

require('forecast')
naiveFit <- auto.arima(controlData)
naiveFit
# Series: controlData 
# ARIMA(2,0,1) with non-zero mean 
# 
# Coefficients:
#          ar1      ar2     ma1  intercept
#      1.4985  -0.5637  0.6427   -11.8690
# s.e.  0.1508   0.1546  0.1912     3.2647
#
# sigma^2 estimated as 0.8936:  log likelihood=-64.01
# AIC=138.02   AICc=139.56   BIC=147.05

इसलिए, भले ही अतीत और भविष्य का डेटा ARIMA (1,1,1) हो, लेकिन मुझे ARIMA (2,0,1) के रूप में वर्गीकृत करने के लिए लुभाया जा सकता है। tsdata(auto.arima(controlData))अच्छा भी लग रहा है।

यहाँ एक सूचित मॉडलर क्या मिलेगा:

informedFit <- arima(controlData, order = c(1,1,1))
# informedFit
# Series: controlData 
# ARIMA(1,1,1)                    
#
# Coefficients:
#          ar1     ma1
#       0.4936  0.6859
# s.e.  0.1564  0.1764
#
# sigma^2 estimated as 0.9571:  log likelihood=-62.22
# AIC=130.44   AICc=131.04   BIC=135.79

1) इन सूचना मानदंडों को मॉडल द्वारा चयनित से बेहतर क्यों माना जाता है auto.arima(controlData)?

अब, मैं वास्तविक रूप से वास्तविक डेटा और 2 मॉडल की तुलना करता हूं:

plot(controlData)
lines(fitted(naiveFit), col = "red")
lines(fitted(informedFit), col = "blue")

tsPlots

2) शैतान के वकील की भूमिका निभाते हुए, एक मॉडल के रूप में ARIMA (2, 0, 1) का उपयोग करके मैं किस तरह के परिणाम दूंगा? इस त्रुटि के जोखिम क्या हैं?

3) मैं ज्यादातर मल्टी-पीरियड फॉरवर्ड भविष्यवाणियों के किसी भी निहितार्थ के बारे में चिंतित हूं। मुझे लगता है कि वे कम सटीक होंगे? मैं बस कुछ सबूत की तलाश में हूं।

4) क्या आप मॉडल चयन के लिए एक वैकल्पिक तरीका सुझाएंगे? क्या "तर्कहीन" मॉडलर के रूप में मेरे तर्क के साथ कोई समस्या है?

मैं वास्तव में उत्सुक हूं कि इस तरह के गर्भपात के अन्य परिणाम क्या हैं। मैं कुछ स्रोतों की तलाश में हूँ और अभी कुछ भी नहीं पा सका हूँ। सभी साहित्य जिन्हें मैं केवल इस विषय पर छू सकता था, इसके बजाय ARMA प्रदर्शन करने से पहले केवल डेटा को स्थिर होना चाहिए, और यदि यह गैर-स्थिर है, तो इसे अलग-अलग समय पर अलग करने की आवश्यकता है।

धन्यवाद!


मेरी धारणा यह है कि यह "ऑर्थोगोनल त्रुटियों" के क्रॉस-सेक्शनल रिग्रेशन में धारणा के अनुरूप है (अर्थात यह मानक त्रुटियों को सहता है लेकिन गुणांक नहीं), लेकिन मैं वास्तविक उत्तर सुनने में दिलचस्पी रखता हूं।
छायाकार

जवाबों:


11

मेरी धारणा यह है कि इस प्रश्न का एक अद्वितीय, पूरी तरह से सामान्य उत्तर नहीं है, इसलिए मैं केवल सबसे सरल मामले का पता लगाऊंगा, और थोड़ा अनौपचारिक तरीके से।

(1)yटी=yटी-1+यूटी,टी=1,,टी,y0=0
यूटी(यूटी2)=σयू2

(2)yटी=Σमैं=1टीयूमैं

(3)yटी=βyटी-1+यूटी,टी=1,,टी,y0=0

β^β

कश्मीर

(4)y^टी+कश्मीर=β^कश्मीरyटी

और इसका एमएसई होगा

एमएस[y^टी+कश्मीर]=(β^कश्मीरyटी-yटी+कश्मीर)2

(5)=[(β^कश्मीर-1)yटी-Σमैं=टी+1टी+कश्मीरयूमैं]2=[(β^कश्मीर-1)2yटी2]+कश्मीरσयू2

(वर्ग का मध्य पद लुप्त हो जाता है, साथ ही भविष्य की त्रुटियों के क्रॉस-उत्पाद भी)।

आइए अब कहते हैं कि हमने अपने डेटा को अलग किया है, और एक मॉडल निर्दिष्ट किया हैबी

(6)Δyटी=γΔyटी-1+यूटी

γ^

(7)yटी=yटी-1+γ(yटी-1-yटी-2)+यूटी

इसलिए प्रक्रिया के स्तर का पूर्वानुमान, हमारे पास होगा

y^टी+1=yटी+γ^(yटी-yटी-1)

जो वास्तव में, सही DGP को देखते हुए होगा

(8)y^टी+1=yटी+γ^यूटी

बी

y^टी+कश्मीर=yटी+(γ^+γ^2++γ^कश्मीर)यूटी

|γ^|<10

(9)y^टी+कश्मीर=yटी+γ^-γ^कश्मीर+11-γ^यूटी

इसलिए

(10)एमएसबी[y^टी+कश्मीर]=[(γ^-γ^कश्मीर+11-γ^)2यूटी2]+कश्मीरσयू2

जब मैं सुविधा के लिए दोहराता हूं

(5)एमएस[y^टी+कश्मीर]=[(β^कश्मीर-1)2yटी2]+कश्मीरσयू2

तो, विभेदित मॉडल के लिए भविष्यवाणी MSE के संदर्भ में बेहतर प्रदर्शन करने के लिए, हम चाहते हैं

एमएसबी[y^टी+कश्मीर]एमएस[y^टी+कश्मीर]

[(γ^-γ^कश्मीर+11-γ^)2यूटी2][(β^कश्मीर-1)2yटी2]

बीβ^

β^>1कश्मीरकश्मीरबी

β^<1कश्मीर

[(γ^1-γ^)2यूटी2][yटी2]=टीσयू2??

कश्मीरकश्मीर

(γ^1-γ^)20बी

γ^यूटी

cov[(γ^1-γ^)2,यूटी2]+[(γ^1-γ^)2]σयू2टीσयू2??

cov[(γ^1-γ^)2,यूटी2](टी-[(γ^1-γ^)2])σयू2??

γ^टीγ^(0,1)

इसलिए सभी में, किसी भी विशिष्ट अनुमान पद्धति पर चर्चा किए बिना, मेरा मानना ​​है कि हम अनौपचारिक रूप से यह दिखाने में सक्षम थे कि विभेदित मॉडल से भविष्यवाणी एमएसई के संदर्भ में बेहतर प्रदर्शन करने की उम्मीद की जानी चाहिए।


1

यह अच्छा सवाल है।

जैसा कि मैंने महसूस किया है, आपने सिर्फ pacf पर विचार किया है लेकिन यह पर्याप्त नहीं है। सर्वश्रेष्ठ मॉडल का चयन करने के लिए ACF और PACF दोनों आवश्यक हैं।

दूसरी ओर, स्थिर परीक्षण कमजोर और संवेदनशील होते हैं और परीक्षण करने के लिए बड़ी मात्रा में लैग्स की आवश्यकता होती है।

इसके अलावा, किसी भी मॉडल को लागू करने से पहले समय श्रृंखला को स्थिर बनाना पसंद किया जाता है। मोटे तौर पर, ARIMA मॉडल केवल गैर-स्थिर होने के एक विशेष मामले पर विचार करते हैं (अधिमानतः प्रवृत्ति में)।

आपके प्रश्नों के बारे में, मैं auto.arima फ़ंक्शन के बारे में निश्चित नहीं हूं लेकिन मुझे यकीन है कि आपके उदाहरण में डेटा बिंदुओं की संख्या कम है। अधिक संख्या में डेटा बिंदुओं का उपयोग करके मॉडल का अनुकरण करना आपके प्रश्नों का अच्छी तरह से उत्तर देगा। साथ ही, मैं आपको सलाह देता हूं कि आप ACF के साथ-साथ PACF की समय श्रृंखला पर भी विचार करें। मॉडल चयन के बारे में अंगूठे का नियम सबसे सरल मॉडल चुन रहा है (ध्यान दें कि समय श्रृंखला स्थिर बनाने के बाद सबसे सरल मॉडल)।

मैं आपको इस संदर्भ में बताता हूं । यह पुस्तक आपके सभी सवालों का जवाब नहीं देती है लेकिन आपको कुछ सुराग देती है।

----- पूरक अनुभाग ------- @ आपके डेटा में एक प्रवृत्ति पर विचार कर रहा है। यदि आप एक स्थिर मॉडल पर विचार करते हैं, तो यह एक ऊर्ध्वगामी / नीचे की ओर की भविष्यवाणी के परिणामस्वरूप होता है लेकिन वास्तव में ARMA मॉडल को फ्लैट डेटा की भविष्यवाणी करने के लिए डिज़ाइन किया गया है। इस अंतर को दर्शाने के लिए मैंने आपका कोड बदल दिया है:

( 'पूर्वानुमान') की आवश्यकता होती है

( 'टी-सीरीज़') की आवश्यकता होती है

controlData <- arima.sim (सूची (क्रम = c (1,1,1), ar = .5, ma = .5), n = 1000 )।

एसीएफ़ (controlData)

ts.plot (controlData)

naiveFit <- अरिमा (controlData, ऑर्डर = c (2,0,1))

सचफिट <- अरिमा (कंट्रोलडाटा, ऑर्डर = सी (1,1,1))

PrnaiveFit <-forecast.Arima (naiveFit, 10)

PrtrueFit <- पूर्वानुमान। अरिमा (सच्चा, 10)

matplot (cbind (PrnaiveFit $ माध्य, PrtrueFit $ माध्य), टाइप = 'b', col = c ('लाल', 'हरा'), ylab = c ('आयन का अनुमान'), pch = c ('n') 't'))


1
सवाल पूछता है कि "समय श्रृंखला स्थिर बनाने के लिए" क्यों पसंद किया जाता है। यह वास्तव में उस सवाल का जवाब नहीं है।
छायाकार

@ssdecontrol आप सामान्य रूप से सही हैं। मैं वास्तव में प्रक्षेपीकरण के बाद भविष्यवाणी पर निहित परिणामों के बारे में अधिक चिंतित हूं। लेकिन मैं बहुत अधिक Hamed.HM पर हरा नहीं करना चाहता। उन्होंने अभी भी मेरे आखिरी सवाल के बारे में कहा, "क्या यह एक मॉडल चुनने का सही तरीका है?" लेकिन सिर्फ दोहराने के लिए, यह मेरी चिंता का कम से कम यहाँ है।
क्लार्क हेनरी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.