एसवीडी / पीसीए के लिए "सामान्यीकरण" चर


17

मान लीजिए हम N औसत दर्जे का चर, (a1,a2,,aN) , हम एक नंबर करने के M>N माप की, और उसके बाद प्रदर्शन करना चाहते विलक्षण मूल्य अपघटन के लिए उच्चतम विचरण के कुल्हाड़ियों को खोजने के लिए परिणामों पर M , N -डायमेंशनल स्पेस में पॉइंट करता है। ( नोट: मान लेते हैं कि के माध्यम ai पहले से ही घटाया गया है, इसलिए ai=0 सभी के लिए ।)i

अब मान लीजिए कि चर में से एक (या अधिक) बाकी की तुलना में काफी अलग है। उदाहरण के लिए a1 श्रेणी में मान हो सकता है 10100 , जबकि बाकी चारों ओर हो सकता है 0.11 । इस दिशा में उच्चतम विचरण की धुरी परिवर्तित कर देगा a1 के अक्ष बहुत ज्यादा।

परिमाण में अंतर केवल माप की इकाई के एक दुर्भाग्यपूर्ण विकल्प के कारण हो सकता है (यदि हम भौतिक डेटा के बारे में बात कर रहे हैं, जैसे किलोमीटर बनाम मीटर), लेकिन वास्तव में विभिन्न चर बिल्कुल भिन्न आयाम (जैसे वजन बनाम मात्रा) हो सकते हैं, इसलिए उनके लिए "तुलनीय" इकाइयों को चुनने का कोई स्पष्ट तरीका नहीं हो सकता है।

प्रश्न: मैं जानना चाहूंगा कि क्या इस समस्या से बचने के लिए डेटा को सामान्य करने के लिए कोई मानक / सामान्य तरीके मौजूद हैं। मैं मानक तकनीकों में अधिक रुचि रखता हूं लिए तुलनीय परिमाण पैदा करते हैं -a1aN इस उद्देश्य के लिए एक एन कुछ नया के साथ आने के बजाय।

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

मुझे उम्मीद है कि ऐसा करने के लिए कोई रोटेशन-इनवेरिएंट तरीका नहीं होगा, लेकिन अगर कोई मुझे साहित्य में इस मुद्दे की कुछ चर्चा के लिए विशेष रूप से परिणामों की व्याख्या में कैवियट के बारे में बात कर सकता है, तो मैं सराहना करूंगा।


4
समस्या आमतौर पर घूर्णन अपरिवर्तनीय नहीं होती है, क्योंकि प्रत्येक चर को माप की एक पारंपरिक इकाई के साथ दर्ज किया जाता है। उदाहरण के लिए, पैर में हो सकता है, एक 2 माइक्रोन में, एक 3 लीटर में, आदि यहां तक कि जब सभी इकाइयों, एक ही कर रहे हैं चर चीजों के विभिन्न प्रकार के उपाय, मात्रा जिसके द्वारा वे अलग-अलग हो जाने की संभावना विशेषता मायनों में अलग होगा उन चरों में से: एक बार फिर, यह घूमता नहीं है। इसलिए आपको एक मार्गदर्शक सिद्धांत या विचार के रूप में रोटेशन इनवेरियन को छोड़ देना चाहिए। 123
whuber

जवाबों:


11

तीन सामान्य सामान्यीकरण केंद्रित, स्केलिंग और मानकीकरण हैं।

को रैंडम वेरिएबल होने दें ।एक्स

केंद्रित है

एक्समैं*=एक्समैं-एक्स¯

उसके एवज में होगा ¯ एक्स * = 0एक्स*एक्स*¯=0

स्केलिंग

एक्समैं*=एक्समैं(Σमैंएक्समैं2)

उसके एवज में होगा Σ मैं एक्स * मैं 2 = 1एक्स*Σमैंएक्समैं*2=1

मानकीकरण तत्कालीन-स्केलिंग है। उसके एवज में होगा ¯ एक्स * = 0 और Σ मैं एक्स * मैं 2 = 1एक्स*एक्स*¯=0Σमैंएक्समैं*2=1


क्या आप कृपया "SS" को परिभाषित कर सकते हैं?
जाजबल्स

वर्गों का योग। चुकता शी का योग।
ttnphns

