प्रमुख घटक विश्लेषण, eigenvectors और eigenvalues ​​की समझ बनाना


975

आज के पैटर्न मान्यता वर्ग में मेरे प्रोफेसर ने PCA, eigenvectors और eigenvalues ​​के बारे में बात की।

मुझे इसका गणित समझ में आया। अगर मुझे आइजनवेल्स आदि खोजने के लिए कहा जाए तो मैं इसे मशीन की तरह सही तरीके से करूंगा। लेकिन मुझे यह समझ में नहीं आया । मुझे इसका उद्देश्य नहीं मिला। मुझे इसका अहसास नहीं हुआ।

मैं निम्नलिखित उद्धरण में दृढ़ता से विश्वास करता हूं:

जब तक आप इसे अपनी दादी को नहीं समझा सकते, तब तक आपको वास्तव में कुछ समझ नहीं आता है। -- अल्बर्ट आइंस्टीन

खैर, मैं इन अवधारणाओं को एक आम आदमी या दादी को नहीं समझा सकता।

  1. PCA, eigenvectors और eigenvalues ​​क्यों? इन अवधारणाओं की क्या आवश्यकता थी ?
  2. आप आम आदमी को कैसे समझाएंगे?

95
अच्छा प्रश्न। मैं उद्धरण के साथ भी सहमत हूँ। मेरा मानना ​​है कि सांख्यिकी और गणित में बहुत से लोग हैं जो बहुत बुद्धिमान हैं, और अपने काम में बहुत गहरे उतर सकते हैं, लेकिन वे जो काम कर रहे हैं उसे गहराई से समझ नहीं पाते हैं। या वे करते हैं, लेकिन इसे दूसरों को समझाने में असमर्थ होते हैं। मैं अपने तरीके से यहाँ से बाहर सीधे अंग्रेजी में उत्तर प्रदान करने के लिए जाता हूं, और प्रश्न पूछते हुए अंग्रेजी के जवाब मांगता हूं।
नील मैकगिगन

7
यह जुलाई में गणित साइट पर पूछा गया था, लेकिन साथ ही साथ इसे कई जवाब नहीं मिले (आश्चर्य नहीं, वहां अलग ध्यान दिया गया)। math.stackexchange.com/questions/1146/...
whuber

6
पारिस्थितिक डेटा का विश्लेषण करने में ज़्यूर एट अल द्वारा स्पष्टीकरण के समान, जहां वे ओवरहेड प्रोजेक्टर पर आपके हाथ को प्रोजेक्ट करने की बात करते हैं। आप अपने हाथ को घुमाते रहते हैं ताकि दीवार पर प्रोजेक्शन देखने में जैसा लगे वैसा ही लगे।
रोमन लुसट्रिक

12
यह प्रश्न मुझे एक अच्छे पेपर की ओर ले जाता है, और भले ही मुझे लगता है कि यह एक महान उद्धरण है जो आइंस्टीन का नहीं है। यह एक आम गलतफहमी है, और अधिक संभावना मूल उद्धरण शायद अर्नेस्ट रदरफोर्ड का यह एक है जिसने कहा था, "यदि आप अपने भौतिकी को एक बारामेड को नहीं समझा सकते हैं तो यह शायद बहुत अच्छा भौतिकी नहीं है।" इस धागे को शुरू करने के लिए सभी एक ही धन्यवाद।
गावल्ट्ज़

23
ऐलिस कैलाप्रिस, द अल्टीमेट कोटेबल आइंस्टीन , प्रिंसटन यूपी 2011 ने कई "संभवत: आइंस्टीन द्वारा नहीं" में से एक के रूप में उद्धरण को झंडी दिखाई । पृष्ठ 482 देखें।
निक कॉक्स

जवाबों:


1292

एक बड़े परिवार के खाने की कल्पना करें, जहाँ हर कोई आपसे पीसीए के बारे में पूछने लगे। पहले आप इसे अपनी महान-दादी को समझाएं; फिर दादी को; फिर अपनी माँ के लिए; फिर अपने जीवनसाथी को; अंत में, आपकी बेटी (जो एक गणितज्ञ है) के लिए। हर बार अगला व्यक्ति आम आदमी से कम होता है। यहां बताया गया है कि बातचीत कैसे हो सकती है।

महान-दादी: मैंने सुना है आप "पेश-सी-आय" पढ़ रहे हैं। मुझे आश्चर्य है कि वह क्या है ...

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

दादी: यह दिलचस्प है! तो यह पीसीए चीज यह जांचती है कि कौन सी विशेषताएँ निरर्थक हैं और उन्हें त्याग देती है?

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

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

माँ: ह्म्म्म, यह निश्चित रूप से अच्छा लग रहा है, लेकिन मुझे यकीन नहीं है कि मैं समझ गई हूं। जब आप कहते हैं कि वास्तव में आपका क्या मतलब है तो ये नए पीसीए विशेषताओं को वाइन की सूची में "संक्षेप" करते हैं?

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

दूसरा उत्तर यह है कि आप उन गुणों की तलाश करते हैं जो आपको मूल वाइन विशेषताओं के बारे में अनुमान लगाने या "पुनर्निर्माण" करने की अनुमति देंगे। फिर, कल्पना करें कि आप एक ऐसी संपत्ति के साथ आते हैं जिसका मूल विशेषताओं से कोई संबंध नहीं है; यदि आप केवल इस नई संपत्ति का उपयोग करते हैं, तो कोई तरीका नहीं है जिससे आप मूल लोगों को फिर से संगठित कर सकें! यह, फिर से, एक बुरा सारांश होगा। इसलिए पीसीए उन गुणों की तलाश करता है जो मूल विशेषताओं को यथासंभव पुनर्निर्माण करने की अनुमति देते हैं।

आश्चर्यजनक रूप से, यह पता चलता है कि ये दो उद्देश्य समान हैं और इसलिए पीसीए एक पत्थर से दो पक्षियों को मार सकते हैं।

पति या पत्नी: लेकिन प्रिय, PCA के ये दो "लक्ष्य" बहुत अलग हैं! वे बराबर क्यों होंगे?

आप: हम्म्। शायद मुझे थोड़ा ड्राइंग करना चाहिए (एक नैपकिन लेता है और स्क्रिबलिंग शुरू होता है) । आइए हम दो शराब विशेषताओं को चुनें, शायद वाइन डार्क और अल्कोहल सामग्री - मुझे नहीं पता कि क्या वे सहसंबद्ध हैं, लेकिन आइए कल्पना करें कि वे हैं। यहाँ विभिन्न वाइन की एक तितर बितर साजिश की तरह लग सकता है:

पीसीए अनुकरणीय डेटा

इस "वाइन क्लाउड" में प्रत्येक डॉट एक विशेष वाइन दिखाता है। आप देखते हैं कि दो गुण ( एक्स और y इस आकृति पर) परस्पर संबंधित हैं। इस वाइन क्लाउड के केंद्र के माध्यम से एक रेखा खींचकर और इस लाइन पर सभी बिंदुओं को पेश करके एक नई संपत्ति का निर्माण किया जा सकता है। यह नई संपत्ति रैखिक संयोजन w1एक्स+w2y द्वारा दी जाएगी , जहां प्रत्येक पंक्ति w1 और w2 कुछ विशेष मूल्यों से मेल खाती है ।

अब यहां बहुत ध्यान से देखें - यहां बताया गया है कि ये अनुमान अलग-अलग रेखाओं के लिए कैसा दिखता है (लाल डॉट्स नीले डॉट्स के अनुमान हैं):

पीसीए एनीमेशन: विचरण और पुनर्निर्माण त्रुटि

जैसा कि मैंने पहले कहा था, पीसीए को "सर्वश्रेष्ठ" की दो अलग-अलग कसौटियों के अनुसार "सर्वश्रेष्ठ" लाइन मिलेगी। सबसे पहले, इस रेखा के साथ मूल्यों की भिन्नता अधिकतम होनी चाहिए। लाल डॉट्स के "प्रसार" (हम इसे "विचरण" कहते हैं) पर ध्यान दें, जबकि रेखा घूमती है; क्या आप देख सकते हैं कि यह अधिकतम कब पहुँचता है? दूसरा, यदि हम नई एक (लाल बिंदु की स्थिति) से मूल दो विशेषताओं (एक नीली डॉट की स्थिति) को फिर से जोड़ते हैं, तो पुनर्निर्माण की त्रुटि को जोड़ने वाली लाल रेखा की लंबाई से दिया जाएगा। निरीक्षण करें कि रेखा के घूमते समय इन लाल रेखाओं की लंबाई कैसे बदलती है; क्या आप देख सकते हैं कि कुल लंबाई न्यूनतम तक कब पहुँचती है?

यदि आप कुछ समय के लिए इस एनीमेशन को घूरते हैं, तो आप देखेंगे कि "अधिकतम विचरण" और "न्यूनतम त्रुटि" एक ही समय में पहुंचते हैं, अर्थात् जब लाइन मैजेंटा टिक्स को इंगित करता है जो मैंने शराब के दोनों किनारों पर चिह्नित किया था । यह लाइन नई शराब संपत्ति से मेल खाती है जो पीसीए द्वारा बनाई जाएगी।

वैसे, पीसीए "प्रमुख घटक विश्लेषण" के लिए खड़ा है और इस नई संपत्ति को "पहला प्रमुख घटक" कहा जाता है। और "संपत्ति" या "विशेषता" कहने के बजाय हम आमतौर पर "सुविधा" या "चर" कहते हैं।

बेटी: बहुत अच्छा, पापा! मुझे लगता है कि मैं देख सकता हूं कि दो लक्ष्य समान परिणाम क्यों देते हैं: यह अनिवार्य रूप से पाइथागोरस प्रमेय के कारण है, है ना? वैसे भी, मैंने सुना है कि पीसीए किसी भी तरह eigenvectors और eigenvalues ​​से संबंधित है; वे इस तस्वीर पर कहाँ हैं?

आप: शानदार अवलोकन। गणितीय रूप से, लाल डॉट्स का प्रसार वाइन क्लाउड के केंद्र से प्रत्येक रेड डॉट तक औसत वर्ग दूरी के रूप में मापा जाता है; जैसा कि आप जानते हैं, इसे विचरण कहा जाता है । दूसरी ओर, कुल पुनर्निर्माण त्रुटि को संबंधित लाल रेखाओं की औसत वर्ग लंबाई के रूप में मापा जाता है। लेकिन लाल लाइनों और काली रेखा के बीच के कोण के रूप में हमेशा होता है 90इन दो मात्राओं का योग वाइन क्लाउड के केंद्र और प्रत्येक ब्लू डॉट के बीच की औसत वर्ग दूरी के बराबर है; यह ठीक पाइथागोरस प्रमेय है। बेशक यह औसत दूरी काली रेखा के अभिविन्यास पर निर्भर नहीं करती है, इसलिए विचरण जितना अधिक हो कम त्रुटि (क्योंकि उनकी राशि स्थिर है)। इस हाथ से लहराते तर्क को सटीक बनाया जा सकता है ( यहां देखें )।

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

पीसीए एनीमेशन: पेंडुलम

Eigenvectors और eigenvalues ​​के बारे में। आप जानते हैं कि एक सहसंयोजक मैट्रिक्स क्या है; मेरे उदाहरण में यह एक 2×2 मैट्रिक्स है जो कि

