एक दिए गए नमूना सहसंयोजक मैट्रिक्स के साथ डेटा उत्पन्न करना


22

एक सहसंयोजक मैट्रिक्स को देखते हुए Σs, कैसे डेटा उत्पन्न करने के लिए कि इसमें नमूना covariance मैट्रिक्स Σ^=Σs ?


आम तौर पर: हम अक्सर घनत्व x (x \ vert \ boldsymbol \ theta) से डेटा उत्पन्न करने में रुचि रखते हैं f(x|θ), डेटा x के साथ xकुछ पैरामीटर वेक्टर θ । इसके परिणामस्वरूप एक नमूना होता है, जिसमें से हम फिर से एक मूल्य का अनुमान θ^ । मुझे जो रुचि है, वह उलटी समस्या है: क्या होगा यदि हमें पैरामीटर \ boldsymbol \ theta_ {s} का एक सेट दिया जाता है θs, और हम एक नमूना x उत्पन्न करना चाहेंगे x, जैसे कि θ^=θs

क्या यह एक ज्ञात समस्या है? क्या ऐसी कोई विधि उपयोगी है? एल्गोरिदम उपलब्ध हैं?


एक स्केलेबल समाधान Attilio Meucci द्वारा प्रदान किया गया है। इस जोखिम अनुच्छेद और matlab कोड
पीटर कॉटन

जवाबों:


16

इस तरह की समस्याओं के लिए दो अलग-अलग विशिष्ट परिस्थितियाँ हैं:

i) आप दिए गए वितरण से एक नमूना उत्पन्न करना चाहते हैं, जिनकी जनसंख्या विशेषताएँ निर्दिष्ट लोगों से मेल खाती हैं (लेकिन नमूना भिन्नता के कारण, आपके पास नमूना विशेषताओं का बिल्कुल मिलान नहीं है)।

ii) आप एक नमूना उत्पन्न करना चाहते हैं जिसकी नमूना विशेषताएँ निर्दिष्ट लोगों से मेल खाती हैं (लेकिन, मूल्यों के एक निर्धारित सेट के लिए बिल्कुल सही नमूना मात्रा की बाधाओं के कारण, वास्तव में आपके इच्छित वितरण से नहीं आते हैं)।

आप दूसरा मामला चाहते हैं - लेकिन आप इसे पहले मामले के समान दृष्टिकोण का पालन करके प्राप्त करते हैं, एक अतिरिक्त मानकीकरण कदम के साथ।

बहुभिन्नरूपी मानदंडों के लिए, या तो काफी सरल तरीके से किया जा सकता है:

पहले मामले में आप जनसंख्या संरचना के बिना यादृच्छिक मानदंड का उपयोग कर सकते हैं (जैसे कि आईआईडी मानक सामान्य, जिसमें अपेक्षा 0 और पहचान सहसंयोजक मैट्रिक्स है) और फिर इसे लागू करें - सहसंयोजक मैट्रिक्स पाने के लिए और इसका मतलब है कि आप चाहते हैं। अगर और जनसंख्या का मतलब है और covariance की आपको आवश्यकता है और iid मानक सामान्य हैं, तो आप गणना करते हैं , कुछ जहां (उदाहरण के लिए एक उपयुक्त को चोल्स्की अपघटन से प्राप्त किया जा सकता है) । तब की वांछित जनसंख्या विशेषताएँ हैं।Σ z y = एल जेड + μ एल एल एल ' = Σ एल yμΣzy=Lz+μLLL=ΣLy

दूसरे के साथ, आपको पहले शून्य के माध्य और पहचान वाले कोविरेन्स (नमूना माध्य शून्य और नमूना कोवरियन बनाते हुए ) से भी यादृच्छिक भिन्नता को हटाने के लिए अपने यादृच्छिक मानदंडों को बदलना होगा , फिर पहले की तरह आगे बढ़ें। लेकिन सटीक मतलब से नमूना विचलन को हटाने का वह प्रारंभिक चरण , विचरण वितरण के साथ हस्तक्षेप करता है। (छोटे नमूनों में यह काफी गंभीर हो सकता है।) 0 मैंIn0I

इस का नमूना माध्य को घटा कर किया जा सकता है ( ) और के Cholesky अपघटन की गणना । यदि बाएँ चोल्स्की कारक है, तो का नमूना नमूना 0 और पहचान नमूना सहसंयोजक होना चाहिए। फिर आप गणना कर सकते हैं और वांछित नमूना क्षणों के साथ एक नमूना ले सकते हैं। (आपकी नमूना मात्रा कैसे परिभाषित की जाती है, इस पर निर्भर करता है कि जैसे कारकों द्वारा गुणा / भाग करने के साथ एक अतिरिक्त छोटी फ़ेल्ट हो सकती है , लेकिन यह उस आवश्यकता को पहचानने के लिए पर्याप्त आसान है।)जेड * = z - ˉ जेड जेड * एल * जेड ( 0 ) = ( एल * ) - 1 जेड * y = एल जेड ( 0 ) + μ zz=zz¯zLz(0)=(L)1zy=Lz(0)+μn1n