वर्गों के योग को 1 पर सेट करने का कारण, और विचरण नहीं है, क्या तब एकवचन मान प्रमुख अक्षों के साथ मानक विचलन के अनुरूप होगा (जब तक कि मैं गलत नहीं हूं)?
ज़ाबोलक्स

कृपया मेरे प्रश्न को संपादित भी देखें।
झाबुआ

@Szabolcs, मैं वास्तव में आपके संपादन का एक बिंदु याद कर सकता हूं। लेकिन पीसीए (या एसवीडी) केवल एक रोटेशन ही है (कुल्हाड़ियों के ऑर्थोगोनल रोटेशन का एक विशेष मामला)। क्लाउड के किसी भी अनुवाद (जैसे केंद्र में) या सिकुड़ना / फैलाव (जैसे स्केलिंग) को इस रोटेशन के परिणामों को प्रभावित करना चाहिए।
tnnphns

7

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

सहसंबंध मैट्रिक्स पर पीसीए करना विश्लेषण से पहले सभी चर को मानकीकृत करने के बराबर है (और फिर सहसंयोजक मैट्रिक्स पर पीसीए करना)। मानकीकरण का अर्थ है, प्रत्येक चर को उसके मानक विचलन द्वारा केन्द्रित करना और फिर विभाजित करना, ताकि वे सभी इकाई विचरण के हो जाएं। इसे सभी इकाइयों को तुलनीय बनाने के लिए एक सुविधाजनक "इकाइयों के परिवर्तन" के रूप में देखा जा सकता है।

कोई यह पूछ सकता है कि क्या कभी-कभी "सामान्यीकरण" चर का एक बेहतर तरीका हो सकता है; उदाहरण के लिए, कोई कच्चे विचरण के बजाय विचरण के कुछ मजबूत अनुमानों को विभाजित करना चुन सकता है। यह निम्नलिखित सूत्र में पूछा गया था, और आगामी चर्चा देखें (भले ही कोई निश्चित उत्तर वहां नहीं दिया गया हो):

अंत में, आप चिंतित थे कि मानक विचलन (या कुछ इसी तरह) द्वारा सामान्यीकरण घूर्णन अपरिवर्तनीय नहीं है। खैर, हाँ, यह नहीं है। लेकिन, जैसा कि @whuber ने ऊपर टिप्पणी में कहा है, ऐसा करने का कोई रोटेशन अनियंत्रित तरीका नहीं है: अलग-अलग वैरिएबल की इकाइयों को बदलना रोटेशन इंवेरिएंट ऑपरेशन नहीं है ! यहां चिंता की कोई बात नहीं है।


मैं इसे पीसीए के लिए प्राप्त करता हूं। लेकिन क्या एकल मूल्य अपघटन चलाने से पहले किसी भी तरह के सामान्यीकरण की सिफारिश की जाती है?
हिपोग्लुसीडो

4

पीसीए को लागू करने से पहले एक आम तकनीक नमूनों से मतलब निकालना है। यदि आप ऐसा नहीं करते हैं, तो पहला ईजनवेक्टर माध्य होगा। मुझे यकीन नहीं है कि आपने इसे किया है लेकिन मुझे इसके बारे में बात करने दें। अगर हम MATLAB कोड में बोलते हैं: यह है

clear, clf
clc
%% Let us draw a line
scale = 1;
x = scale .* (1:0.25:5);
y = 1/2*x + 1;

%% and add some noise
y = y + rand(size(y));

%% plot and see
subplot(1,2,1), plot(x, y, '*k')
axis equal

%% Put the data in columns and see what SVD gives
A = [x;y];
[U, S, V] = svd(A);

hold on
plot([mean(x)-U(1,1)*S(1,1) mean(x)+U(1,1)*S(1,1)], ...
     [mean(y)-U(2,1)*S(1,1) mean(y)+U(2,1)*S(1,1)], ...
     ':k');
plot([mean(x)-U(1,2)*S(2,2) mean(x)+U(1,2)*S(2,2)], ...
     [mean(y)-U(2,2)*S(2,2) mean(y)+U(2,2)*S(2,2)], ...
     '-.k');
title('The left singular vectors found directly')