(1.070.630.630.64)
द्वारा दिया गया है इसका मतलब यह है कि एक्स चर का विचरण 1.07 , y चर का विचरण 0.64 , और उनके बीच सहसंयोजक 0.63 । चूँकि यह एक वर्गाकार सममितीय मैट्रिक्स है, इसे एक नए ऑर्थोगोनल कोऑर्डिनेट सिस्टम को चुनकर विकर्ण किया जा सकता है, जो इसके आईजेनवेक्टरों द्वारा दिया जाता है (संयोग से, इसे कहा जाता है वर्णक्रमीय प्रमेय है ; तत्संबंधी स्वदेशी फिर विकर्ण पर स्थित होंगे। इस नई समन्वय प्रणाली में, सहसंयोजक मैट्रिक्स विकर्ण है और ऐसा दिखता है:
(1.52000.19),
जिसका अर्थ है कि अंकों के बीच संबंध अब शून्य है। यह स्पष्ट हो जाता है कि किसी भी प्रक्षेपण के विचरण को आइगेनवैल्यूज़ के भारित औसत द्वारा दिया जाएगा (मैं यहां केवल अंतर्ज्ञान स्केच कर रहा हूं)। नतीजतन, अधिकतम संभव विचरण (1.52 ) प्राप्त किया जाएगा यदि हम केवल पहले समन्वय अक्ष पर प्रक्षेपण लेते हैं। यह निम्नानुसार है कि पहले प्रिंसिपल घटक की दिशा कोविरेंस मैट्रिक्स के पहले ईजेनवेक्टर द्वारा दी गई है। (अधिक जानकारी यहाँ )

आप इसे घूर्णन आकृति पर भी देख सकते हैं: वहाँ एक धूसर रेखा होती है जो कि काले रंग की ओरथोनल होती है; साथ में वे एक घूर्णन समन्वय फ्रेम बनाते हैं। यह देखने की कोशिश करें कि इस घूर्णन फ्रेम में नीले डॉट्स असंबद्ध कैसे हो जाते हैं। जवाब, फिर से, यह ठीक होता है जब मैजेंटा टिक पर काली रेखा इंगित करती है। अब मैं आपको बता सकता हूं कि मैंने उन्हें कैसे पाया: वे सहसंयोजक मैट्रिक्स के पहले आइजनवेक्टर की दिशा को चिह्नित करते हैं, जो इस मामले में (0.81,0.58) बराबर है ।


लोकप्रिय अनुरोध के अनुसार, मैंने उपरोक्त एनिमेशन बनाने के लिए मैटलैब कोड साझा किया


79
+1 अच्छी कहानी और चित्र। ...then to your mother; then to your wife; finally, to your daughter (who is a mathematician)...मैं जारी रखूंगा: और रात के खाने के बाद - अपने आप को। और यहाँ आप अचानक फंस गए ...
ttnphns

68
मुझे इन उत्तरों के लिए आपके द्वारा किए गए चित्रों से बिल्कुल प्यार है।
छायाकार

57
मैं आम तौर पर बस चीजों को पढ़ने के लिए क्रॉस वैलिडेट के माध्यम से ब्राउज़ करता हूं, लेकिन मेरे पास खाता बनाने का कभी कारण नहीं था ... मुख्य रूप से क्योंकि यहां प्रकार के प्रश्न मेरी विशेषज्ञता से बाहर हैं और मैं वास्तव में कोई जवाब नहीं दे सकता। मैं आमतौर पर केवल StackOverflow पर हूं और अब लगभग एक साल से StackExchange नेटवर्क पर हूं। हालाँकि, मैंने केवल आपकी पोस्ट को अपवोट करने के लिए मुख्य रूप से एक खाता बनाने का निर्णय लिया है। यह शायद पीसीए का सबसे अच्छा प्रदर्शन है जो मैंने कभी पढ़ा है, और मैंने कई पढ़ा है। इस अद्भुत पोस्ट के लिए धन्यवाद - उत्कृष्ट कहानी, ग्राफिक्स, और इसे पढ़ना इतना आसान है! +1
रेय्यरेंग

14
खुद के लिए ध्यान दें: मेरे उत्तर में वर्तमान में 100 upvotes हैं, JDLong's में 220 अपवोट्स हैं; यदि हम निरंतर विकास करते हैं तो मेरा 100 अप / वर्ष है और उसके पास 40 अप / वर्ष है। या ५५ ​​/ वर्ष की तुलना में अगर जनवरी २०१४ में १०० अपवोट [गोल्डन बैज मिला] से गणना की गई। इसका मतलब है कि मैं २.५-३ साल में २०१ 2.5 के अंत तक पकड़ लूंगा। आइए देखें :-)
अमीबा

3
खुद के लिए ध्यान दें प्रतियोगिता: मुझे अपना अनुमान अपडेट करना होगा। एक महीने बाद इस जवाब को जेडीएलॉन्ग के लिए 18 अपविट्स बनाम 5 मिले। यह इंगित करता है कि मैं अब से एक वर्ष से कम समय में पकड़ सकता हूं। दिलचस्प है, 5 / माह मेरे उपरोक्त अनुमान के 55 / वर्ष के बहुत करीब है, लेकिन 18 / माह 100 / वर्ष से अधिक दो बार है। जैसा कि मेरा जवाब नहीं बदला, ऐसा लगता है कि दूसरे स्थान पर पहुंचने से उत्थान में तेजी आई (संभवत: दृश्यता में वृद्धि के कारण)।
अमीबा

376

पांडुलिपि "लिंडसे I स्मिथ द्वारा प्रधान घटक विश्लेषण पर एक ट्यूटोरियल" वास्तव में मुझे पीसीए ग्रो करने में मदद की। मुझे लगता है कि अपनी दादी को समझाने के लिए यह अभी भी बहुत जटिल है, लेकिन यह बुरा नहीं है। आपको ईगेंस की गणना करने पर पहले कुछ बिट्स को छोड़ देना चाहिए, अध्याय 3 में उदाहरण के लिए नीचे जाएं और रेखांकन देखें।

मेरे पास कुछ उदाहरण हैं जहां मैंने कुछ खिलौना उदाहरणों के माध्यम से काम किया ताकि मैं पीसीए बनाम ओएलएस रैखिक प्रतिगमन को समझ सकूं। मैं उन लोगों को खोदने और उन्हें पोस्ट करने की कोशिश करूँगा।

संपादित करें: आपने वास्तव में साधारण जानवर चौकों (ओएलएस) और पीसीए के बीच के अंतर के बारे में नहीं पूछा था, लेकिन जब से मैंने अपने नोट्स खोले, मैंने इसके बारे में एक ब्लॉग पोस्ट किया था । बहुत छोटा संस्करण है OLS का y ~ x इस तरह की स्वतंत्र धुरी के लंबवत त्रुटि को कम करता है (पीली लाइनें दो त्रुटियों के उदाहरण हैं):

वैकल्पिक शब्द

यदि आप x ~ y को पुनः प्राप्त करना चाहते थे (जैसा कि पहले उदाहरण में y ~ x के विपरीत है) तो यह इस तरह से त्रुटि को कम करेगा:

वैकल्पिक शब्द

और PCA प्रभावी रूप से मॉडल की तरह ही ऑर्थोगोनल त्रुटि को कम करता है, जैसे:

वैकल्पिक शब्द

इससे भी महत्वपूर्ण बात, जैसा कि दूसरों ने कहा है, ऐसी स्थिति में जब आपके पास स्वतंत्र चर का एक पूरा बंक होता है, पीसीए आपको यह पता लगाने में मदद करता है कि इन चरों में से कौन सा रैखिक संयोजन सबसे ज्यादा मायने रखता है। ऊपर दिए गए उदाहरणों से यह कल्पना करने में मदद मिलती है कि पहला मुख्य घटक वास्तव में साधारण मामले में कैसा दिखता है।

मेरे ब्लॉग पोस्ट में उपरोक्त रेखांकन बनाने और पहले प्रमुख घटक की गणना के लिए मेरे पास आर कोड है। यह पीसीए के आसपास अपने अंतर्ज्ञान का निर्माण करने के साथ खेलने के लायक हो सकता है। मैं वास्तव में करने के लिए जाते ही कुछ जब तक मैं कोड है कि यह reproduces लिखें। 


9
लिंडसे I स्मिथ पांडुलिपि पर अच्छा कॉल - बस आज इसे पढ़ें; बहुत उपयोगी।
स्टेडी

7
तो पीसीए कुल लिस्ट वर्गों के बराबर है अगर यह बिंदु से फिट लाइन के लिए ऑर्थोगोनल दूरी का अनुकूलन करता है?
मर्किन

3
@ मरीन - यह सही है। आप फिर से वाक्यांश सकते पीसीए सबसे अच्छा रैंक प्राप्त करने जैसी कई अनुमान ( 1 मीटर पी मूल की) पी चर ( एक्स मैं jm1mpp ), की एक उद्देश्य समारोह के साथ Σ n मैं = 1x^iji=1,,nj=1,,p । पीसी की संख्या चुनना भविष्यवाणियों की रैंक चुनने के बराबर है। i=1nj=1p(xijx^ij)2
probabilityislogic

3
स्मिथ में लघु गणित त्रुटि: "एक मैट्रिक्स के सभी eigenvectors लंबवत हैं ... आपके पास कितने आयाम हैं" केवल सममित मैट्रिक्स पर लागू होता है, यहां उनके साथ 45 डिग्री अलग है । स्मिथ ने पहले कोविर्सियस मैट्रिसेस की समरूपता पर ध्यान दिया है, लेकिन इसका निहितार्थ नहीं है - समरूपता nलंबवत eigenvectors सुनिश्चित करता है । वास्तव में, सभी वास्तविक n x nमैट्रिसेस में भी वास्तविक आइजेन्यूएल्स नहीं होते हैं (जैसे {{0,1}, {- 1,0}}) और उनमें से जो सभी के पास nस्वतंत्र आइजनवेक्टर होते हैं (जैसे {{1,1}, {0 , 1}})! समरूपता मायने रखती है!
सिल्वरफिश

8
गणितज्ञ अध्यापन के रूप में, मैं इस लिंडसे स्मिथ पांडुलिपि को पढ़ते समय क्रंदन करना होगा। "... परिणामस्वरूप वेक्टर मूल का एक पूर्णांक एकाधिक है ..." - पूर्णांक का उल्लेख करने का क्या मतलब है ? मैट्रिक्स ए का एक आइजनवेक्टर कोई वेक्टर एक्स है जैसे कि एक्स एक्स का एक मल्टीपल है। एक पूर्णांक मल्टीपल नहीं, सिर्फ एक मल्टीपल! एक गैर पूर्णांक एकाधिक भी ठीक है! क्यों अनावश्यक भ्रम पैदा कर रहा है, जहां कोई नहीं है?
दिमित्री ज़िटसेव

143

पहले (२) करते हैं। पीसीए डेटा के लिए एक दीर्घवृत्ताभ फिट बैठता है। एक दीर्घवृत्ताकार सिगार, पेनकेक्स और अंडे जैसे विकृत गोलाकार आकृतियों का बहुआयामी सामान्यीकरण है। इन सभी को उनके प्रमुख (अर्ध) अक्षों की दिशाओं और लंबाई के द्वारा बड़े करीने से वर्णित किया गया है, जैसे सिगार या अंडा या पैनकेक के विमान। कोई फर्क नहीं पड़ता कि दीर्घवृत्त कैसे बदल जाता है, eigenvectors उन प्रमुख दिशाओं में इंगित करते हैं और eigenvalues ​​आपको लंबाई देते हैं। सबसे छोटा eigenvalues ​​सबसे कम भिन्नता वाले सबसे पतले दिशा-निर्देशों के अनुरूप है, इसलिए उन्हें अनदेखा करना (जो उन्हें समतल करता है) अपेक्षाकृत कम जानकारी खो देता है: यह पीसीए है।

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


आंकड़ा 200 के कुछ बादलों को दिखाता है200 बिंदुओं के , साथ ही दीर्घवृत्त के साथ प्रत्येक बादल का 50% और अक्षों को प्रमुख दिशाओं के साथ संरेखित किया गया है। पहली पंक्ति में बादलों में मूल रूप से एक मुख्य घटक होता है, जिसमें सभी प्रकार के 95% होते हैं: ये सिगार के आकार के होते हैं। दूसरी पंक्ति में बादलों के मूल रूप से दो प्रमुख घटक होते हैं, एक दूसरे के आकार के बारे में दो, एक साथ सभी प्रकार के 95% शामिल हैं: ये पैनकेक आकार हैं। तीसरी पंक्ति में सभी तीन प्रमुख घटक बड़े हैं: ये अंडे के आकार के होते हैं।

आंकड़े

कोई भी 3 डी पॉइंट क्लाउड जो "सुसंगत" है, जो गुच्छों या निविदाओं या आउटलेर को प्रदर्शित नहीं करने के अर्थ में है, इनमें से एक जैसा दिखेगा। सभी बिंदुओं पर संयोग से कोई 3 डी बिंदु बादल - सभी बिंदु संयोग नहीं हैं - इन आंकड़ों में से एक द्वारा वर्णित किया जा सकता है में आगे के क्लस्टरिंग या पैटर्निंग की पहचान के लिए प्रस्थान के प्रारंभिक बिंदु के रूप में

इस तरह के विन्यास पर विचार करने से आपके द्वारा विकसित अंतर्ज्ञान को उच्च आयामों पर लागू किया जा सकता है, भले ही उन आयामों की कल्पना करना मुश्किल या असंभव हो।


2
इसे जोड़ने के लिए, जब आपके पास (पास-) बराबर अर्धवृत्त (यानी दीर्घवृत्त में एक (पास-) गोलाकार टुकड़ा होता है), यह इंगित करता है कि उन अक्षों के अनुरूप डेटा के दो टुकड़े (निकट-) निर्भरता है; एक दीर्घवृत्त के लिए प्रमुख अक्षों के बारे में बात कर सकते हैं, लेकिन हलकों में केवल एक त्रिज्या है। :)
जेएम

6
मैं यहाँ और अधिक सतर्क रहूंगा, जेएम फर्स्ट, बस स्पष्ट करने के लिए, "निकट-निर्भरता" से आपका मतलब "स्वतंत्र" होना चाहिए। यह एक बहुराष्ट्रीय चर के लिए सही होगा, लेकिन कई मामलों में पीसीए डेटा के साथ किया जाता है जो कि स्पष्ट रूप से गैर-सामान्य हैं। दरअसल, कुछ पीसीए गणनाओं का पालन करने वाली क्लस्टरिंग विश्लेषण को गैर-सामान्यता के एक मजबूत रूप का आकलन करने के एक तरीके के रूप में देखा जा सकता है। गणित के अनुसार, हलकों करते प्रिंसिपल कुल्हाड़ियों है, लेकिन वे सिर्फ विशिष्ट निर्धारित नहीं कर रहे हैं: आप अपने प्रमुख कुल्हाड़ियों के रूप में त्रिज्या के किसी भी ओर्थोगोनल जोड़ी चुन सकते हैं।
whuber

1
हाँ, क्षमा करें, मुझे लगता है "एक सर्कल के प्रमुख अक्ष अनिश्चित हैं" इसे लगाने का एक बेहतर तरीका होगा।
जेएम

2
बहुत अच्छी व्याख्या! इसे बेहतर ढंग से समझने की कोशिश करते हुए .. जहाँ पीसीए गणित में कोई भी यह देख सकता है कि "पीसीए डेटा के लिए एक दीर्घवृत्त फिट बैठता है"?
कोकेड

4
@Kochede एक दीर्घवृत्त एक द्विघात रूप का एक समोच्च है। सहसंयोजक मैट्रिक्स एक द्विघात रूप है। पीसीए अपनी कुल्हाड़ियों और उनकी लंबाई की पहचान करता है।
whuber

106

हम्म, यहाँ PCA पर पूरी तरह से गैर-गणितीय लेने के लिए जाता है ...

कल्पना कीजिए कि आपने अभी एक साइडर शॉप खोली है। आपके पास साइडर की 50 किस्में हैं और आप वर्कआउट करना चाहते हैं कि उन्हें अलमारियों पर कैसे आवंटित किया जाए, ताकि समान-चखने वाले साइडर को एक ही शेल्फ पर रखा जाए। साइडर में बहुत सारे अलग-अलग स्वाद और बनावट हैं - मिठास, तीखापन, कड़वाहट, खमीरपन, फल, स्पष्टता, फ़िज़नेस आदि। इसलिए बोतलों को श्रेणियों में रखने के लिए आपको क्या करने की ज़रूरत है, दो सवालों के जवाब हैं:

1) साइडर के समूहों की पहचान करने के लिए कौन से गुण सबसे महत्वपूर्ण हैं? जैसे मिठास के आधार पर वर्गीकृत करने से फलों पर आधारित वर्गीकरण की तुलना में समान स्वाद वाले समूहों में अपने साइडर को क्लस्टर करना आसान हो जाता है?

