R फ़ंक्शन prcomp और princomp के बीच क्या अंतर है?


69

मैंने क्यू-मोड और आर-मोड प्रमुख घटक विश्लेषण (पीसीए) के बारे में तुलना ?prcompऔर ?princompकुछ पाया। लेकिन ईमानदारी से - मैं इसे नहीं समझता। क्या कोई अंतर समझा सकता है और शायद यह भी बताए कि कब कौन सा आवेदन करना है?


4
ओह, यह एक निराशाजनक है, वास्तव में। :)
रोमन लुक्त्रिक

2
सवाल सवाल prcomp और princomp के बीच अंतर के बारे में आर में है या "क्यू-मोड" और "आर-मोड पीसीए" के बीच अंतर के बारे में है? दोनों असंबंधित हैं।
ब्रेट

इसे बीते एक अर्सा हो गया है। लेकिन मेरे पास समय होते ही मैं जांच कर लूंगा। IIRC मैं वास्तव में कुछ मतभेद था ...
6:25

जवाबों:


50

उन दोनों के बीच अंतर पीसीए के प्रकार के साथ कुछ नहीं करना है जो वे प्रदर्शन करते हैं, बस जिस विधि का वे उपयोग करते हैं। के रूप में मदद पृष्ठ के लिए prcompकहते हैं:

गणना डेटा मैट्रिक्स के (केंद्रित और संभवतः स्केल किए गए) के एक विलक्षण मूल्य अपघटन द्वारा किया जाता है, न eigenकि सहसंयोजक मैट्रिक्स पर उपयोग करके । यह आम तौर पर संख्यात्मक सटीकता के लिए पसंदीदा तरीका है।

दूसरी ओर, princomp मदद पृष्ठ कहता है:

गणना eigenसहसंबंध या सहसंयोजक मैट्रिक्स का उपयोग करके की जाती है , जैसा कि निर्धारित किया गया है cor। यह एस-प्लस परिणाम के साथ संगतता के लिए किया जाता है। गणना का एक पसंदीदा तरीका उपयोग svdकरना है x, जैसा कि अंदर किया गया है prcomp। "

इसलिए, prcompपसंद किया जाता है , हालांकि व्यवहार में आपको बहुत अंतर देखने की संभावना नहीं है (उदाहरण के लिए, यदि आप मदद पृष्ठों पर उदाहरण चलाते हैं तो आपको समान परिणाम प्राप्त करना चाहिए)।


1
मेरे उत्तर में इस्तेमाल किए गए विभिन्न अंतर्निहित रैखिक बीजगणित और LAPACK दिनचर्या पर कुछ भीषण तकनीकी विवरण हैं। PCA (सहसंयोजक मैट्रिक्स के eigenvectors) में मुख्य घटक पारस्परिक रूप से ऑर्थोगोनल क्यों हैं?
सिल्वरफिश

1
इसके अलावा, डेटा के SVD के माध्यम से डेटा का PCA क्यों देखें ? डेटा मैट्रिक्स पर एसवीडी, जैसा कि कार्यान्वित किया गया है prcomp, की चर्चा के लिए एक पसंदीदा तरीका है।
अमीबा

22

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

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

यह एक सामान्य उत्तर है: मैं विशेष रूप से R फ़ंक्शंस को नहीं छूता हूं prcompऔर princompक्योंकि मैं एक आर उपयोगकर्ता नहीं हूं और उनके बीच संभावित मतभेदों के बारे में नहीं जानता हूं।


5

ग्रेगरी बी। एंडरसन के एक उपयोगी और विशिष्ट दस्तावेज , शीर्षक PRINCIPAL COMPONENT ANALYSIS IN R AN EXAMINATION OF THE DIFFERENT FUNCTIONS AND METHODS TO PERFORM PCAने इस विषय पर अधिक जानकारी दी है।

निम्नलिखित दो पैराग्राफ परिचय से निकाले गए थे:

