ऐसा प्रतीत होता है कि आप पूछ रहे हैं कि किसी विशेष सहसंबंध मैट्रिक्स के साथ डेटा कैसे उत्पन्न किया जाए।
एक उपयोगी तथ्य यह है कि आप एक यादृच्छिक वेक्टर अगर के साथ सहप्रसरण मैट्रिक्स Σ , तो यादृच्छिक वेक्टर एक एक्स है मतलब एक ई ( एक्स ) और सहप्रसरण मैट्रिक्स Ω = एक Σ एक टी । इसलिए, यदि आप ऐसे डेटा से शुरू करते हैं जिसका मतलब शून्य है, तो ए से गुणा करने से वह नहीं बदलेगा, इसलिए आपकी पहली आवश्यकता आसानी से पूरी हो जाती है। xΣAxAE(x)Ω=AΣATA
मान लें कि आप बिना मतलब के डेटा के साथ शुरुआत करते हैं (यानी सहसंयोजक मैट्रिक्स विकर्ण है) - चूंकि हम सहसंबंध मैट्रिक्स के बारे में बात कर रहे हैं, चलो बस लेते हैं । आप का चयन करके एक दिया सहप्रसरण मैट्रिक्स के साथ डेटा को यह बदल सकता है एक होने के लिए Cholesky वर्गमूल की Ω तो - एक एक्स होता वांछित सहप्रसरण मैट्रिक्स Ω ।Σ=IAΩAxΩ
अपने उदाहरण में, आप कुछ इस तरह चाहते हैं:
Ω=⎛⎝⎜1.80.81.80.81⎞⎠⎟
दुर्भाग्य से कि मैट्रिक्स सकारात्मक निश्चित नहीं है, इसलिए यह एक सहसंयोजक मैट्रिक्स नहीं हो सकता है - आप यह देखकर यह देख सकते हैं कि निर्धारक नकारात्मक है। शायद, इसके बजाय
Ω=⎛⎝⎜1.8.3.81.8.3.81⎞⎠⎟ or Ω=⎛⎝⎜12/302/312/302/31⎞⎠⎟
पर्याप्त होगा। मुझे यकीन नहीं है कि मतलाब में चोल्स्की स्क्वायर रूट की गणना कैसे करें (जो प्रतीत होता है कि आप क्या उपयोग कर रहे हैं) लेकिन R
आप chol()
फ़ंक्शन का उपयोग कर सकते हैं ।
इस उदाहरण में, के लिए दो उचित मैट्रिक्स गुणकों ऊपर सूचीबद्ध रहा है (क्रमशः) होगाΩ
A=⎛⎝⎜1.8.30.6.93300.1972⎞⎠⎟ or A=⎛⎝⎜12/300.7453.894400.4472⎞⎠⎟
इस R
पर आने के लिए इस्तेमाल किया गया कोड था:
x = matrix(0,3,3)
x[1,]=c(1,.8,.3)
x[2,]=c(.8,1,.8)
x[3,]=c(.3,.8,1)
t(chol(x))
[,1] [,2] [,3]
[1,] 1.0 0.0000000 0.0000000
[2,] 0.8 0.6000000 0.0000000
[3,] 0.3 0.9333333 0.1972027
x[1,]=c(1,2/3,0)
x[2,]=c(2/3,1,2/3)
x[3,]=c(0,2/3,1)
t(chol(x))
[,1] [,2] [,3]
[1,] 1.0000000 0.0000000 0.0000000
[2,] 0.6666667 0.7453560 0.0000000
[3,] 0.0000000 0.8944272 0.4472136