2) क्या हम उनमें से कुछ को मिलाकर हमारे चर की सूची को कम कर सकते हैं? उदाहरण के लिए वास्तव में एक चर है जो "खमीरपन और स्पष्टता और फ़िज़नेस" का कुछ संयोजन है और जो वर्गीय किस्मों के लिए वास्तव में अच्छा पैमाना बनाता है?

यह अनिवार्य रूप से पीसीए क्या करता है। मुख्य घटक वे चर होते हैं जो डेटा सेट में भिन्नता को उपयोगी रूप से समझाते हैं - इस मामले में, कि समूहों के बीच उपयोगी अंतर होता है। प्रत्येक मूल घटक आपके मूल व्याख्यात्मक चर में से एक है, या आपके कुछ मूल व्याख्यात्मक चर का संयोजन है।


4
Eigenvectors और eigenvalues ​​के बारे में क्या?
λ29ας

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

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

इस समस्या का सहसंयोजक मैट्रिक्स कैसा होगा? यह हमें चर (मिठास, तीखापन, कड़वाहट, खमीरपन, फलपन, स्पष्टता, फ़िज़नेस आदि) के बारे में क्या बताता है?
जस्टक्यूरियस

1
मुझे नहीं पता कि यह सांख्यिकीविदों और मादक पेय के बारे में क्या है, लेकिन व्हिस्की क्लासीफाइड स्कॉच व्हिस्की के लिए ठीक यही करता है ...
nekomatic

96

मैं "आम आदमी की शर्तों" में यह कहकर जवाब दूंगा कि पीसीए का उद्देश्य डेटा बिंदुओं के लिए सीधी रेखाओं को फिट करना है (हर कोई जानता है कि एक सीधी रेखा क्या है)। हम इन सीधी रेखाओं को "प्रमुख घटक" कहते हैं। चरों के रूप में कई प्रमुख घटक हैं। पहला प्रमुख घटक सबसे अच्छी सीधी रेखा है जिसे आप डेटा में फिट कर सकते हैं। दूसरा प्रमुख घटक सबसे अच्छी सीधी रेखा है जिसे आप पहले प्रमुख घटक से त्रुटियों के लिए फिट कर सकते हैं। तीसरा प्रमुख घटक सबसे अच्छी सीधी रेखा है जिसे आप पहले और दूसरे प्रमुख घटक, आदि, से त्रुटियों के लिए फिट कर सकते हैं।

यदि कोई पूछता है कि आपको "सर्वश्रेष्ठ" या "त्रुटियों" से क्या मतलब है, तो यह आपको बताता है कि वे "आम आदमी" नहीं हैं, इसलिए लंबवत त्रुटियों जैसे कुछ और तकनीकी विवरणों में जा सकते हैं, यह नहीं जानते कि त्रुटि कहाँ है x- या y- दिशा, 2 या 3 से अधिक आयाम, आदि। आगे अगर आप OLS रिग्रेशन (जो कि "आम आदमी" शायद समझ नहीं पाएंगे) के संदर्भ को बनाने से बचते हैं, तो स्पष्टीकरण आसान है।

Eigenvectors और eigenvalues ​​को se के प्रति अवधारणाओं की आवश्यकता नहीं है, बल्कि वे गणितीय अवधारणाएं थीं जो पहले से मौजूद थीं। जब आप पीसीए की गणितीय समस्या को हल करते हैं, तो यह कोवरियनस मैट्रिक्स के ईजेनवल और ईजेनवेक्टर को खोजने के बराबर होता है।


8
+1, यह वास्तव में "आम आदमी की शर्तों" में है, और मुझे पता है कि यदि आप चाहते थे तो आप इसे बहुत सख्ती से प्राप्त कर सकते हैं !
गुंग

2
अब तक का सबसे अच्छा जवाब, मैं कहूंगा। और मैं पीसीए का बहुत उपयोग करता हूं।
a11msp

2
वाह - यह वास्तव में एक महान और सरल व्याख्या है! धन्यवाद!
निक

52

मैं आपको पीसीए का अपना स्पष्टीकरण / प्रमाण दे सकता हूं, जो मुझे लगता है कि वास्तव में सरल और सुरुचिपूर्ण है, और रैखिक बीजगणित के बुनियादी ज्ञान को छोड़कर किसी भी चीज की आवश्यकता नहीं है। यह बहुत लंबा निकल गया, क्योंकि मैं सरल सुलभ भाषा में लिखना चाहता था।

मान लीजिए कि हमारे पास n -dimensional स्थान से डेटा के कुछ नमूने हैं। अब हम इस डेटा को कुछ लाइनों में प्रोजेक्ट करना चाहते हैंMnn डाइमेंशनल स्पेस , इस तरह से कि जितना संभव हो उतना वेरिएशन बरकरार रहे (इसका मतलब है, वेरिएशन ऑरिजनल डेटा के वेरिएशन की तुलना में बड़ा होना चाहिए। मुमकिन)।

अब, चलो देखते हैं कि अगर हम कुछ वेक्टर द्वारा अनुवाद (चाल) सभी बिंदुओं जाने , विचरण, एक ही रहेगा द्वारा सभी बिंदुओं को ले के बाद से β चले जाएँगे उनके गणित मतलब β के रूप में अच्छी तरह से, और विचरण रैखिक के लिए आनुपातिक है Σ एम मैं = 1एक्स मैं - μ 2 । इसलिए हम सभी बिंदुओं का अनुवाद करते हैं - μ , ताकि कम्प्यूटेशनल आराम के लिए उनका अंकगणित माध्य 0 हो जाए । के रूप में अनुवाद किया अंक निरूपित करते हैं एक्स ' मैं = एक्स मैं - μβββi=1Mxiμ2μ0xi=xiμ। के भी निरीक्षण करते हैं, कि विचरण अब व्यक्त किया जा सकता है बस के रूप में i=1Mxi2

अब रेखा की पसंद। हम किसी भी रेखा का वर्णन कुछ बिंदुओं के सेट के रूप में कर सकते हैं जो कुछ वैक्टर v , w के समीकरण संतुष्ट करते हैं । ध्यान दें कि यदि हम कुछ वेक्टर द्वारा लाइन ले जाने के γ के लिए ओर्थोगोनल वी , तो लाइन पर सभी अनुमानों भी द्वारा ले जाया जाएगा γ , इसलिए अनुमानों के माध्य से ले जाया जाएगा γx=αv+wv,wγvγγ, इसलिए अनुमानों का विचलन अपरिवर्तित रहेगा। इसका मतलब है कि हम लाइन को खुद के समानांतर घुमा सकते हैं, और इस लाइन पर अनुमानों के विचरण को नहीं बदल सकते। सुविधा उद्देश्यों के लिए फिर से अपने आप को केवल शून्य बिंदु से गुजरने वाली रेखाओं तक सीमित करें (इसका मतलब है x = α v द्वारा वर्णित पंक्तियाँx=αv )।

ठीक है, अब मान लें कि हमारे पास एक वेक्टर जो एक पंक्ति की दिशा का वर्णन करता है जो उस रेखा के लिए एक संभावित उम्मीदवार है जिसे हम खोजते हैं। हमें लाइन α v पर अनुमानों के विचरण की गणना करने की आवश्यकता है । हमें जिन चीजों की आवश्यकता होगी, वे हैं प्रक्षेपण बिंदु और उनका माध्य। रेखीय बीजगणित से हम है कि इस सरल मामले में के प्रक्षेपण पता एक्स ' मैं पर α vvαvxiαv है । चलो अब से खुद को केवल यूनिट वैक्टर v तक ही सीमित रखें । इसका मतलब है कि हम की बात प्रक्षेपण की लंबाई में लिख सकते हैं एक्स 'xi,v/v2vxiपर बस के रूप में एक्स ' मैं , वी vxi,v

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

अनुमानों के माध्य के लिए, आइए देखें कि हमारे अंतरिक्ष के कुछ ऑर्थोगोनल आधार का हिस्सा है, और यदि हम उस आधार के प्रत्येक वेक्टर पर अपने डेटा बिंदुओं को प्रोजेक्ट करते हैं, तो उनका योग रद्द हो जाएगा (यह ऐसा है क्योंकि प्रोजेक्ट पर आधारित है आधार से वैक्टर नए ऑर्थोगोनल आधार में डेटा बिंदुओं को लिखने जैसा है)। तो वेक्टर वी पर सभी अनुमानों का योग (चलो एस वी को योग कहते हैं ) और आधार से अन्य वैक्टरों पर अनुमानों का योग (चलो इसे एस ओ कहते हैं ) 0 है, क्योंकि यह डेटा बिंदुओं का मतलब है। लेकिन S v , S o का ऑर्थोगोनल है ! इसका मतलब है एस = एस वीvvSvSoSvSoSo=Sv=0

तो हमारे अनुमानों का मतलब 0ठीक है, कि, सुविधाजनक है क्योंकि इसका मतलब है कि विचरण सिर्फ अनुमानों की लंबाई के वर्गों का योग है, या प्रतीक में

i=1M(xiv)2=i=1MvTxiTxiv=vT(i=1MxiTxi)v.

अच्छी तरह से, अचानक covariance मैट्रिक्स बाहर popped। चलो इसे केवल द्वारा निरूपित करते हैं । इसका मतलब है कि अब हम एक इकाई वेक्टर के लिए देख रहे हैं v कि अधिकतम वी टीएक्स वी कुछ अर्द्ध सकारात्मक निश्चित मैट्रिक्स के लिए, एक्सXvvTXvX

अब, चलो eigenvectors और मैट्रिक्स eigenvalues के लिए ले जाने , और से उन्हें निरूपित 1 , 2 , ... , एन और λ 1 , ... , λXe1,e2,,en क्रमश: ऐसा है कि λ 1λ 2 , λ 3 ... । यदि मान λλ1,,λnλ1λ2,λ3λ डुप्लिकेट नहीं करते हैं, तो eigenvectors एक orthonormal आधार बनाते हैं। यदि वे करते हैं, तो हम एक प्रकार से स्वदेशी डॉक्टरों का चयन करते हैं, जो कि वे एक अलौकिक आधार बनाते हैं।

अब चलो की गणना करते हैं एक आइजन्वेक्टर के लिए मैं । हम टी मैंएक्स मैं = टी मैं( λ मैं मैं ) = λ मैं ( मैं 2 ) 2 = λ मैंvTXvei

eiTXei=eiT(λiei)=λi(ei2)2=λi.

बहुत अच्छा है, यह हमें 1 के लिए देता है । अब चलो एक मनमाना वेक्टर वी लें । चूंकि eigenvectors एक orthonormal आधार के रूप में, हम लिख सकते v = Σ n मैं = 1मैंवी , मैं , और हमारे पास Σ n मैं = 1वी , मैं 2 = 1 । के निरूपित करते हैं β मैं = वी , मैंλ1e1vv=i=1neiv,eii=1nv,ei2=1βi=v,ei

अब हम गिनती करते । हम फिर से लिखने वी की एक रेखीय संयोजन के रूप में मैं , और मिलती है: ( n Σ मैं = 1 β मैं मैं ) टीएक्स ( एन Σ मैं = 1 β मैं मैं ) = ( एन Σ मैं = 1 β मैं मैं ) ( एन Σ =vTXvvei

(i=1nβiei)TX(i=1nβiei)=(i=1nβiei)(i=1nλiβiei)=i=1nλi(βi)2(ei2)2.

अंतिम समीकरण तथ्य यह है कि eigenvectors जहां जोड़ीदार ऑर्थोगोनल होने के लिए चुने जाते हैं, इसलिए उनके डॉट उत्पाद शून्य हैं। अब, क्योंकि सभी eigenvectors यूनिट लंबाई के होते हैं, इसलिए हम v TX igen लिख सकते हैं , जहांβ 2 मैं सभी सकारात्मक है, और करने के लिए योग कर रहे हैं1vTXv=i=1nλiβi2βi21

इसका मतलब यह है कि प्रक्षेपण का विचरण eigenvalues ​​का एक भारित साधन है। निश्चित रूप से, यह हमेशा कम होता है फिर सबसे बड़ा आइगेनवेल्यू, यही कारण है कि यह हमारी पहली पीसीए वेक्टर की पसंद होनी चाहिए।

अब मान लीजिए कि हम एक और वेक्टर चाहते हैं। हमें इसे अंतरिक्ष ऑर्थोगोनल से पहले से ही चुने गए एक के लिए चुना जाना चाहिए, इसका मतलब है कि सबस्पेस । अनुरूप निष्कर्ष द्वारा हम इस निष्कर्ष पर पहुंचते हैं, कि परियोजना का सबसे अच्छा वेक्टर 2 है । और आगे और आगे...lin(e2,e3,,en)e2

वैसे, अब यह स्पष्ट होना चाहिए, क्यों बनाए रखा विचरण से व्यक्त किया जा सकता i=1kλi/i=1nλi

हमें वैक्टरों के लालची विकल्प को भी उचित ठहराना चाहिए। जब हम vectors को प्रोजेक्ट करने के लिए चुनना चाहते हैं , तो सबसे अच्छा सदिश का चयन करना सबसे अच्छा विचार नहीं हो सकता है, फिर जो शेष रहता है, उसी से सबसे अच्छा है। मैं तर्क देना चाहूंगा कि इस मामले में यह उचित है और इससे कोई फर्क नहीं पड़ता। निरूपित चलो कश्मीर द्वारा पर वेक्टर हम परियोजना के लिए इच्छा वी 1 , ... , वी कश्मीर । इसके अलावा, मान लें कि वैक्टर जोड़ीदार ऑर्थोगोनल हैं। हम पहले से ही जानते हैं, उन वैक्टर पर अनुमानों के कुल अन्तर से व्यक्त किया जा सकता कश्मीर Σ j = 1 n Σ मैं = 1 λ मैंkkv1,,vk j = 1 β 2 मैं जे जहां γ मैं = Σ कश्मीर

j=1ki=1nλiβij2=i=1nλiγi
γi=j=1kβij2.

eiv1,,vku1,,unkei=j=1kβijvj+j=1nkθjei,uj । चूंकिमैं2=1Σजे=1βमैंजे2+Σजे=1n-θजे2=1γमैं1मैं

Σमैं=1nλमैंγमैंγमैं1Σमैं=1nγमैं=Σमैं=1λमैं


2
+1 बहुत अच्छा जवाब! अभी तक इसे पूरी तरह से नहीं पढ़ा है, लेकिन आपका जवाब उस तरह का है जिसे मैं खोज रहा हूं। सभी चरणों को समझाया =)
jjepsuomi

