मैं वर्तमान में मैटलैब का उपयोग करके विभिन्न सिग्नल बना रहा हूं, उन्हें मिश्रित मैट्रिक्स ए द्वारा गुणा करके मिश्रण कर रहा हूं, और फिर FastICA का उपयोग करके मूल सिग्नल वापस पाने का प्रयास कर रहा हूं।आईसीए - कॉवेरिएंस मैट्रिक्स की सांख्यिकीय स्वतंत्रता और ईजिनवेल्स
अब तक, मूलभूत की तुलना में पुनर्प्राप्त सिग्नल वास्तव में खराब हैं, जो मुझे अपेक्षित नहीं था।
मैं यह देखने की कोशिश कर रहा हूं कि मैं कुछ भी गलत कर रहा हूं या नहीं। संकेत मैं पैदा कर रहा हूँ निम्नलिखित हैं: (। आयाम रेंज [0,1] में हैं)
s1 = (-x.^2 + 100*x + 500)/3000; % quadratic
s2 = exp(-x/10); % -ve exponential
s3 = (sin(x)+ 1) * 0.5; % sine
s4 = 0.5 + 0.1 * randn(size(x, 2), 1); % gaussian
s5 = (sawtooth(x, 0.75)+ 1) * 0.5; % sawtooth
के लिए आईसीए सफल होने के लिए
एक शर्त यह है कि अधिक से अधिक एक संकेत गाऊसी है , और मैंने इसे अपनी सिग्नल पीढ़ी में देखा है।
हालांकि, एक और शर्त यह है कि सभी सिग्नल सांख्यिकीय रूप से स्वतंत्र हैं।
मुझे पता है कि इसका मतलब है कि, दो सिग्नल ए & बी दिया गया है, एक सिग्नल को जानना दूसरे के संबंध में कोई जानकारी नहीं देता है, यानी: पी (ए | बी) = पी (ए) जहां पी संभावना है।
अब मेरा प्रश्न यह है: क्या मेरे सिग्नल सांख्यिकीय रूप से स्वतंत्र हैं? क्या कोई तरीका है कि मैं इसे निर्धारित कर सकता हूं? शायद कुछ संपत्ति जो मनाई जानी चाहिए?
एक और बात मैंने देखा है यह है कि जब मैं सहप्रसरण मैट्रिक्स के eigenvalues गणना (मिश्रित संकेतों युक्त मैट्रिक्स के लिए गणना), eigenspectrum केवल एक (मुख्य) प्रमुख घटक है कि वहाँ दिखाने के लिए लगता है। इसका सचमुच में मतलब क्या है? 5 नहीं होना चाहिए, क्योंकि मेरे पास 5 (माना जाता है) स्वतंत्र सिग्नल हैं?
उदाहरण के लिए, जब मिश्रण निम्नलिखित मैट्रिक्स का उपयोग करते हुए:
A =
0.2000 0.4267 0.2133 0.1067 0.0533
0.2909 0.2000 0.2909 0.1455 0.0727
0.1333 0.2667 0.2000 0.2667 0.1333
0.0727 0.1455 0.2909 0.2000 0.2909
0.0533 0.1067 0.2133 0.4267 0.2000
eigenvalues हैं: 0.0000 0.0005 0.0022 0.0042 0.0345
(! केवल 4)
मिश्रण मैट्रिक्स के रूप में पहचान मैट्रिक्स (यानी मिश्रित संकेत हैं का उपयोग करते समय मूल के समान ही), eigenspectrum है: 0.0103 0.0199 0.0330 0.0811 0.1762
। बाकी के मुकाबले अभी भी एक मूल्य बहुत बड़ा है ..
आपकी मदद के लिए धन्यवाद।
मैं क्षमा चाहता हूं कि मेरे प्रश्नों के उत्तर दर्दनाक रूप से स्पष्ट हैं, लेकिन मैं आंकड़ों, आईसीए और मैटलैब के लिए वास्तव में नया हूं। एक बार फिर धन्यवाद।
EDIT - मेरे पास प्रत्येक सिग्नल के 500 नमूने हैं, [0.2, 100], 0.2 के चरणों में, यानी x = 0:0.1:100
।
संपादित करें - को देखते हुए आईसीए मॉडल: एक्स = के रूप में + n (मैं इस समय किसी भी शोर जोड़ने नहीं कर रहा हूँ), लेकिन मुझे अर्थात eig(cov(X'))
एक्स के पक्षांतरित की eigenspectrum की चर्चा करते हुए कर रहा हूँ,।
मैंने x = 0.2: 0.2: 100 का उपयोग किया (मैंने अभी यह विवरण मेरे मूल प्रश्न में जोड़ा है - इसे इंगित करने के लिए धन्यवाद।) आप उस कॉन्वर्स मैट्रिक्स पर कैसे पहुंचे? मिश्रित मैट्रिक्स ए के लिए कॉन्वर्सिस मैट्रिक्स जो मैंने प्रश्न में पोस्ट किया है वह अलग है। इसके अलावा, eig (cov (ए) का उपयोग करके) आपको मैट्रिक्स के eigenvectors, eigenvalctors देता है। इसके अलावा, मैं ए के कॉन्वर्सिस मैट्रिक्स के eigenvalues का जिक्र नहीं कर रहा था, लेकिन मिश्रित संकेतों के covariance मैट्रिक्स के eigenvalues। इसे स्पष्ट करने के लिए मैं इसे अपने प्रश्न में जोड़ दूंगा। – Rachel
ओह और लिंक के लिए धन्यवाद, लेकिन क्या आप आगे की व्याख्या कर सकते हैं? जैसे मैंने कहा, मैं एक आंकड़े नौसिखिया हूँ। मैं जानना चाहता हूं कि क्या एक सामान्य विधि है जिसका प्रयोग यह जांचने के लिए किया जाता है कि कितने सिग्नल सांख्यिकीय रूप से स्वतंत्र हैं या नहीं। – Rachel
आपकी टिप्पणी के लिए धन्यवाद, हालांकि, यह वास्तव में मुझे कहीं भी नहीं मिला है। मेरी समस्या ईगेंवल्यू की गणना करने की नहीं थी, लेकिन इतनी अधिक क्यों कि eigenvalues वे हैं .. आप देख सकते हैं कि eigenvalues में से एक अपेक्षाकृत बड़ा है।मुझे लगता है कि सांख्यिकीय रूप से स्वतंत्र संकेतों के लिए, eigenvalues कम या कम बराबर होगा, और मैं यह जानना चाहता हूं कि यह सच है या नहीं। इसके अलावा मुझे यह जांचने के लिए एक ठोस तरीका नहीं मिला है कि मेरे सिग्नल स्वतंत्र हैं या नहीं। – Rachel