आर में बिना किसी लापता मान के पीसीए प्रदर्शन करने के दो सामान्य तरीके हैं: (1) वर्णक्रमीय अपघटन (आर-मोड [जिसे ईगेंडेकोम्पोजिशन भी कहा जाता है]) और (2) एकवचन मूल्य अपघटन (क्यू-मोड; विकास कोर टीम 2011)। इन दोनों विधियों को क्रमशः eigen (R-mode) और svd (Q-mode) के कार्यों का उपयोग करके longhand किया जा सकता है, या आँकड़े पैकेज और अन्य अतिरिक्त उपलब्ध पैकेजों में पाए जाने वाले कई PCA फ़ंक्शन का उपयोग करके किया जा सकता है। विश्लेषण की वर्णक्रमीय अपघटन विधि चर के बीच सहसंबंधों और सहसंबंधों की जांच करती है, जबकि एकवचन मूल्य अपघटन विधि नमूनों के बीच सहसंबंधों और सहसंबंधों को देखती है। जबकि दोनों विधियों को आसानी से R के भीतर किया जा सकता है, एकवचन मान अपघटन विधि (यानी,

यह दस्तावेज़ आर में पीसीए प्रदर्शन करने के लिए विभिन्न तरीकों की तुलना करने पर ध्यान केंद्रित करता है और सांख्यिकीय पैकेज के भीतर सामान्यता की जांच करने के लिए उपयुक्त दृश्य तकनीक प्रदान करता है। अधिक विशेष रूप से यह दस्तावेज़ पीसीए के लिए या तो बनाए जाने वाले छह अलग-अलग कार्यों की तुलना करता है या इस्तेमाल किया जा सकता है: ईजन, प्रिंसपैक, एसवीडी, पीआरक्यूपी, पीसीए और पीकेए। दस्तावेज़ के दौरान इन कार्यों को करने के लिए आवश्यक आर कोड फ़ॉन्ट कूरियर न्यू का उपयोग करके पाठ के भीतर एम्बेडेड है और टिन-आर ( https://sourceforge.net/projects/tinn-r ) में प्रदान की गई तकनीक का उपयोग करके रंग कोडित किया गया है । इसके अतिरिक्त, फ़ंक्शंस के परिणामों की तुलना सिमुलेशन प्रक्रिया का उपयोग करके यह देखने के लिए की जाती है कि आउटपुट से प्रदान किए गए आइजेनवेल्स, ईजेनवेक्टर्स और स्कोर में अलग-अलग विधियाँ भिन्न हैं या नहीं।


2
जब वे स्टैंडअलोन होते हैं तो उत्तर बेहतर होते हैं, क्योंकि लिंक टूट जाते हैं (जैसे कि यदि पृष्ठ चलता है या हटा दिया जाता है)। क्या आप अपने उत्तर पर विस्तार करने की कोशिश करेंगे?
पैट्रिक कूलोम्बे

@PatrickCoulombe, यह किया गया है। तुम्हारे सुझाव के लिए धन्यवाद। मैं भविष्य में इस पर ध्यान दूंगा।
पेंगची

1

prcompn1princompn

नीचे मेरे परीक्षा परिणाम हैं:

> job<-read.table("./job_perf.txt", header=TRUE, sep="")
> pc.cr<-prcomp(job, scale=TRUE, cor=TRUE, scores=TRUE)
> pc.cr1<-princomp(job, scale=TRUE, cor=TRUE, scores=TRUE)
> pc.cr$scale
    commun probl_solv    logical      learn   physical appearance
  5.039841   1.689540   2.000000   4.655398   3.770700   4.526689
> pc.cr1$scale
    commun probl_solv    logical      learn   physical appearance
  4.805300   1.610913   1.906925   4.438747   3.595222   4.316028

परीक्षण डेटा:

commun probl_solv logical learn physical appearance 12 52 20 44 48 16 12 57 25 45 50 16 12 54 21 45 50 16 13 52 21 46 51 17 14 54 24 46 51 17 22 52 25 54 58 26 22 56 26 55 58 27 17 52 21 45 52 17 15 53 24 45 53 18 23 54 23 53 57 24 25 54 23 55 58 25

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