9
मुझे एक आम आदमी दिखाओ जो बुनियादी रेखीय बीजगणित जानता है, और मैं आपको एक गणित स्नातक दिखाऊंगा।
probabilityislogic

xiαvxi,v/v2एक्समैं,v/v? दूसरे शब्दों में, स्केलर प्रक्षेपण?
एंटोनी परेला

1
मुझे लगता है कि यह पीसीए के लिए अब तक का सबसे अच्छा स्पष्टीकरण है जिसे मैंने कभी देखा है। धन्यवाद।
निमित्ज १४

1
यह मेरी पसंदीदा व्याख्या है जो यह भी बताती है कि आइजनवेक्टर विचरण को अधिकतम क्यों करते हैं।
रोमवेल

47

ठीक है, मैं यह कोशिश करूँगा। कुछ महीने पहले मैंने एक अच्छी मात्रा में साहित्य के माध्यम से एक सहज ज्ञान युक्त व्याख्या प्राप्त की, जिसे मैं एक गैर-सांख्यिकीविद् को समझा सकता था। मुझे ऐसी व्युत्पत्तियाँ मिलीं जो लैग्रेंज गुणकों का सबसे सहज उपयोग करती हैं।

मान लें कि हमारे पास उच्च आयाम डेटा है - एक कीट पर किए गए 30 माप कहते हैं। इनमें से कुछ आयामों में बग के अलग-अलग जीनोटाइप और थोड़ा अलग-अलग भौतिक विशेषताएं हैं, लेकिन ऐसे उच्च आयाम डेटा के साथ यह बताना मुश्किल है कि कौन से कीड़े किस समूह के हैं।

PCA आयाम को कम करने की एक तकनीक है:

  1. मूल चर का रैखिक संयोजन लेना।
  2. प्रत्येक रैखिक संयोजन उस डेटा में सबसे अधिक विचरण को बताता है जो वह कर सकता है।
  3. प्रत्येक रैखिक संयोजन दूसरों के साथ असंबंधित है

या, गणितीय शब्दों में:

  1. के लिये Yजे=जे'एक्स (jth घटक के लिए रैखिक संयोजन)
  2. के लिये >जे, वी(Y)<वी(Yजे) (पहले घटक अधिक भिन्नता समझाते हैं)
  3. 'जे=0 (ओर्थोगोनालिटी)

इन संयोजनों को पूरा करने वाले रैखिक संयोजनों को खोजना हमें स्वदेशी की ओर ले जाता है। क्यों?

मैं पूर्ण व्युत्पत्ति (पृष्ठ 50) के लिए मल्टीवेरेट डेटा विश्लेषण के लिए एक परिचय पुस्तक की जाँच करने की सलाह देता हूं , लेकिन मूल विचार क्रमिक अनुकूलन की समस्याएं हैं (भिन्नता को अधिकतम करना) इस तरह विवश है कि गुणांक (मामले को रोकने के लिए) a'a = 1 है। जब विचरण अनंत हो सकता है) और यह सुनिश्चित करने के लिए विवश किया जाता है कि गुणांक ऑर्थोगोनल हैं।

यह लाग्रेंज मल्टीप्लायरों के साथ अनुकूलन की ओर जाता है, जो बदले में प्रकट करता है कि eigenvalues ​​का उपयोग क्यों किया जाता है। मैं इसे टाइप करने के लिए बहुत आलसी हूं (क्षमा करें!) लेकिन, यह पीडीएफ इस बिंदु से बहुत अच्छी तरह से सबूत के माध्यम से जाता है।

मैं अपनी दादी को यह समझाने की कोशिश कभी नहीं करूंगा, लेकिन अगर मुझे आयाम में कमी की तकनीकों के बारे में आम तौर पर बात करनी होती, तो मैं इस तुच्छ प्रक्षेपण उदाहरण (पीसीए नहीं) की ओर इशारा करता। मान लीजिये आपके पास एक Calder मोबाइल है जो बहुत जटिल है। 3-डी स्पेस में कुछ बिंदु एक-दूसरे के करीब हैं, अन्य नहीं हैं। यदि हमने इस मोबाइल को छत से लटका दिया है और एक कोण से इस पर प्रकाश डाला है, तो हमें कम आयाम वाले विमान (2-डी दीवार) पर एक प्रक्षेपण मिलता है। अब, अगर यह मोबाइल एक दिशा में मुख्य रूप से चौड़ा है, लेकिन दूसरी दिशा में पतला है, तो हम इसे अनुमानों को प्राप्त करने के लिए घुमा सकते हैं जो उपयोगिता में भिन्न हैं। सहज रूप से, एक दीवार पर अनुमानित एक आयाम में एक पतली आकृति कम उपयोगी है - सभी छायाएं ओवरलैप होती हैं और हमें कोई जानकारी नहीं देती हैं। हालाँकि, यदि हम इसे घुमाते हैं तो प्रकाश चौड़ी तरफ चमकता है, हमें कम आयाम वाले डेटा की एक बेहतर तस्वीर मिलती है - अंक अधिक फैले हुए हैं। यह अक्सर हम चाहते हैं। मुझे लगता है कि मेरी दादी समझ सकती थी कि :-)


6
यह बहुत आम बात है ;-)

2
यह थोड़ा मैथी है, लेकिन किसी चीज़ को समझने का सबसे अच्छा तरीका उसे प्राप्त करना है।
विंस

29
आपके पास एक असाधारण अच्छी तरह से शिक्षित दादी :-) है।
whuber

7
मुझे 3-डी संरचना पर प्रकाश चमक के साथ स्पष्टीकरण पसंद है
नील मैकगिन

(+1) सभी शानदार उत्तर हैं लेकिन यह वही है जो मैं भी दूंगा।
डिगियो

37

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

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

"1 पीआर के बाद। घटक को यह मापा जाता है कि, यह कहने के लिए कि इसे उस सभी संस्करण के साथ क्लाउड से "हटा दिया" गया है, और क्लाउड की आयामीता एक-एक करके गिरती है। इसके बाद, सबकुछ दूसरे eigenvalue और दूसरे eigenvector के साथ दोहराया जाता है - दूसरा पीआर। घटक दर्ज किया जा रहा है, और फिर "हटा दिया गया"। आदि।

तो, एक बार फिर: eigenvectors प्रमुख घटकों के लिए दिशा कोजाइन हैं, जबकि eigenvalues ​​प्रमुख घटकों में परिमाण (विचरण) हैं। सभी eigenvalues ​​का योग भिन्नताओं के योग के बराबर है जो कि विचरण-सहसंयोजक मैट्रिक्स के विकर्ण पर हैं। यदि आप "मैग्नीट्यूडिनल" जानकारी को eigenvectors में eigenvectors पर संग्रहीत करते हैं, तो इसे "प्राच्य" जानकारी में जोड़ने के लिए संग्रहीत करते हैं, जिसमें आपको मुख्य घटक लोडिंग कहा जाता है ; ये लोडिंग - क्योंकि वे दोनों प्रकार की जानकारी ले जाते हैं - मूल चर और प्रमुख घटकों के बीच सहसंयोजक होते हैं।

बाद में पीएस मैं विशेष रूप से दो बार यहां तनावपूर्ण करना चाहता हूं, जो कि ईजेनवेक्टर और लोडिंग के बीच के बीच का अंतर है । बहुत से लोग और कुछ पैकेज (जिनमें से कुछ सहित R) दो शब्दों का परस्पर उपयोग करते हैं। यह एक बुरा अभ्यास है क्योंकि वस्तुएं और उनके अर्थ अलग-अलग हैं। Eigenvectors दिशा कोजाइन हैं, ऑर्थोगोनल "रोटेशन" का कोण जो पीसीए की मात्रा है। लोडिंग eigenvectors रोटेट किए गए डेटा की परिवर्तनशीलता या परिमाण के बारे में जानकारी के साथ inoculated हैं। लोडिंग घटकों और चर के बीच एसोसिएशन गुणांक हैं और वे चर के बीच गणना किए गए एसोसिएशन गुणांक के साथ सीधे तुलनीय हैं - सहसंयोजक, सहसंबंध या अन्य स्केलर उत्पादजिस पर आप अपने पीसीए को आधार बनाते हैं। दोनों eigenvectors और लोडिंग के संबंध में समान हैं कि वे घटकों द्वारा चर की भविष्यवाणी करने में प्रतिगामी गुणांक की सेवा करते हैं (इसके विपरीत नहीं!1)। Eigenvectors कच्चे घटक स्कोर द्वारा चर की भविष्यवाणी करने के लिए गुणांक हैं। लोडिंग, स्केल किए गए (सामान्यीकृत) घटक स्कोर द्वारा चर की भविष्यवाणी करने के गुणांक हैं (कोई आश्चर्य नहीं: लोडिंग में परिवर्तनशीलता पर पूर्व सूचना दी गई है, परिणामस्वरूप, उपयोग किए जाने वाले घटक इससे वंचित होना चाहिए)। आईजेनवेक्टर और लोडिंग को न मिलाने का एक और कारण यह भी है कि पीसीए के अलावा कुछ अन्य डायमेंशनलिटी कम करने की तकनीक - जैसे कि फैक्टर एनालिसिस के कुछ रूप- सीधे लोडिंग की गणना करें, आइजनवेक्टर को दरकिनार करें। Eigenvectors eigen- अपघटन या एकवचन-मूल्य अपघटन के उत्पाद हैं; कारक विश्लेषण के कुछ रूप इन डिकम्पोजिशन का उपयोग नहीं करते हैं और लोडिंग पर दूसरे तरीके से पहुंचते हैं। अंत में, यह लोडिंग है, न कि eigenvectors, जिसके द्वारा आप घटकों या कारकों की व्याख्या करते हैं (यदि आपको उन्हें व्याख्या करने की आवश्यकता है)। लोड हो रहा है एक चर में घटक के योगदान के बारे में: पीसीए (या कारक विश्लेषण) घटक / कारक चर पर ही लोड होता है, इसके विपरीत नहीं। एक व्यापक पीसीए परिणाम में एक को eigenvectors और लोडिंग दोनों की रिपोर्ट करनी चाहिए, जैसा कि दिखाया गया हैयहाँ या यहाँ

लोडिंग बनाम आईजेनवेक्टर के बारे में भी देखें


1चूंकि PCA में eigenvector मैट्रिक्स अमानवीय है और इसका व्युत्क्रम इसका स्थानान्तरण है, इसलिए हम कह सकते हैं कि उन्हीं eigenvectors को चर द्वारा घटकों का पूर्वानुमान लगाने के लिए गुणांक भी हैं। यह लोडिंग के लिए ऐसा नहीं है, हालांकि।


@amoeba, मैं जोर नहीं देता और आप किसी भी शब्दावली का उपयोग कर सकते हैं जिसका आप उपयोग कर रहे हैं। मैंने स्पष्ट रूप से पता लगाया कि मुझे क्यों लगता है कि "लोडिंग" और "ईजेनवेक्टर" शब्द अलग-अलग रखने के लिए बेहतर हैं। मैं क्लासिक परंपरा का पालन करता हूं, जैसे कि हरमन में। आधुनिक कारक विश्लेषण, अगर केवल मुझे परंपरा सही ढंग से याद है।
ttnphns

(कंट।) वैसे भी, आप खुद जानते हैं कि शब्द "लोडिंग", यद्यपि वास्तव में काफी संदिग्ध है, उदाहरण के लिए, अन्य बहुभिन्नरूपी विश्लेषणों में "ईजेनवेक्टर" के साथ मिश्रित नहीं है, उदाहरण के लिए। एक बार फिर, जैसा कि मैंने इसे रखा, पीसीए लोडिंग 1 में) भिन्नता के परिमाण के बारे में जानकारी शामिल करें; 2) क्या सहसंबंध / सहसंबंध हैं, और इसलिए इसका उपयोग व्याख्या के लिए किया जाता है। Eigenvector मान - नहीं हैं।
ttnphns

2
+1 मैं आपके पोस्ट को पीसीए और अन्य संबंधित मुद्दों पर पढ़ रहा हूं, और बहुत कुछ सीखा है।
एंटोनी परेलाडा

29

ठीक है, पूरी तरह से गैर-गणित उत्तर:

यदि आपके पास विषयों के एक समूह पर चर का एक गुच्छा है और आप इसे उन्हीं विषयों पर कम संख्या में चर के रूप में कम करना चाहते हैं, जबकि यथासंभव कम जानकारी खो देते हैं, तो पीसीए ऐसा करने के लिए एक उपकरण है।

यह कारक विश्लेषण से भिन्न होता है, हालांकि वे अक्सर समान परिणाम देते हैं, जिसमें एफए बड़ी संख्या में मनाया चर से छोटी संख्या में अव्यक्त चर को पुनर्प्राप्त करने का प्रयास करता है जो माना जाता है कि यह अव्यक्त चर से संबंधित है।


हे पीटर! यहां आपको देखकर अच्छा लगा। यह वास्तव में अच्छा, सरल, कोई गणित का जवाब नहीं है।
जद लॉन्ग

3
एफए का उल्लेख करने के लिए +1, जिस पर चर्चा करने के लिए कोई और नहीं लगता है, और जिसे कुछ लोगों के स्पष्टीकरण की ओर मिश्रण लगता है।
गंग g

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

क्या यह कहना सही होगा कि पीसीए कारक विश्लेषण करने के कई संभावित तरीकों में से एक है?
abalter

इस क्षेत्र में शब्दावली अत्यंत असंगत है।
पीटर Flom

29

2-डी में मैथ्स करना सबसे आसान है।

