कैसे पीसीए eigenvectors नहीं हैं कि वैक्टर के "eigenvalues" (समझाया विचरण का प्रतिशत) पाने के लिए?


10

मैं समझना चाहता हूं कि कैसे मैं डेटा सेट के विचरण का प्रतिशत प्राप्त कर सकता हूं, पीसीए द्वारा प्रदान किए गए समन्वय स्थान में नहीं, बल्कि (घुमाए हुए) वैक्टरों के थोड़ा अलग सेट के खिलाफ।

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

set.seed(1234)
xx <- rnorm(1000)
yy <- xx * 0.5 + rnorm(1000, sd = 0.6)
vecs <- cbind(xx, yy)
plot(vecs, xlim = c(-4, 4), ylim = c(-4, 4))
vv <- eigen(cov(vecs))$vectors
ee <- eigen(cov(vecs))$values
a1 <- vv[, 1]
a2 <- vv[, 2]
theta = pi/10
rotmat <- matrix(c(cos(theta), sin(theta), -sin(theta), cos(theta)), 2, 2)
a1r <- a1 %*% rotmat
a2r <- a2 %*% rotmat
arrows(0, 0, a1[1], a1[2], lwd = 2, col = "red")
arrows(0, 0, a2[1], a2[2], lwd = 2, col = "red")
arrows(0, 0, a1r[1], a1r[2], lwd = 2, col = "green3")
arrows(0, 0, a2r[1], a2r[2], lwd = 2, col = "green3")
legend("topleft", legend = c("eigenvectors", "rotated"), fill = c("red", "green3"))

इसलिए मूल रूप से मुझे पता है कि पीसीए द्वारा दिए गए लाल अक्षों में से प्रत्येक के साथ डेटासेट का विचरण, स्वदेशी द्वारा दर्शाया गया है। लेकिन मैं एक ही राशि को कुल बराबर चर कैसे प्राप्त कर सकता हूं, लेकिन हरे रंग में दो अलग-अलग कुल्हाड़ियों का अनुमान लगाया , जो कि प्रमुख घटक अक्षों के पीआई / 10 द्वारा एक रोटेशन हैं। IE को मूल से दो ऑर्थोगोनल यूनिट वैक्टर दिए गए हैं, मैं इनमें से प्रत्येक के साथ एक डेटासेट का विचरण कैसे कर सकता हूं (लेकिन ऑर्थोगोनल) कुल्हाड़ियों, जैसे कि सभी विचरण का हिसाब है (यानी "eigenvalues") पीसीए)।


बहुत संबंधित: आंकड़े ।stackexchange.com / questions / 8630
अमीबा

जवाबों:


7

यदि वैक्टर ऑर्थोगोनल हैं, तो आप प्रत्येक वेक्टर पर डेटा के स्केलर प्रक्षेपण का विचरण कर सकते हैं। मान लें कि हमारे पास एक डेटा मैट्रिक्स ( अंक x आयाम), और कॉलम वैक्टर का एक सेट है । मान लें कि डेटा केंद्रित हैं। प्रत्येक वेक्टर की दिशा में डेटा का विचरण द्वारा दिया जाता है ।Xnd{v1,...,vk}viVar(Xvi)

यदि मूल आयामों ( ) के रूप में उतने अधिक वैक्टर हैं , तो अनुमानों के भिन्न रूप का योग मूल आयामों के साथ भिन्नताओं के योग के बराबर होगा। लेकिन, अगर मूल आयामों ( ) से कम वैक्टर हैं, तो आमतौर पर पीसीए की तुलना में भिन्नताओं का योग कम होगा। पीसीए के बारे में सोचने का एक तरीका यह है कि यह इस मात्रा को बढ़ाता है (बाधा के अधीन है कि वैक्टर ऑर्थोडोनल हैं)।k=dk<d

आप (विचरण के अंश की व्याख्या) की गणना करना चाहते हैं , जिसका उपयोग अक्सर यह मापने के लिए किया जाता है कि पीसीए आयामों की कितनी संख्या डेटा का प्रतिनिधित्व करती है। चलो योग का प्रतिनिधित्व के डेटा के प्रत्येक मूल आयाम में प्रसरण। फिर:R2S