%% Now, subtract the mean and see its effect
A(1,:) = A(1,:) - mean(A(1,:));
A(2,:) = A(2,:) - mean(A(2,:));

[U, S, V] = svd(A);

subplot(1,2,2)
plot(x, y, '*k')
axis equal
hold on
plot([mean(x)-U(1,1)*S(1,1) mean(x)+U(1,1)*S(1,1)], ...
     [mean(y)-U(2,1)*S(1,1) mean(y)+U(2,1)*S(1,1)], ...
     ':k');
plot([mean(x)-U(1,2)*S(2,2) mean(x)+U(1,2)*S(2,2)], ...
     [mean(y)-U(2,2)*S(2,2) mean(y)+U(2,2)*S(2,2)], ...
     '-.k');
title('The left singular vectors found after subtracting mean')

जैसा कि आंकड़े से देखा जा सकता है, मुझे लगता है कि यदि आप (सह) भिन्नता का बेहतर विश्लेषण करना चाहते हैं तो आपको डेटा से मतलब निकालना चाहिए। तब मान 10-100 और 0.1-1 के बीच नहीं होंगे, लेकिन उनका मतलब शून्य होगा। विभिन्नताओं को आइगेनवेल्यूज़ (या एकवचन मान के वर्ग) के रूप में पाया जाएगा। मामले के लिए एक आयाम के पैमाने से पाए जाने वाले आइजनवेक्टर तब प्रभावित नहीं होते हैं जब हम उस स्थिति को घटाते हैं जब हम ऐसा नहीं करते हैं। उदाहरण के लिए, मैंने परीक्षण किया है और निम्नलिखित को देखा है जो बताता है कि आपके मामले के लिए माध्य घटाना मायने रखता है। इसलिए समस्या का परिणाम भिन्नता से नहीं बल्कि अनुवाद के अंतर से हो सकता है।

% scale = 0.5, without subtracting mean
U =

-0.5504   -0.8349
-0.8349    0.5504


% scale = 0.5, with subtracting mean
U =

-0.8311   -0.5561
-0.5561    0.8311


% scale = 1, without subtracting mean
U =

-0.7327   -0.6806
-0.6806    0.7327

% scale = 1, with subtracting mean
U =

-0.8464   -0.5325
-0.5325    0.8464


% scale = 100, without subtracting mean
U =

-0.8930   -0.4501
-0.4501    0.8930


% scale = 100, with subtracting mean
U =

-0.8943   -0.4474
-0.4474    0.8943

यहाँ छवि विवरण दर्ज करें


1
मुझे इस प्रश्न में उल्लेख करना चाहिए कि माध्य पहले ही घटाया जा चुका है। मैं उसके अनुसार संपादन करूंगा।
झाबुआ

1
NN

1
मुझे लगता है कि ऐसा करने के लिए एक रोटेशन-अपरिवर्तनीय तरीका नहीं हो सकता है, लेकिन मैं कम से कम इन मुद्दों की कुछ चर्चा पढ़ना पसंद करूंगा ... किसी भी संकेत का स्वागत करते हैं। नोट: मेरे पास लागू स्टेट में कोई प्रशिक्षण नहीं है (केवल गणित, जैसे कि लिनाल्ग, प्रोब थ्योरी), इसलिए मैं यह सामान सीख रहा हूं जैसे मैं जा रहा हूं।
शाजोलक्स

1
जब आप नमूनों को केंद्र में नहीं रखते हैं (स्तंभों से साधनों को घटाते हैं), तो पहला ईजनवेक्टर आमतौर पर साधनों का वेक्टर नहीं होता है।
whuber

-1 डाउनवोट, क्योंकि यह उत्तर केवल केंद्रीकरण के बारे में है, जबकि प्रश्न स्केलिंग के बारे में है। इसके अलावा, यह दावा है कि पहले आइजनवेक्टर जरूरी हैं कि सदिश का मतलब गलत है, जैसा कि @whuber ने उल्लेख किया है।
अमीबा का कहना है कि मोनिका

-5

पीसीए के लिए डेटा को सामान्य करने के लिए, निम्न सूत्र का भी उपयोग किया जाता है

अनुसूचित जाति=100एक्स-मिनट(एक्स)अधिकतम(एक्स)-मिनट(एक्स)

एक्ससीटीएक्स


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