हर मैट्रिक्स एक रैखिक परिवर्तन से मेल खाती है। रैखिक परिवर्तनों को विमान पर एक यादगार आकृति लेकर कल्पना की जा सकती है और यह देखना कि रेखीय परिवर्तन से यह आकृति कैसे विकृत होती है:

रैखिक परिवर्तन (तस्वीर: फ्लैनिगन और कज़दान )

  • Eigenvectors एक ही वैक्टर हैं। वे उसी दिशा में इंगित करते हैं, जिस रूप में वे परिवर्तन करते थे। मोना लिसा eigenvectors(नीला वही रहा, इसलिए वह दिशा एक स्वदेशी हैरोंआर।)
  • आइगेनवैल्यूज़ हैं कि रहने वाले वैक्टर कितना बढ़ जाते हैं या सिकुड़ जाते हैं। (नीला समान आकार का रहा, इसलिए आइजनवेल्यू होगा×1।)
  • पीसीए आपके एक्सिस को आपके डेटा के साथ बेहतर तरीके से "लाइन अप" करने के लिए घुमाता है। (स्रोत: weigend.com ) पीसीए कोवरियन मैट्रिक्स के आइगेनवेक्टर्स का उपयोग यह पता लगाने के लिए करता है कि आपको डेटा को कैसे घुमाना चाहिए। क्योंकि घूर्णन एक प्रकार का रैखिक परिवर्तन है , आपके नए आयाम पुराने जैसे, के योग होंगेपीसीए फुटबॉल
    1=23%[1]+46%[2]+39%[3]

वास्तविक डेटा के साथ काम करने वाले लोगों को आइजनवेक्टर और रैखिक परिवर्तनों में रुचि है, जो कि विभिन्न संदर्भों में "रैखिक" ((एक्स+y)=(एक्स)+(y)) वास्तव में दिलचस्प सामान को कवर कर सकते हैं। उदाहरण के लिए सोचें कि उस संपत्ति का क्या मतलब है+ तथा नए अर्थ दिए गए हैं, या यदि तथा कुछ दिलचस्प क्षेत्र से आते हैं, या एक्स तथा yकुछ दिलचस्प जगह से। उदाहरण के लिए :

चेहरे के

PCA ही एक और उदाहरण है, जो सांख्यिकीविदों के लिए सबसे अधिक परिचित है। कुछ अन्य जवाब जैसे कि फ्रीया पीसीए के वास्तविक दुनिया के अनुप्रयोग देते हैं ।

मुझे यह पूरी तरह से आश्चर्यजनक लगता है कि "रोटेशन" के रूप में सरल कुछ अलग-अलग क्षेत्रों में इतने सारे काम कर सकता है, जैसे एक सिफारिश प्रणाली के लिए उत्पादों को अस्तर करना -----इसी तरह से?भू-राजनीतिक संघर्ष की व्याख्या करना। लेकिन शायद यह इतना आश्चर्य की बात नहीं है यदि आप भौतिकी के बारे में सोचते हैं, जहां बेहतर आधार चुनना (जैसे कि बनाना)एक्स के बजाय गति की दिशा अक्ष 42.8%[एक्स]57.2%[y] अयोग्य समीकरणों को सरल लोगों में बदल देगा)।


2
वास्तव में यह एक प्रकार का संयोग है कि घुमाव रैखिक होते हैं और इसलिए गैर-ज्यामितीय डेटा के लिए क्या हो रहा है, यह वर्णन करने का एक सुविधाजनक तरीका है। संयोग कार्टेसियन / यूक्लिडियन अंतरिक्ष और केंद्रीय सीमा प्रमेय / गाऊसी दोनों के द्विघात प्रकृति से संबंधित है। अर्थात। सिगमास ऑर्थोगोनल आयामों की तरह द्विघात जोड़ते हैं, जो कि हमारी एनडी घूर्णी / ऑर्थोगोनल शब्दावली 2 डी और 3 डी अंतरिक्ष के साथ सादृश्य द्वारा उत्पन्न होती है।
डेविड एमडब्ल्यू पॉवर्स

@DavidMWPowers दिलचस्प। मैं एक रैखिक-बीजगणित दृष्टिकोण से घुमाव के बारे में सोच रहा हूं।
isomorphismes

27

इस धागे में जेडी लॉन्ग द्वारा उत्कृष्ट पोस्ट के बाद, मैंने एक साधारण उदाहरण के लिए देखा, और पीसीए का उत्पादन करने के लिए आवश्यक आर कोड और फिर मूल डेटा पर वापस जाएं। इसने मुझे कुछ पहली-हाथ की ज्यामितीय अंतर्ज्ञान दिया, और जो मुझे मिला उसे साझा करना चाहता हूं। डेटासेट और कोड को सीधे R फॉर्म Github में कॉपी और पेस्ट किया जा सकता है

मैंने एक डेटा सेट का उपयोग किया जो मुझे यहां अर्धचालक पर ऑनलाइन मिला , और मैंने इसे प्लॉटिंग की सुविधा के लिए केवल दो आयामों - "परमाणु संख्या" और "गलनांक" के लिए ट्रिम किया।


एक चेतावनी के रूप में विचार विशुद्ध रूप से कम्प्यूटेशनल प्रक्रिया का उदाहरण है: पीसीए का उपयोग कुछ व्युत्पन्न प्रमुख घटकों के लिए दो से अधिक चर को कम करने के लिए किया जाता है, या कई विशेषताओं के मामले में भी संपार्श्विकता की पहचान करने के लिए किया जाता है। तो यह दो चर के मामले में अधिक आवेदन नहीं मिलेगा, और न ही सहसंबंध matrices के eigenvectors की गणना करने की आवश्यकता होगी जैसा कि @amoeba द्वारा बताया गया है।


इसके अलावा, मैंने व्यक्तिगत बिंदुओं पर नज़र रखने के कार्य को आसान बनाने के लिए 44 से 15 तक टिप्पणियों को काट दिया। अंतिम परिणाम एक कंकाल डेटा फ्रेम ( dat1) था:

compounds   atomic.no      melting.point
AIN         10             498.0
AIP         14             625.0
AIAs        23             1011.5
...         ...            ... 

"यौगिक" कॉलम अर्धचालक के रासायनिक संविधान को इंगित करता है, और पंक्ति नाम की भूमिका निभाता है।

इसे निम्नानुसार पुन: प्रस्तुत किया जा सकता है (आर कंसोल पर कॉपी और पेस्ट करने के लिए तैयार):

dat              <- read.csv(url("http://rinterested.github.io/datasets/semiconductors"))
colnames(dat)[2] <- "atomic.no"
dat1             <- subset(dat[1:15,1:3])
row.names(dat1)  <- dat1$compounds
dat1             <- dat1[,-1]

डेटा को तब स्केल किया गया था:

X <- apply(dat1, 2, function(x) (x - mean(x)) / sd(x))
# This centers data points around the mean and standardizes by dividing by SD.
# It is the equivalent to `X <- scale(dat1, center = T, scale = T)`  

रैखिक बीजगणित चरणों का पालन किया:

C <- cov(X)                                           # Covariance matrix (centered data)

[at_nomelt_pat_no10.296melt_p0.2961]

सहसंबंध फ़ंक्शन cor(dat1)गैर-स्केल किए गए डेटा पर समान आउटपुट देता है जो स्केल किए गए डेटा cov(X)पर कार्य करता है।

lambda        <- eigen(C)$values                      # Eigenvalues
lambda_matrix <- diag(2)*eigen(C)$values              # Eigenvalues matrix

[λPC1λPC21.296422000.7035783]

e_vectors     <- eigen(C)$vectors                     # Eigenvectors

12[PC1PC2111-1]

चूंकि पहला ईजनवेक्टर शुरू में लौटता है ~[-0.7,-0.7] हम इसे बदलने के लिए चुनते हैं [0.7,0.7] इसके माध्यम से अंतर्निहित सूत्रों के अनुरूप बनाने के लिए:

e_vectors[,1] = - e_vectors[,1]; colnames(e_vectors) <- c("PC1","PC2")

परिणामी प्रतिजन थे 1.2964217 तथा 0.7035783। कम से कम न्यूनतर परिस्थितियों में, इस परिणाम से यह तय करने में मदद मिली कि कौन-से eigenvectors शामिल हैं (सबसे बड़े eigenvalues)। मिसाल के तौर पर, पहले के स्वदेशी का सापेक्ष योगदान है64.8%: eigen(C)$values[1]/sum(eigen(C)$values) * 100, जिसका अर्थ है कि यह हिसाब करता है~65%डेटा में परिवर्तनशीलता की। दूसरी ईजनवेक्टर की दिशा में परिवर्तनशीलता है35.2%। यह आमतौर पर एक स्‍क्री प्‍लॉट पर दिखाया जाता है जो आइजेनवेल्‍स के मान को दर्शाता है:

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

हम दोनों eigenvectors इस खिलौना डेटा सेट उदाहरण के छोटे आकार को देखते हुए शामिल करेंगे, यह समझते हुए कि एक eigenvectors को छोड़कर आयामीता में कमी आएगी - PCA के पीछे का विचार।

स्कोर मैट्रिक्स का आव्यूह गुणन के रूप में निर्धारित किया गया था बढ़ाया डेटा ( X) द्वारा eigenvectors (या "रोटेशन") का मैट्रिक्स :

score_matrix <-  X %*% e_vectors    
# Identical to the often found operation: t(t(e_vectors) %*% t(X))

अवधारणा केन्द्रित (और इस मामले में स्केल किए गए) डेटा की प्रत्येक प्रविष्टि (पंक्ति / विषय / अवलोकन / सुपरकंडक्टर) के एक रेखीय संयोजन को प्रत्येक आइजेनवेक्टर की पंक्तियों द्वारा भारित करती है , ताकि अंतिम प्रत्येक कॉलम में स्कोर मैट्रिक्स, हम डेटा (प्रत्येक) के प्रत्येक चर (कॉलम) से योगदान पाएंगे X, लेकिन केवल संबंधित आइजनवेक्टर ने गणना में भाग लिया होगा (अर्थात पहला ईजनवेक्टर[0.7,0.7]टी में योगदान देगा पीसी1 (प्रमुख घटक 1) और [0.7,-0.7]टी सेवा पीसी2, जैसे की:

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

इसलिए प्रत्येक eigenvector प्रत्येक चर को अलग तरह से प्रभावित करेगा, और यह पीसीए के "लोडिंग" में परिलक्षित होगा। हमारे मामले में, दूसरे आइजनवेक्टर के दूसरे घटक में नकारात्मक संकेत[0.7,-0.7] PC2 का निर्माण करने वाले रैखिक संयोजनों में पिघलने बिंदु मानों के संकेत को बदल देगा, जबकि पहले eigenvector का प्रभाव लगातार सकारात्मक होगा:

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

आइजनवेक्टरों को बढ़ाया जाता है 1:

> apply(e_vectors, 2, function(x) sum(x^2))
PC1 PC2 
  1   1 

जबकि ( लोडिंग ) आइगेनवैल्यूज़ द्वारा स्केल किए गए आइगेनवेक्टर हैं (इन-बिल्ट आर कार्यों में भ्रमित शब्दावली के बावजूद)। नतीजतन, लोडिंग की गणना इस प्रकार की जा सकती है:

> e_vectors          %*% lambda_matrix
          [,1]      [,2]
[1,] 0.9167086  0.497505
[2,] 0.9167086 -0.497505

> prcomp(X)$rotation %*% diag(princomp(covmat = C)$sd^2)
                   [,1]      [,2]
atomic.no     0.9167086  0.497505
melting.point 0.9167086 -0.497505

यह ध्यान रखना दिलचस्प है कि घुमाए गए डेटा क्लाउड (स्कोर प्लॉट) में प्रत्येक घटक (पीसी) के साथ विचरण के बराबर विचरण होगा:

> apply(score_matrix, 2, function(x) var(x))
       PC1        PC2 
53829.7896   110.8414 
> lambda
[1] 53829.7896   110.8414

अंतर्निहित कार्यों का उपयोग करके परिणामों को दोहराया जा सकता है:

# For the SCORE MATRIX:
  prcomp(X)$x
# or...
  princomp(X)$scores # The signs of the PC 1 column will be reversed.

# and for EIGENVECTOR MATRIX:
  prcomp(X)$rotation
# or...
  princomp(X)$loadings

# and for EIGENVALUES:
  prcomp(X)$sdev^2
# or...
  princomp(covmat = C)$sd^2

वैकल्पिक रूप से, एकवचन मान अपघटन (यूΣवीटी) पीसीए को मैन्युअल रूप से गणना करने के लिए विधि लागू किया जा सकता है; वास्तव में, यह प्रयोग की जाने वाली विधि है prcomp()। इस कदम के रूप में वर्तनी की जा सकती है:

svd_scaled_dat <-svd(scale(dat1))
eigen_vectors <- svd_scaled_dat$v
eigen_values <- (svd_scaled_dat$d/sqrt(nrow(dat1) - 1))^2
scores<-scale(dat1) %*% eigen_vectors

परिणाम नीचे दिखाया गया है, पहले के साथ, व्यक्तिगत अंक से पहले आइजन्वेक्टर की दूरी, और दूसरे प्लॉट पर, दूसरे आइगेनवेक्टर के लिए ऑर्थोगोनल की दूरी:

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

यदि इसके बजाय हमने स्कोर मैट्रिक्स (PC1 और PC2) के मानों को प्लॉट किया - अब "मेल्टिंग.पॉइंट" और "एटॉमिक.नो" नहीं है, लेकिन वास्तव में पॉइंट के आधार का एक परिवर्तन eigenvectors के साथ आधार के रूप में समन्वय करता है, तो ये दूरी दूर होंगी। संरक्षित, लेकिन स्वाभाविक रूप से xy अक्ष के लंबवत हो जाएगा:

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

मूल डेटा को पुनर्प्राप्त करने के लिए चाल थी । अंक एक सरल मैट्रिक्स गुणा के माध्यम से eigenvectors द्वारा बदल दिए गए थे। अब डेटा बिंदुओं के स्थान में परिणामी परिवर्तन के साथ eigenvectors के मैट्रिक्स के व्युत्क्रम से गुणा करके डेटा को वापस घुमाया गया था । उदाहरण के लिए, बाएँ ऊपरी वृत्त का चतुर्थ भाग (नीचे वाले भूखंड में काला वृत्त) में गुलाबी बिंदु "GaN" में परिवर्तन देखें, बाएँ निचले वृत्त का चतुर्थ भाग में अपनी प्रारंभिक स्थिति में लौट रहे हैं (दाएँ भूखंड में काला वृत्त, नीचे)।

अब हम अंत में इस "डी-रोटेटेड" मैट्रिक्स में मूल डेटा को बहाल कर चुके थे:

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

पीसीए में डेटा के रोटेशन के निर्देशांक के परिवर्तन से परे, परिणामों की व्याख्या की जानी चाहिए, और इस प्रक्रिया में एक शामिल है biplot, जिस पर डेटा बिंदुओं को नए eigenvector निर्देशांक के संबंध में प्लॉट किया जाता है, और मूल चर को अब बदल दिया जाता है। वैक्टर। उपरोक्त रोटेशन ग्राफ़ की दूसरी पंक्ति में भूखंडों के बीच बिंदुओं की स्थिति में समानता को ध्यान में रखना दिलचस्प है ("xy एक्सिस = आइगेनवेक्टर्स के साथ स्कोर") (भूखंडों में बाईं ओर जो अनुसरण करते हैं), और biplot(- से ) सही):

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