1
+1। दूसरे दिन, मुझे एक दिए गए नमूना सहसंयोजक मैट्रिक्स के साथ कुछ डेटा उत्पन्न करने की आवश्यकता थी, यह नहीं पता था कि यह कैसे करना है, और किसी कारण से मुझे आपका उत्तर खोजने में बहुत समय लगा। इस धागे की दृश्यता बढ़ाने के लिए और आपके सुझावों को समझाने के लिए, मैंने कुछ मतलाब कोड के साथ यहां एक और उत्तर पोस्ट किया।
अमीबा का कहना है कि मोनिका

@amoeba मुझे आश्चर्य है कि यदि आपके द्वारा उपयोग किए गए खोज शब्दों में से एक को डालने की संभावना है जो पहले से ही प्रश्न टैग में मौजूद नहीं हैं (या संभवतः प्रश्न के पाठ में एक छोटे से संपादन में कई सम्मिलित कर रहे हैं, जो अभी भी इसे खोजने में मदद करना चाहिए। )। मैं अब सोच रहा था कि क्या मुझे आर में भी यही काम करना चाहिए ... लेकिन फिर क्या यह मेरे जवाब में बेहतर है, या आपके अतिरिक्त?
Glen_b -Reinstate मोनिका

1
मैंने पहले ही प्रश्न को संपादित करने की स्वतंत्रता ले ली है, और अपने उत्तर को ऐसे बनाने की भी कोशिश की है कि इसमें अधिक से अधिक कीवर्ड शामिल हों। आशा है कि यह मदद करेगा। मैं आश्चर्यचकित था, इस सरल टिप (आवश्यक कोवरियन में बदलने से पहले उत्पन्न डेटा को सफेद करना) Google के लिए बहुत मुश्किल था; कुछ भी नहीं मिला (सीवी या अन्य जगहों पर), जब तक कि मुझे अंत में आपका जवाब नहीं मिला।
अमीबा का कहना है कि मोनिका

1
@amoeba ओह, ठीक है, धन्यवाद। हाँ, वास्तव में, मैं यह नहीं कह सकता कि मैं कभी भी इसे बहुभिन्नरूपी मामले के लिए उल्लेख करते हुए याद कर रहा हूँ (इसमें कोई संदेह नहीं है, क्योंकि यह एक काफी स्पष्ट विचार है, खासकर यदि आप पहले से ही अनइवरिएट केस के लिए सोच चुके हैं, या है पहले से ही इसे univariate मामले में देखा गया है)।
Glen_b -Reinstate मोनिका

@Glen_b जैसा कि आप कहते हैं, इन "शुद्ध" नमूनों के परिणामस्वरूप वितरण सामान्य नहीं हो सकता है। क्या आपके पास कोई विचार है कि परिणामी वितरण क्या हो सकता है? या हो सकता है कि यह सशर्त वितरण के बराबर / बराबर नहीं हैZz¯=μ,Cov(z)=Σ
gg

17

@Glen_b ने एक अच्छा उत्तर (+1) दिया, जिसे मैं कुछ कोड के साथ स्पष्ट करना चाहता हूं।

ndΣchol(Σ)

n = 100;
d = 2;
Sigma = [ 1    0.7  ; ...
          0.7   1   ];
rng(42)
X = randn(n, d) * chol(Sigma);

Σcov(X)

1.0690    0.7296
0.7296    1.0720

पूर्व-निर्दिष्ट नमूना सहसंबंध या सहसंयोजक मैट्रिक्स के साथ डेटा कैसे उत्पन्न करें ?

Ichol(Σ)

यहाँ मेरे Matlab उदाहरण की निरंतरता है:

X = randn(n, d);
X = bsxfun(@minus, X, mean(X));
X = X * inv(chol(cov(X)));
X = X * chol(Sigma);

अब cov(X), आवश्यकतानुसार, रिटर्न

1.0000    0.7000
0.7000    1.0000

+1। किसी तरह यह प्रश्न सीवी में विभिन्न स्थानों में विभिन्न रूपों में है। क्या आगे बढ़ने का एक तरीका है यदि हम जानते हैं कि बहुभिन्नरूपी वितरण गैर-गाऊसी है?
rgk

यदि आप बहुभिन्नरूपी वितरण के रूप को जानते हैं, तो आप इसे कुछ मामलों में देखना चाहते हैं।
Glen_b -Reinstate मोनिका
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.