आर में स्वत: सहसंबद्ध यादृच्छिक मूल्य बनाना


11

हम स्वत: सहसंबद्ध यादृच्छिक मूल्यों को बनाने की कोशिश कर रहे हैं जिनका उपयोग समय के रूप में किया जाएगा। हमारे पास कोई मौजूदा डेटा नहीं है जिसे हम संदर्भित करते हैं और केवल खरोंच से वेक्टर बनाना चाहते हैं।

एक तरफ हमें वितरण और उसके एसडी के साथ एक यादृच्छिक प्रक्रिया की आवश्यकता है।

दूसरी ओर यादृच्छिक प्रक्रिया को प्रभावित करने वाले निरंकुशता का वर्णन करना पड़ता है। सदिश के मानों को कई टिमलों पर कम होती ताकत के साथ परस्पर जोड़ा जाता है। जैसे lag1 में 0.5, lag2 0.3, lag1 0.1 आदि हैं।

तो अंत में वेक्टर को कुछ ऐसा देखना चाहिए: 2, 4, 7, 11, 10, 8, 5, 4, 2, -1, 2, 5, 9, 12, 13, 10, 8, 4, 3, 1, -2, -5

और इसी तरह।

जवाबों:


11

मैं वास्तव में अक्सर उस समस्या में भाग जाता हूं। आर में ऑटो-सहसंबंध के साथ समय श्रृंखला उत्पन्न करने के लिए मेरे दो पसंदीदा तरीके इस बात पर निर्भर करते हैं कि मुझे एक स्थिर प्रक्रिया चाहिए या नहीं।

एक गैर स्थिर समय श्रृंखला के लिए मैं एक ब्राउनियन गति का उपयोग करता हूं। उदाहरण के लिए, लंबाई 1000 के लिए मैं करता हूं:

x <- diffinv(rnorm(999))

एक स्थिर समय श्रृंखला के लिए मैं एक गाऊसी शोर को फ़िल्टर करता हूं। उदाहरण के लिए यह दिखता है:

x <- filter(rnorm(1000), filter=rep(1,3), circular=TRUE)

उस स्थिति में, lag पर ऑटो-सहसंबंध 0 if । अन्य मामलों में, हमें चर की राशि के बीच सहसंबंध की गणना करनी होगी। उदाहरण के लिए सहसंयोजक हैττ>2τ=1

Cov(X1;X2)=Cov(Y1+Y2+Y3;Y2+Y3+Y4)=Var(Y2)+Var(Y3)=2.

तो आप देखते हैं कि ऑटो सहप्रसरण रैखिक ऊपर नीचे चला जाता है जब तक जहां फिल्टर की लंबाई है।nn

आप लंबी मेमोरी टाइम सीरीज़ (जैसे फ्रैक्शनल ब्राउनियन मोशन) भी करना चाहते हैं, लेकिन यह अधिक शामिल है। मेरे पास डेवीस-हर्टे विधि का एक आर कार्यान्वयन है जो आप चाहें तो मैं आपको भेज सकता हूं।


लंबी मेमोरी टाइम सीरीज़ के अहसास पाने के लिए मैं वोरनेल की 1996 की पुस्तक (लिंक: books.google.cl/books/about/… ), :-) की सिफारिश करूंगा । यद्यपि लंबी मेमोरी प्रक्रियाओं की कार्यप्रणाली यह "आसान" नहीं है, फिर भी आप इसे कर सकते हैं।
Néstor

मैंने आपके दृष्टिकोण का उपयोग किया है और यह सामान्य रूप से काम करता है, लेकिन मुझे फिल्टर में उपयोग किए जाने वाले लक्ष्य फ़ंक्शन और परिणामस्वरूप ऑटोक्रेलेशन फ़ंक्शन के बीच मामूली विचलन मिलता है। कृपया इस प्रश्न पर एक नज़र डालें: आंकड़े.stackexchange.com/questions/176722/…
nnn

7

यदि आपके पास एक दिया गया ऑटोकॉवरियन फ़ंक्शन है, तो सबसे अच्छा मॉडल (ट्रैक्टेबिलिटी के संदर्भ में) मैं सोच सकता हूं कि एक बहुभिन्नरूपी गॉसियन प्रक्रिया है, जहां, ऑटोकॉवरियन फ़ंक्शन दिया जाता है आर(τ) अंतराल पर τ, आप आसानी से सहसंयोजक मैट्रिक्स बना सकते हैं,

Σ=[आर(0)आर(1)आर(एन)आर(1)आर(0)आर(एन-1)आर(एन)आर(एन-1)आर(0)]

इस सहसंयोजक मैट्रिक्स को देखते हुए, आप दिए गए सहसंयोजक मैट्रिक्स के साथ एक बहुभिन्नरूपी गाऊसी से डेटा का नमूना लेते हैं Σ, यानी, वितरण से एक सदिश नमूना

(एक्स)=1(2π)एन/2|Σ|1/2exp(-12(एक्स-μ)टीΣ-1(एक्स-μ)),
कहाँ पे μ मतलब वेक्टर है।

5

आप एक autoregressive प्रक्रिया का निर्माण करके एक सहसंबद्ध अनुक्रम उत्पन्न कर सकते हैं। उदाहरण के लिए AR (1) प्रक्रिया एक्स(टी)=एक्स(टी-1)+(टी)। उत्पन्न(0)अपने चुने हुए वितरण के लिए एक समान यादृच्छिक संख्या जनरेटर का उपयोग करना। तो करने देंएक्स(0)=(0) प्राप्त एक्स(1)=एक्स(0)+(1)और इसी तरह। (मैं)क्रमिक रूप से आपके समान यादृच्छिक संख्याओं का उपयोग करके यादृच्छिक रूप से चुना जाता है। देनाएक्स(मैं) आप चाहते हैं कि औसत और मानक विचलन, आप इसे शोर अनुक्रम के माध्य और विचरण से प्राप्त कर सकते हैं (मैं)। चुनें(मैं) उचित रूप से।


4
यह संभवतः arima.sim()यहाँ फ़ंक्शन के अस्तित्व को इंगित करने के लायक है।
fmark

यकीन है कि जो लोग अब आर को आर में कार्यान्वयन के लिए उन सुझावों को बनाना चाहिए जैसा कि ओपी जानना चाहता है।
माइकल आर। चेरिक 27'12
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.