लाल तीर के रूप में मूल चर के superimposition की व्याख्या करने के लिए एक रास्ता प्रदान करता है PC1दोनों के साथ दिशा (एक सकारात्मक संबंध या के साथ) में एक वेक्टर के रूप में atomic noऔर melting point; और PC2एक घटक के रूप में, atomic noलेकिन नकारात्मक रूप से सहसंबद्ध के बढ़ते मूल्यों के साथ melting point, आइजनवेक्टर के मूल्यों के अनुरूप है:

PCA$rotation
                    PC1        PC2
atomic.no     0.7071068  0.7071068
melting.point 0.7071068 -0.7071068

विक्टर पॉवेल का यह इंटरएक्टिव ट्यूटोरियल डेटा क्लाउड को संशोधित करने के रूप में आइजनवेक्टर में बदलाव के रूप में तत्काल प्रतिक्रिया देता है।


1
प्रयास के लिए और विशेष रूप से एनीमेशन के लिए +1! लेकिन एक को ध्यान में रखना चाहिए कि दो चर के सहसंबंध मैट्रिक्स पर पीसीए एक विशेष मामले का एक सा है क्योंकि दो चर के सभी सहसंबंध matrices में समान eigenvectors हैं : उनमें से एक हमेशा [0.7 0.7] होगा (0.7 एक 1 / sqrt जा रहा है) (2))। यह कोवरियस मैट्रिसेस के लिए या उच्च आयामों में सहसंबंध मैट्रिस के लिए मामला नहीं है।
अमीबा

14

किसी ऐसे व्यक्ति से जिसने पीसीए का भरपूर उपयोग किया है (और इसे कुछ लोगों को भी समझाने की कोशिश की है) यहाँ मेरे तंत्रिका विज्ञान के क्षेत्र से एक उदाहरण है।

जब हम किसी व्यक्ति की खोपड़ी से रिकॉर्डिंग कर रहे होते हैं तो हम इसे 64 इलेक्ट्रोड के साथ करते हैं। तो, वास्तव में हमारे पास एक सूची में 64 नंबर हैं जो खोपड़ी द्वारा दिए गए वोल्टेज का प्रतिनिधित्व करते हैं। अब चूंकि हम माइक्रोसेकंड परिशुद्धता के साथ रिकॉर्ड करते हैं, अगर हमारे पास 1 घंटे का प्रयोग है (अक्सर वे 4 घंटे होते हैं) तो इससे हमें 1e6 * 60 ^ 2 == 3,600,000,000 बार अंक मिलते हैं, जिस पर प्रत्येक इलेक्ट्रोड में एक वोल्टेज दर्ज किया गया था, इसलिए अब हम 3,600,000,000 x 64 मैट्रिक्स है। चूंकि पीसीए की एक प्रमुख धारणा यह है कि आपके चर संबंधित हैं, यह डेटा की इस हास्यास्पद मात्रा को कम करने के लिए एक शानदार तकनीक है जो कि ट्रैफ़िक है। जैसा कि पहले ही कई बार कहा जा चुका है, प्रतिजन चर (स्तंभ) द्वारा बताए गए विचरण की मात्रा का प्रतिनिधित्व करते हैं। इस मामले में एक eigenvalue एक विशेष इलेक्ट्रोड द्वारा योगदान किए गए समय में एक विशेष बिंदु पर वोल्टेज में विचरण का प्रतिनिधित्व करता है। तो अब हम कह सकते हैं, "ओह, अच्छी तरह से इलेक्ट्रोडxसमय बिंदु पर yहमें आगे के विश्लेषण के लिए ध्यान केंद्रित करना चाहिए क्योंकि यही वह जगह है जहां सबसे अधिक परिवर्तन हो रहा है "। आशा है कि यह मदद करता है। उन प्रतिगमन भूखंडों को प्यार करना!


12

मैं इसका जवाब देने के लिए एक बुरा व्यक्ति हो सकता हूं क्योंकि मैं लौकिक दादी हूं, जिसने अवधारणा को मुझे समझाया है और बहुत अधिक नहीं, लेकिन यहां जाता है:

मान लीजिए कि आपकी आबादी है। आबादी का एक बड़ा हिस्सा दिल के दौरे से मर रहा है। आप यह पता लगाने की कोशिश कर रहे हैं कि दिल के दौरे का कारण क्या है।

आपके पास डेटा के दो टुकड़े हैं: ऊंचाई और वजन।

अब, यह स्पष्ट है कि वजन और दिल के दौरे के बीच कुछ रिश्ता है, लेकिन सहसंबंध वास्तव में मजबूत नहीं है। कुछ भारी लोग ऐसे हैं जिन्हें दिल का दौरा पड़ता है, लेकिन कुछ नहीं करते हैं।

अब, आप एक PCA करते हैं, और यह आपको बताता है कि ऊँचाई ('बॉडी मास') द्वारा विभाजित किया गया वजन हार्ट अटैक का एक अधिक संभावित पूर्वानुमान है, या तो वजन या ऊँचाई, क्योंकि, लो और निहारना, "वास्तविकता" यह है कि शरीर का द्रव्यमान जो दिल के दौरे का कारण बनता है।

अनिवार्य रूप से, आप पीसीए करते हैं क्योंकि आप चीजों का एक गुच्छा माप रहे हैं और आप वास्तव में नहीं जानते हैं कि क्या वे वास्तव में प्रमुख घटक हैं या यदि कुछ गहरे अंतर्निहित घटक हैं जो आपने नहीं मापे हैं।

[अगर यह पूरी तरह से बंद है तो कृपया इसे संपादित करने के लिए स्वतंत्र महसूस करें। मैं वास्तव में अवधारणा को इससे अधिक गहराई से नहीं समझता]।


1
आँकड़ों की साइट @Joel में आपका स्वागत है! यदि आपको कोई मौका मिलता है, तो आप हमारे प्रस्तावित वितरित StackExchange डेटा विश्लेषण परियोजना पर चर्चा में योगदान दे सकते हैं: आंकड़े . stackexchange.com/questions/2512/…
शेन

9
उत्कृष्ट उदाहरण है, लेकिन तकनीकी रूप से पीसीए को शरीर द्रव्यमान स्पष्टीकरण नहीं मिल सकता है क्योंकि यह केवल रैखिक स्पष्टीकरण पा सकता है, जो मूल चर का भारित होता है। हालांकि, यदि आप अपने इनपुट चर के लॉग लेते हैं, तो अनुपात में अंतर हो जाता है, और यदि यह सही स्पष्टीकरण है, तो पीसीए इसे खोजने में सक्षम होगा।
डेविड एमडब्ल्यू पॉवर्स

10

यहाँ दादी के लिए एक है:

हमारे शहर में उत्तर और दक्षिण की ओर जाने वाली सड़कें हैं, कुछ पूर्व और पश्चिम की ओर जा रही हैं, और कुछ उत्तर-पश्चिम और दक्षिण-पूर्व में भी जा रही हैं, कुछ NE से SW हैं। एक दिन एक आदमी सभी सड़कों पर सभी ट्रैफिक को मापता है, वह पाता है कि सबसे ज्यादा ट्रैफिक तिरछे होकर उत्तर-पश्चिम से दक्षिण-पूर्व की ओर जा रहा है, दूसरा सबसे बड़ा यह उत्तर-पूर्व से दक्षिण-पश्चिम में जाने के लिए लंबवत है और बाकी सभी काफी छोटा है। इसलिए वह एक बड़ा वर्ग खींचता है और दाएं से बाईं ओर एक बड़ी रेखा डालता है और कहता है कि NW से SE है, फिर दूसरी रेखा को बीच में से ऊपर और नीचे की ओर खींचता है। वह कहते हैं कि यातायात के लिए दूसरी सबसे अधिक भीड़ वाली दिशा (NE से SW) है। शेष छोटा है इसलिए इसे नजरअंदाज किया जा सकता है।

बायीं दायीं ओर वाली लाइन पहली ईजेनवेक्टर और दूसरी डाउन लाइन दूसरी ईजेनवेक्टर है। बाईं और दाईं ओर जाने वाली कारों की कुल संख्या में पहला स्वदेशी है और ऊपर और नीचे जाने वाले लोग दूसरी प्रतिध्वनि हैं।


1
यह सादृश्य परीक्षा के तहत टूटता हुआ प्रतीत होता है। क्या होगा अगर सबसे बड़ा और दूसरा सबसे बड़ा यातायात दिशा ओर्थोगोनल नहीं है? ऐसे मामले में पीसीए को समझने में आपकी सादृश्यता कैसे मदद करती है?
whuber

मुझे लगता है कि दादी समझती हैं कि ऑर्थोगोनल का मतलब क्या है? हां, कुछ खामियां हैं लेकिन यह एक शुरुआत है। मुझे लगता है कि यह बहुत अच्छा है कि यहाँ बहुत सारे उत्तर हैं।
बाजाबोब

2
"दादी" एक पोस्ट को समझती है या नहीं, इसके लिए उचित रूप से स्पष्ट और सही होना चाहिए। आपका सादृश्य उन उद्देश्यों में से किसी एक को पूरा करने के लिए प्रकट नहीं होता है। ऐसा इसलिए हो सकता है क्योंकि मैं सादृश्य को नहीं समझता: मैं इसे पीसीए या क्या करता है से नहीं जोड़ सकता। शायद आप स्पष्ट कर सकते हैं कि सादृश्य कैसे काम करता है ताकि अन्य पाठक उतने रहस्यमय न बनें जितना कि मैं हूं।
whuber

तथ्य यह है कि वे ऑर्थोगोनल नहीं हैं, इसका मतलब है कि आपको आईसीए या एफए नहीं पीसीए की आवश्यकता है। अगर दादी स्टार ट्रेक देख रही थीं (हाँ, वह पीढ़ी है) जब वे एक कोण पर अक्षम जहाज दिखाते हैं - पीसीए पैमाने और दृश्य (गैलेक्टिक प्लेन या जहाज के अक्ष) से ​​संबंधित संदर्भ विमान को पुनर्प्राप्त करने के लिए करते हैं।
डेविड एमडब्ल्यू पॉवर्स

-1। मैं @whuber से सहमत हूं कि यह सादृश्य काम नहीं करता है। यहाँ डेटा माना जाता है, क्या सहसंयोजक मैट्रिक्स ये "eigenvectors" हैं? मैं इसे बिल्कुल नहीं समझता।
अमीबा

10

यह उत्तर एक सहज और गणितीय व्याख्या नहीं देता है:

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

विभिन्न शब्दों में: पहला प्रमुख घटक वेक्टर वेक्टर पर सभी बिंदुओं को प्रोजेक्ट करने के बाद आपको पॉइंट क्लाउड के बारे में सबसे अधिक बताएगा। यह पाठ्यक्रम की एक गहन व्याख्या है।

इस दीर्घवृत्त को देखें (एक 3D मॉडल के लिए लिंक का अनुसरण करें) :

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

यदि आपको एक सदिश को एक आयामी उप-स्थान बनाने के लिए चुनना होगा, जिस पर दीर्घवृत्त के बिंदुओं को प्रक्षेपित किया जाएगा। आप किसे चुनेंगे क्योंकि यह 3 आयामों में मूल सेट के बारे में सबसे अधिक जानकारी देता है?

मैं सबसे लंबे अक्ष के साथ लाल का अनुमान लगाता हूं। और यह वास्तव में गणना की गई 1 मुख्य घटक है! अगला कौन सा है - मैं अगले सबसे लंबे अक्ष के साथ नीले रंग को चुनूंगा।

आमतौर पर आप दो आयामी विमान पर या तीन आयामी अंतरिक्ष में एक उच्च-आयामी स्थान से बिंदुओं का एक सेट करना चाहते हैं ।

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


http://www.joyofdata.de/blog/illustration-of-principal-component-analysis-pca/


10

हालांकि पीसीए की सहज समझ प्रदान करने के लिए कई उदाहरण दिए गए हैं, लेकिन यह तथ्य लगभग शुरुआत में इसे समझना मुश्किल बना सकता है, कम से कम यह मेरे लिए था।

"पीसीए के बारे में एक बात क्या थी कि अलग-अलग विषयों के ये सभी अलग-अलग उदाहरण आम में हैं ??"

क्या मुझे सहज रूप से समझने में मदद मिली गणित समानताएं के एक जोड़े थे, क्योंकि यह स्पष्ट है कि गणित आपके लिए आसान हिस्सा है, हालांकि यह आपकी दादी को यह समझाने में मदद नहीं करता है ...

एक नियमितीकरण समस्या के बारे में सोचो, पाने की कोशिश कर रहा है

||एक्सबी-Y||=0

या अंग्रेजी में, अपने डेटा को तोड़ दें Yदो अन्य मेट्रिक्स में जो किसी तरह डेटा पर प्रकाश डालेंगे? यदि वे दो मेट्रिक्स अच्छे से काम करते हैं, तो उनके बीच त्रुटि औरY बहुत ज्यादा नहीं होना चाहिए।