R2=1Si=1kVar(Xvi)

यह अनुमानों के सारांशित रूपांतरों और मूल आयामों के साथ सार किए गए संस्करणों का अनुपात है।

बारे में सोचने का एक और तरीका यह है कि यदि हम अनुमानों से डेटा को फिर से संगठित करने की कोशिश करते हैं तो यह फिट की अच्छाई को मापता है। यह तब अन्य मॉडलों (जैसे प्रतिगमन) के लिए इस्तेमाल किया जाने वाला परिचित रूप लेता है। मान लें कि डेटा बिंदु एक पंक्ति वेक्टर । मैट्रिक्स के कॉलम के साथ प्रत्येक आधार वैक्टर को स्टोर करें । के प्रक्षेपण सभी वैक्टर पर वें डेटा बिंदु द्वारा दिया जाता है । जब मूल आयामों ( से कम वैक्टर होते हैं मैं एक्स ( मैं ) वी मैं वी पी ( मैं ) = एक्स ( मैं ) वी कश्मीर < एक्स ( मैं ) = पी ( मैं ) वी टीR2ix(i)ViVp(i)=x(i)Vk<d), हम इस बारे में सोच सकते हैं कि डेटा को रैखिक रूप से कम आयामीता के साथ अंतरिक्ष में मैप किया जा सकता है। हम लगभग मूल डेटा अंतरिक्ष में मानचित्रण वापस द्वारा कम आयामी प्रतिनिधित्व से डेटा बिंदु को फिर से संगठित कर सकते हैं: । मतलब चुकता पुनर्निर्माण त्रुटि प्रत्येक मूल डेटा बिंदु और इसके पुनर्निर्माण के बीच का मतलब चुकता यूक्लिडियन दूरी है:x^(i)=p(i)VT

E=1nx(i)x^(i)2

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

R2=1ES

S , प्रत्येक डेटा बिंदु से सभी डेटा बिंदुओं के माध्य तक यूक्लिडियन दूरी के बराबर वर्ग के बराबर है, इसलिए हम बारे में भी सोच सकते हैं, जो हमेशा सबसे खराब होने वाले 'सबसे खराब मॉडल' के पुनर्निर्माण त्रुटि की तुलना करता है। पुनर्निर्माण के रूप में मतलब है।R2

लिए दो भाव समतुल्य हैं। ऊपर, यदि मूल आयाम ( ) के रूप में कई वैक्टर हैं तो एक होगा। लेकिन, अगर , आम तौर पर PCA से कम होगा। पीसीए के बारे में सोचने का एक और तरीका यह है कि यह चुकता पुनर्निर्माण त्रुटि को कम करता है।R2k=dR2k<dR2


+1, बहुत स्पष्ट व्याख्या। मैं केवल उल्लेख करना चाहता हूं, पूर्णता के लिए, कि वह है जिसे आपने लिखा है यदि केवल " " हम उसी माध्यम से पुनर्निर्माण करना समझते हैं जो प्रोजेक्ट करने के लिए उपयोग किया गया था। सामान्य तौर पर, एक मनमाना प्रोजेक्शन वेक्टर , एक बेहतर पुनर्निर्माण होगा, उच्च उपज । मेरे पास एक उत्तर है जहां मैं इसे विस्तार से समझाता हूं । हालांकि मैं इस बात से सहमत हूं कि इस विशेष प्रश्न के लिए आपने जो लिखा है वह वास्तव में आवश्यक है। R2try[ing] to reconstruct the data from the projectionsVvR2
अमीबा २०

हां, यह एक अच्छा बिंदु है और एक अच्छा स्पष्टीकरण है
user20160

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

... जहां तक ​​मैं बता सकता हूं, अगर हम एक सहसंयोजक मैट्रिक्स सी के साथ शुरू करते हैं , तो इस मामले में एक को लेने की जरूरत है । Cv_i | % राशि प्राप्त करने के लिए / योग (डायग ( C )) समझाया गया।
चकित
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.