पीसीए आपको एक उपयोगी फैक्टरिज़टन देता है Y, सभी कारणों से अन्य लोगों ने कहा है। यह आपके पास मौजूद डेटा के मैट्रिक्स को तोड़ देता है,Y, दो अन्य उपयोगी मेट्रिसेस में। इस मामले में,एक्स एक मैट्रिक्स होगा जहां कॉलम पहले हैं आपके द्वारा रखे गए पीसी, और बी एक मैट्रिक्स है जो आपको मैट्रिक्स के कॉलम को फिर से बनाने के लिए एक नुस्खा देता है Y के कॉलम का उपयोग कर एक्सबी प्रथम है की पंक्तियों एस, और सब के सब वीस्थानांतरित। के विकर्ण पर eigenvaluesएसमूल रूप से वजन जो पीसी सबसे महत्वपूर्ण हैं। इस तरह से गणित स्पष्ट रूप से आपको बताता है कि कौन से पीसी सबसे महत्वपूर्ण हैं: वे प्रत्येक अपने आइजेन्यूअल द्वारा भारित हैं। फिर, मैट्रिक्सवीटी पीसी को बताता है कि कैसे गठबंधन करना है।

मुझे लगता है कि लोगों ने कई सहज उदाहरण दिए हैं, इसलिए मैं सिर्फ वह साझा करना चाहता था। यह देखकर कि मुझे यह समझने में मदद मिली कि यह कैसे काम करता है। दिलचस्प एल्गोरिदम और तरीकों की एक दुनिया है जो पीसीए के समान चीजें करते हैं। स्पार्स कोडिंग मशीन लर्निंग का एक सबफील्ड है जो फैक्टरिंग मैट्रिक्स के बारे में है दो अन्य उपयोगी और दिलचस्प लोगों में जो पैटर्न को दर्शाते हैं


9

यहां एक गणित उत्तर है: पहला प्रमुख घटक डेटा का सबसे लंबा आयाम है। इसे देखें और पूछें: डेटा कहां व्यापक है? वह पहला घटक है। अगला घटक लंबवत है। तो डेटा के एक सिगार की लंबाई और चौड़ाई होती है। यह किसी भी चीज़ के लिए समझ में आता है जो कि एक प्रकार का आयताकार है।


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

पीसीए वास्तव में आयाम / आकार को मापने के लिए विभिन्न प्रकार के प्राकृतिक तरीके से बहुत अच्छी तरह से काम करता है। आपको बस किसी भी दिशा में "आयाम" को मापने के लिए मैट्रिक्स के साथ सहसंयोजक मैट्रिक्स को बदलने की आवश्यकता है (मैट्रिक्स को केवल सकारात्मक परिभाषित या सममित होने की आवश्यकता है।) यह बिल्कुल अलग ऑर्डर करने वाले ऑपरेटर के लिए क्विकॉर्ट कार्य की तरह है, लेकिन आपको अलग-अलग मिलेगा। विभिन्न ऑर्डरिंग ऑपरेटरों के लिए।
जेम्स एलआई

9

जिस तरह से मैं मुख्य घटकों को समझता हूं वह यह है: कई चर (ऊंचाई, वजन, आयु, तापमान, तरंग दैर्ध्य, प्रतिशत उत्तरजीविता, आदि) के साथ डेटा तीन आयामों में प्रस्तुत किया जा सकता है ताकि संबंधित साजिश की जा सके।

अब यदि आप किसी भी तरह से "3 डी डेटा" का मतलब बनाना चाहते हैं, तो आप यह जानना चाह सकते हैं कि इस 3 डी डेटा के कौन से 2 डी विमानों (क्रॉस-सेक्शन) में किसी दिए गए सुइट के लिए सबसे अधिक जानकारी है। ये 2 डी प्लेन प्रमुख घटक हैं, जिनमें प्रत्येक चर का एक अनुपात होता है।

मूल चर से समग्र विशेषताओं के साथ, स्वयं को चर के रूप में प्रमुख घटकों के बारे में सोचो (यह नया चर भाग वजन, भाग ऊंचाई, भाग आयु, आदि के रूप में वर्णित किया जा सकता है)। जब आप किसी अन्य (Y) के खिलाफ एक प्रमुख घटक (X) की साजिश करते हैं, तो आप जो कर रहे हैं वह एक 2 डी मानचित्र बना रहा है जो मूल चर के बीच सहसंबंधों का ज्यामितीय वर्णन कर सकता है। अब उपयोगी भाग: चूंकि प्रत्येक विषय (अवलोकन) की तुलना प्रत्येक चर के मानों के साथ की जाती है, इस XY मानचित्र पर विषय (अवलोकन) भी कहीं-कहीं पाए जाते हैं। उनका स्थान प्रत्येक अंतर्निहित चर के सापेक्ष योगदान पर आधारित होता है (यानी एक अवलोकन उम्र और तापमान से भारी प्रभावित हो सकता है, जबकि एक अन्य ऊंचाई और वजन से अधिक प्रभावित हो सकता है)।


8

मैं दूसरे हिस्से में एक गैर-माथि प्रतिक्रिया और प्रेरणा-थ्रू गणित का अधिक विस्तृत पक्षी-दृश्य देखूंगा।


गैर Mathy:

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

उदाहरण के लिए, मान लीजिए कि आपने 30 प्रश्नों के साथ एक राजनीतिक मतदान प्रश्न दिया है, प्रत्येक को 5 के माध्यम से 1 ( दृढ़ता से असहमत ) का जवाब दिया जा सकता है ( जोरदार सहमत )। आपको प्रतिक्रिया के टन मिलते हैं और अब आपके पास 30-आयामी डेटा है और आप इसे से सिर या पूंछ नहीं बना सकते हैं। तब हताशा में आप पीसीए को चलाने के लिए सोचते हैं और पता चलता है कि आपके विचरण का 90% एक दिशा से आता है, और यह दिशा आपके किसी भी अक्ष के अनुरूप नहीं है। डेटा के आगे निरीक्षण के बाद आप यह निष्कर्ष निकालते हैं कि यह नया हाइब्रिड अक्ष राजनीतिक बायें-दाएं स्पेक्ट्रम यानी डेमोक्रेट / रिपब्लिकन स्पेक्ट्रम से मेल खाता है, और डेटा में अधिक सूक्ष्म पहलुओं को देखने के लिए आगे बढ़ता है।


Mathy:

यह कभी-कभी ज़ूम आउट करने और अर्थ पर कुछ प्रकाश डालने के लिए गणितीय प्रेरणा को देखने में मदद करता है।

मैट्रिसेस का एक विशेष परिवार है जो आपके समन्वय अक्ष को बदलकर केवल विकर्ण मैट्रिसेस में परिवर्तित किया जा सकता है। स्वाभाविक रूप से, उन्हें विकर्ण कहा जाता है मैट्रीज और सुरुचिपूर्ण रूप से पर्याप्त है, ऐसा करने के लिए आवश्यक नए समन्वय अक्ष वास्तव में आइजनवेक्टर हैं।

जैसा कि यह पता चला है कि सहसंयोजक मैट्रिक्स सममित हैं और हमेशा तिरछे रहेंगे ! इस मामले में eigenvectors को प्रमुख घटक कहा जाता है और जब आप eigenvector निर्देशांक में सहसंयोजक मैट्रिक्स लिखते हैं, तो विकर्ण प्रविष्टियां (केवल शेष) आपके eigenvectors की दिशा में विचरण के अनुरूप होती हैं। यह हमें यह जानने की अनुमति देता है कि किन दिशाओं में सबसे अधिक विचरण है। सिवाय इसके कि इन निर्देशांकों में सहसंयोजक मैट्रिक्स विकर्ण है, आपने अपने चर के बीच सभी सहसंबंध को बड़ी चतुराई से समाप्त कर दिया है।

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

लेकिन दिन के अंत में, यह सब वांछनीयता की जड़ तथ्य यह है कि विकर्ण मैट्रिक्स हैं से आता है जिस तरह से निपटने के लिए आसान उनके मेसियर, अधिक सामान्य चचेरे भाई की तुलना में।


2
आपके सहयोग के लिए धन्यवाद। हालाँकि, यह पीसीए की एक अनावश्यक रूप से संकीर्ण व्याख्या को संबोधित करता है। (1) पीसीए को अत्यधिक गैर-गॉसियन डेटासेट पर फलित किया गया है। (2) पीसीए एक औपचारिक पैरामीट्रिक प्रक्रिया नहीं है; शायद यह आत्मा में खोजपूर्ण के रूप में सोचने के लिए बेहतर है। (३) किसी भी प्रकार के बहुभिन्नरूपी वितरण या डेटा के सभी सहसंयोजक मैट्रिक्स, विकर्ण हैं। न तो गाऊसीनेस (सामान्यता) और न ही अध: पतन आवश्यकताएं हैं। (मैट्रिक्स के समरूपता और होने असली घटकों diagonalizability की गारंटी ।)
whuber

मुझे स्वीकार करना चाहिए, मुझे भूल जाने के लिए शर्मिंदा होना पड़ता है, लेकिन सामान्य रूप से सहसंयोजक मैट्रिसेस के बारे में अच्छी बात है। मैं इसे प्रतिबिंबित करने के लिए संपादित करने जा रहा हूं। इसके अलावा, क्या आप बिंदु (2) पर विस्तार से बता सकते हैं? मैं पैरामीट्रिक या गैर पैरामीट्रिक प्रक्रियाओं के बीच अंतर से परिचित नहीं हूं।
क्रिश्चियन ब्यूनो

7

मैं पीसीए को एक ज्यामितीय उपकरण के रूप में देखता हूं। यदि आपको 3-स्पेस में पॉइंट्स का एक गुच्छा दिया जाता है जो एक सीधी रेखा पर बहुत अधिक हैं, और आप उस लाइन के समीकरण का पता लगाना चाहते हैं, तो आप इसे पीसीए (पहला घटक लें) के माध्यम से प्राप्त करते हैं। यदि आपके पास 3-स्थान में बिंदुओं का एक गुच्छा है जो ज्यादातर प्लानेर हैं, और उस विमान के समीकरण की खोज करना चाहते हैं, तो इसे पीसीए के माध्यम से करें (कम से कम महत्वपूर्ण घटक वेक्टर लें और जो विमान के लिए सामान्य होना चाहिए)।


7

क्यों इतना eigenvalues ​​/ eigenvectors?

पीसीए करते समय, आप प्रत्येक आधार वेक्टर पर अनुमानित विचरण को अधिकतम करके कुछ ऑर्थोगोनल आधार की गणना करना चाहते हैं।

पिछले आधार वैक्टर की गणना करने के बाद, आप चाहते हैं कि अगला एक हो:

  • पिछले करने के लिए रूढ़िवादी
  • मानदंड 1
  • अधिकतम विचरण मानक के साथ अनुमानित विचरण को अधिकतम करना

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

यह कहने के लिए समान है कि अगला आधार वेक्टर कोविर्सियस मैट्रिक्स का एक आइजनवेक्टर होना चाहिए। प्रत्येक चरण में सबसे अच्छा विकल्प यह है कि शेष लोगों में से सबसे बड़े प्रतिजन के साथ एक को चुना जाए।


5
निश्चित रूप से एक आम आदमी के लिए स्पष्टीकरण नहीं है - ऑर्थोगोनल आधार वैक्टर? प्रक्षेपण विचरण को अधिकतम करना? विवश अनुकूलन समस्या? लैगरेंज मल्टीप्लायर? ये अत्यधिक "शब्दजाल" हैं। एक आम आदमी को दिखाएँ जो समझते हैं इन क्या मतलब है और मैं तुम्हें एक गणितज्ञ / सांख्यिकीविद् दिखाता हूँ
probabilityislogic

6

मूल रूप से पीसीए में नए चर मिलते हैं जो मूल चर के रैखिक संयोजन होते हैं जैसे कि नए स्थान में, डेटा में कम आयाम होते हैं। एक कोण पर आयोजित एक फ्लैट प्लेट की सतह पर 3 आयामों में बिंदुओं से युक्त डेटा सेट के बारे में सोचें। मूल x, y, z axes में आपको डेटा का प्रतिनिधित्व करने के लिए 3 आयामों की आवश्यकता होती है, लेकिन सही रैखिक परिवर्तन के साथ, आपको केवल 2 की आवश्यकता होती है।

मूल रूप से @Joel ने क्या कहा, लेकिन इनपुट चर का केवल रैखिक संयोजन।


6

कुछ समय पहले मैंने इस पीसीए एल्गोरिथ्म को समझने की कोशिश की थी और मैं ईजन वैक्टर और ईजन मूल्यों के बारे में एक नोट बनाना चाहता था। उस दस्तावेज़ में कहा गया था कि ईवीएस का उद्देश्य बड़े आकार के मॉडल के मॉडल को बहुत छोटे आकार के मॉडल में बदलना है।

उदाहरण के लिए, पहले पूर्ण आकार के पुल के निर्माण और फिर उस पर प्रयोगों और परीक्षणों को अंजाम देने के बजाय, ईवीएस का उपयोग बहुत छोटे आकार के पुल का निर्माण करना संभव है, जहां सभी कारक / मात्रा एक ही मार्जिन से कम हो जाएगी और इसके अलावा परीक्षण और उस पर किए गए तनाव संबंधी परीक्षणों के वास्तविक परिणाम की गणना और मूल मॉडल के लिए आवश्यकतानुसार उचित रूप से बढ़ाई जा सकती है। एक तरह से ईवीएस मूल के सार बनाने में मदद करते हैं

मेरे लिए, इस व्याख्या का गहरा अर्थ था कि मैं क्या करने की कोशिश कर रहा था! आशा है कि यह भी आपकी मदद करता है!


-1। शायद मैंने सादृश्य की पूरी तरह से सराहना नहीं की, लेकिन यह मुझे बहुत भ्रामक लगता है। पीसीए वास्तव में (एक तरह से) "बड़े" मॉडल को "छोटे" मॉडल में "कन्वर्ट" करने की अनुमति देता है, लेकिन यह डेटासेट की गतिशीलता को कम करके ऐसा करता है। लेकिन बड़े की तुलना में कम आयामीता का छोटा पुल कैसे है ?! वे दोनों 3 डी हैं, वे नहीं हैं।
अमीबा

@ बाम्बेबा: यह अर्क एक पेपर से बाहर है जिसे मैंने पढ़ा है, ये वास्तव में मेरे शब्द नहीं हैं। मैंने लंबे समय से इस विषय का अध्ययन नहीं किया है और मैंने ट्रेस खो दिया है।
रिर्सच

6

कल्पना कीजिए कि दादी ने अपनी पहली तस्वीरें और फिल्में डिजिटल कैमरे पर ली हैं, जो आपने उन्हें क्रिसमस के लिए दिया था, दुर्भाग्य से वह अपना दाहिना हाथ छोड़ती हैं क्योंकि वह तस्वीरों के लिए बटन पर नीचे धक्का देती हैं, और वह फिल्मों के दौरान भी काफी हिलती हैं। वह नोटिस करती है कि लोग, पेड़, बाड़, भवन, द्वार, फर्नीचर, आदि सीधे और नीचे नहीं हैं, ऊर्ध्वाधर नहीं हैं, और यह कि फर्श, जमीन, समुद्र, क्षितिज अच्छी तरह से क्षैतिज नहीं है, और अच्छी तरह से फिल्मों के रूप में अच्छी तरह से अस्थिर हैं। वह पूछती है कि क्या आप उसे ठीक करने में मदद कर सकते हैं, सभी 3000 छुट्टी की तस्वीरें और घर और समुद्र तट (वह ऑस्ट्रेलियाई) पर लगभग 100 वीडियो प्रस्तुत कर रहे हैं, देश में घूम रहे हैं। उसे यह फोटो सॉफ्टवेयर मिला है जो आपको ऐसा करने की अनुमति देता है। आप उसे बताएं कि उसे दिन लगेंगे, और वैसे भी वीडियो पर काम नहीं करेगा, लेकिन आप जानते हैं कि पीसीए और आईसीए नामक तकनीकें मदद कर सकती हैं। आप समझाते हैं कि आपके शोध में वास्तव में प्राकृतिक आयामों में डेटा के इस प्रकार के रोटेशन को शामिल किया गया है, कि ये तकनीक डेटा में सबसे महत्वपूर्ण दिशाएं, इस मामले में फोटो, और सबसे महत्वपूर्ण एक को घुमाने के लिए क्षैतिज है, दूसरा ऊर्ध्वाधर है (और यह अधिक आयामों के लिए भी जा सकता है जो हम बहुत अच्छी तरह से कल्पना नहीं कर सकते हैं, हालांकि समय फिल्मों में भी एक आयाम है)।

-

तकनीकी पक्ष। वास्तव में, आप शायद उसके लिए ऐसा कर अपना पीएचडी कमा सकते हैं, और किनारों के अनुरूप छवियों के स्वतंत्र घटकों के बारे में बेल और सेज़नोस्की (1997) द्वारा एक महत्वपूर्ण पेपर है। इसे पीसीए से संबंधित करने के लिए: आईसीए पीसीए या एसवीडी का उपयोग पहले चरण के रूप में आयामीता और प्रारंभिक सन्निकटन को कम करने के लिए करता है, लेकिन फिर उन्हें सुधारता है जो पीसीए की तरह न केवल दूसरी ऑर्डर त्रुटि (एसएसई) को ध्यान में रखता है, बल्कि उच्च आदेश त्रुटियां - यदि यह सच है आईसीए, सभी उच्च आदेश, हालांकि कई एल्गोरिदम खुद को 3 या 4 वें तक सीमित रखते हैं। कम क्रम वाले पीसीए घटकों को क्षैतिज और ऊर्ध्वाधर द्वारा दृढ़ता से प्रभावित किया जाता है। फिल्मों के लिए कैमरा मोशन से निपटना भी पीसीए / आईसीए का उपयोग कर सकता है। 2 डी तस्वीरों और 2½D फिल्मों के लिए आपको इसे प्राप्त करने के लिए कुछ जोड़ीदार चालें चाहिए।

एक और एप्लिकेशन जिसे आप दादी को समझा सकते हैं वह है आइजनफैस - उच्च क्रम वाले आइजनवेक्टर '7 मूल भावनाओं' (उनमें से प्रत्येक के लिए औसत चेहरा और उस औसत करने के लिए 'स्केल्ड रोटेशन या रैखिक संयोजन) को अनुमानित कर सकते हैं, लेकिन अक्सर वे घटक मिलते हैं जो सेक्स और रेस से संबंधित हैं, और कुछ व्यक्ति या व्यक्तिगत विशेषताओं (चश्मा, दाढ़ी, आदि) को अलग कर सकते हैं। ऐसा तब होता है जब आपके पास किसी एक व्यक्ति और कई भावनाओं / अभिव्यक्तियों के कुछ फोटो होते हैं, लेकिन तटस्थ भावों वाले कई चेहरे होने पर आपको एक अलग पूर्वाग्रह मिलता है। पीसीए के बजाय आईसीए का उपयोग करना वास्तव में बुनियादी भावनाओं के लिए ज्यादा मदद नहीं करता है, लेकिन बार्टलेट और सेजनोस्की (1997) ने दिखाया कि इसमें चेहरे की पहचान के लिए उपयोगी विशेषताएं पाई गईं।


1
मैं उदाहरण के साथ और सादृश्य से संवाद करने के प्रयास की सराहना करता हूं। हालांकि, उच्च संभावना वाली दादी के कारण छवियों का उपयोग दुर्भाग्यपूर्ण है, यह समझ में नहीं आएगा कि "घुमाने" की आपकी भावना वास्तव में एक छवि के अक्षों को घुमाने के साथ कम है , और न ही वह यह समझने की संभावना है कि आप "आयाम" का उपयोग कर रहे हैं "एक अमूर्त अर्थ में जिसमें तस्वीरों के लाखों आयाम हैं और सिर्फ दो नहीं हैं।
whuber

हां, आपको एक बिंदु बादल के रूप में इसका प्रतिनिधित्व करने की आवश्यकता है, जैसा कि अन्य उत्तरों में छवियों के साथ है। बढ़त का पता लगाने और / या थ्रेसहोल्ड के कुछ प्रकार के साथ प्रीप्रोसेसिंग "ट्रिक्स" का संभावित हिस्सा होगा जिसका मैंने उल्लेख किया था। लेकिन एक जटिल फोटो पर काम करने के लिए पीएचडी के लायक ट्रिक्स की आवश्यकता होती है।
डेविड MW

@ जब भी मैंने वास्तव में स्टीरियो इमेज कैलिब्रेशन करने में इन घुमावों को खोजने के लिए पीसीए (अच्छी तरह से एसवीडी) का उपयोग किया है! यह निश्चित रूप से घूमने का एक ही अर्थ है।
डेविड एमडब्ल्यू पॉवर्स

2

मुझे लगता है कि हर कोई पीसीए को गलत अंत से व्याख्या करना शुरू कर देता है: आइजनवेक्टरों से। मेरा जवाब सही जगह पर शुरू होता है: समन्वय प्रणाली। Eigenvectors, और सामान्य रूप से eigenproblem, गणितीय उपकरण है जो हाथ में वास्तविक मुद्दे को संबोधित करने के लिए उपयोग किया जाता है जो एक गलत समन्वय प्रणाली है। मैं समझाऊंगा।

एक लाइन से शुरू करते हैं। एक लाइन क्या है? यह एक आयामी वस्तु है। तो, आपको एक बिंदु से दूसरे तक जाने के लिए केवल एक आयाम की आवश्यकता है। एक विमान पर यद्यपि आप दो को जोड़ते हैं एक पंक्ति के किसी भी बिंदु को समन्वयित करते हैं। ऐसा इसलिए है क्योंकि एक लाइन के संबंध में ही समन्वय प्रणाली को मनमाने ढंग से चुना जाता है। समन्वय प्रणाली, मैं तर्क देता हूं, लाइन के आंतरिक एक आयामी प्रकृति को प्रतिबिंबित नहीं करता है। यदि केवल मैं हमेशा अपने कार्टेशियन कोऑर्डिनेट सिस्टम की उत्पत्ति लाइन पर रखता था, और इसे चालू करता था, ताकि इसकी एक्स-एक्सिस लाइन पर हो, तो मुझे अब y- एक्सिस की आवश्यकता नहीं होगी! मेरे सभी बिंदु एक अक्ष पर हैं, क्योंकि एक रेखा एक आयामी वस्तु है।

यहीं से पीसीए स्पष्टीकरण शुरू होना चाहिए। Eigen समस्या एक उपकरण है जो रोटेशन करता है जिसे मैंने वर्णित किया है, और चर का अर्थ लाइन पर मूल डालता है। पीसीए डेटा के सही आयामों को प्रकट करने में मदद करता है ताकि चर के बीच संबंध रैखिक हो


1

याद रखें कि एक eigenvector एक वेक्टर है जिसका परिवर्तन उसी इनपुट वेक्टर के समानांतर है। इस प्रकार एक उच्च eigenvalue के साथ एक eigenvector का अर्थ है कि eigenvector में डेटा के लिए 'समानता' की उच्च डिग्री है, जिसका अर्थ है कि आप केवल इस वेक्टर के साथ डेटा का प्रतिनिधित्व कर सकते हैं और नए प्रतिनिधित्व में कम त्रुटि की उम्मीद कर सकते हैं। यदि आप निम्न eigenvalues ​​के साथ अतिरिक्त eigenvectors लेते हैं, तो आप डेटा के अधिक विवरण का प्रतिनिधित्व करने में सक्षम होंगे क्योंकि आप अन्य 'समानांतरताओं' का प्रतिनिधित्व करेंगे - जो कि निम्न eigenvalues ​​के कारण पहले वाले के रूप में प्रमुख नहीं हैं।


0

पीसीए मूल रूप से अधिक से अधिक जानकारी को संरक्षित करते हुए कम आयामी अंतरिक्ष में एक उच्च-आयामी स्थान का एक प्रक्षेपण है।

मैंने एक ब्लॉग पोस्ट लिखा जहां मैं एक 3D-चायदानी के प्रक्षेपण के माध्यम से पीसीए की व्याख्या करता हूं ...

enter image description here

... जितना संभव हो उतनी जानकारी संरक्षित करते हुए 2 डी-प्लेन पर:

enter image description here

विवरण और पूर्ण आर-कोड पोस्ट में पाया जा सकता है:
http://blog.ephorie.de/intuition-for-principal-component-analysis-pca


1
इस के बावजूद, वर्तमान में यह एक उत्तर की तुलना में अधिक टिप्पणी है। क्या आप इसका विस्तार कर सकते हैं, शायद लिंक पर जानकारी का सारांश देकर? एसई नेटवर्क में डाक को अपने दम पर खड़ा करने में सक्षम होना चाहिए।
गुंग

@gung: पर्याप्त रूप से - जिस्ट यह है कि पीसीए मूल रूप से एक उच्च-आयामी अंतरिक्ष का एक प्रक्षेपण है (इस मामले में एक 3 डी-चायदानी) एक कम आयामी स्थान पर (इस मामले में एक 2 डी-प्लेन) जबकि अधिक जानकारी को संरक्षित करते हुए मुमकिन। इसे उत्तर में बदल देंगे।
वॉनजड

यह निश्चित रूप से सच है (और इस थ्रेड पर कई अन्य मौजूदा उत्तरों में समझाया गया है), लेकिन आम तौर पर एसई सिस्टम में पोस्ट किए गए उत्तरों के लिए अधिक होना चाहिए, और उन्हें अपने दम पर खड़े होने में सक्षम होना चाहिए, उदाहरण के लिए, लिंक मृत हो जाता है।
गंग

1
चायदानी का उदाहरण दिलचस्प है। आप कहते हैं कि पीसीए कम आयामी स्थान का एक प्रक्षेपण है, जबकि 'अधिक जानकारी' को संरक्षित करना। लेकिन .... जानकारी क्या है? पीसीए के मामले में इसका मतलब है कि कुल विचरण को यथासंभव अधिक रखना। चाय-पॉट का उदाहरण यह बताने में अधिक है कि किसी विशेष विमान में प्रक्षेपण का उपयोग करके जानकारी "सबसे संरक्षित" है, लेकिन यह बहुत कम बताता है कि पीसीए यह कैसे करता है और क्या यह 'जानकारी' का 'सर्वोत्तम' विकल्प भी है। उदाहरण के लिए, एलडीए भी एक प्रक्षेपण है जो सूचना को संरक्षित करने का इरादा रखता है, लेकिन पीसीए के समान नहीं।
मार्टिज़न वेटिंग्स

यदि आपका चायदानी पीसीए से अधिक गोल / गोलाकार (कम लंबा) होता, तो अधिकांश "सूचना" को संरक्षित करने के लिए एक अलग चौराहा 'चुना' होता।
मार्टिज़न वेटरिंग्स

-4

शायद देर से इन विश्लेषणों में निहित धारणा है कि समूह I का डेटा समूह II से अलग है और कोई यह पता लगाने की कोशिश कर रहा है कि अंतर के लिए कौन सा घटक प्रमुख योगदानकर्ता होने की संभावना है।

एक पीसीए विश्लेषण करना जिसके परिणामस्वरूप 2 अलग-अलग सेटों के लिए समान दीर्घवृत्त होते हैं, तो आपको बताता है कि आपके द्वारा मापा गया कोई भी पैरामीटर दो सेट अलग नहीं हैं।


2
मुझे आश्चर्य है कि अगर आप MANOVA के बारे में सोच रहे हैं। यदि आप दो sepa4ate PCAs चलाते हैं, तो आप केवल यह दर्शाएंगे कि सहसंबंध अल संरचना समान थी।
गंग g

2
-1। यह एक पूरी तरह से भ्रामक जवाब है, @gung द्वारा उल्लिखित कारण के लिए। इसके अलावा, यह समझाने की कोशिश भी नहीं करता कि पीसीए क्या है।
अमीबा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.