क्या किसी डेटा सेट की आयामीता में कोई कमी है जहां सभी चर लगभग ऑर्थोगोनल हैं?


11

मान लीजिए कि मेरे पास एक -डायमेंशनल डेटा सेट है जहां आयाम मोटे तौर पर ऑर्थोगोनल हैं (सहसंबंध शून्य हैं)।एनNN

क्या इसके संदर्भ में कोई उपयोगिता है:

  1. दृश्य
  2. प्रतिनिधित्व (वर्गीकरण दक्षता के लिए)
  3. या अन्य मापदंड

डेटा पर आयामी कमी करने के लिए?


3
आंशिक रूप से प्रासंगिक जवाब stats.stackexchange.com/a/92803/3277
ttnphns

जवाबों:


8

मैं एक टिप्पणी को स्पष्ट करना चाहता था जिसे मैंने @ पीटर-फ्लॉम के उत्तर के तहत छोड़ दिया था, लेकिन यह शायद एक उत्तर में लिखने लायक है। लगभग-ऑर्थोगोनल डेटा पर पीसीए चलाकर आप किस हद तक आयामों को कम कर सकते हैं? इसका उत्तर "यह निर्भर करता है" कि क्या आप सहसंबंध या सहसंयोजक मैट्रिक्स पर पीसीए प्रदर्शन करते हैं

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

set.seed(123)
princompn <- function(n, sd1=1, sd2=1, sd3=1, sd4=1, cor=TRUE) {
    x1 <- rnorm(n, mean=0, sd=sd1)
    x2 <- rnorm(n, mean=0, sd=sd2)
    x3 <- rnorm(n, mean=0, sd=sd3)
    x4 <- rnorm(n, mean=0, sd=sd4)
    prcomp(cbind(x1,x2,x3,x4), scale.=cor)
}

आउटपुट:

> pc100 <- princompn(100)
> summary(pc100)
Importance of components:
                          PC1    PC2    PC3    PC4
Standard deviation     1.0736 1.0243 0.9762 0.9193
Proportion of Variance 0.2882 0.2623 0.2382 0.2113
Cumulative Proportion  0.2882 0.5505 0.7887 1.0000
> 
> pc1m <- princompn(1e6)
> summary(pc1m)
Importance of components:
                          PC1    PC2    PC3    PC4
Standard deviation     1.0008 1.0004 0.9998 0.9990
Proportion of Variance 0.2504 0.2502 0.2499 0.2495
Cumulative Proportion  0.2504 0.5006 0.7505 1.0000

हालाँकि, यदि आप सहसंबंध मैट्रिक्स के बजाय सहसंयोजक मैट्रिक्स का उपयोग करके पीसीए करते हैं (समकक्ष: यदि हम पीसीए को लागू करने से पहले मानक विचलन को 1 से स्केल नहीं करते हैं), तो उत्तर आपके चर के प्रसार पर निर्भर करता है। यदि आपके चर में एक ही रूपांतर है तो हमारे पास अभी भी गोलाकार समरूपता है, इसलिए कोई "विशेषाधिकार प्राप्त दिशा" नहीं है और आयामी कमी हासिल नहीं की जा सकती है।

> pcEqual <- princompn(n=1e6, sd1=4, sd2=4, sd3=4, sd4=4, cor=FALSE)
> summary(pcEqual)
Importance of components:
                          PC1    PC2    PC3    PC4
Standard deviation     4.0056 4.0010 3.9986 3.9936
Proportion of Variance 0.2507 0.2502 0.2499 0.2492
Cumulative Proportion  0.2507 0.5009 0.7508 1.0000

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

> pcHiLo <- princompn(n=1e6, sd1=4, sd2=4, sd3=1, sd4=1, cor=FALSE)
> summary(pcHiLo)
Importance of components:
                          PC1    PC2    PC3     PC4
Standard deviation     4.0018 3.9985 1.0016 1.00005
Proportion of Variance 0.4709 0.4702 0.0295 0.02941
Cumulative Proportion  0.4709 0.9411 0.9706 1.00000
> round(pcHiLo$rotation, 3)
      PC1   PC2    PC3    PC4
x1  0.460 0.888  0.000  0.000
x2 -0.888 0.460  0.000  0.000
x3  0.000 0.000 -0.747 -0.664
x4  0.000 0.000  0.664 -0.747

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

> pc1234 <-  princompn(n=1e6, sd1=1, sd2=2, sd3=3, sd4=4, cor=FALSE)
> summary(pc1234)
Importance of components:
                          PC1    PC2    PC3     PC4
Standard deviation     3.9981 3.0031 1.9993 1.00033
Proportion of Variance 0.5328 0.3006 0.1332 0.03335
Cumulative Proportion  0.5328 0.8334 0.9667 1.00000
> round(pc1234$rotation, 3)
     PC1    PC2    PC3   PC4
x1 0.000  0.000 -0.001 1.000
x2 0.001 -0.001  1.000 0.001
x3 0.003 -1.000 -0.001 0.000
x4 1.000  0.003 -0.001 0.000

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

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


मेरा उत्तर शायद मूल पोस्टर (जो पीसीए क्या हासिल कर सकता है या नहीं कर सकता था) के बारे में समस्या का सबसे अच्छा जवाब देता है, जो मुझे लगता है कि ग्रीन टिक की व्याख्या करता है! लेकिन मैं पाठकों से @ RyanBressler के उत्तर को देखने का आग्रह करता हूं, जो वैकल्पिक समाधान प्रदान करता है
सिल्वरफिश

11

आप स्थानीय स्तर पर रैखिक एम्बेडिंग, लैपलियन ईगेनमैप्स या टी-एसएनई की तरह अधिक सामान्य गैर रेखीय आयामी घटाव कई गुना सीखने की कोशिश कर सकते हैं ।

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

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


6

यदि सभी एन वैरिएबल मोटे तौर पर ऑर्थोगोनल हैं, तो आयाम में कमी अपेक्षाकृत कम कम करेगी। जैसे मेंR

set.seed(123)
x1 <- rnorm(100)
x2 <- rnorm(100)
x3 <- rnorm(100)
x4 <- rnorm(100)
x5 <- rnorm(100)
x6 <- rnorm(100)
x7 <- rnorm(100)
x8 <- rnorm(100)
x9 <- rnorm(100)
x10 <- rnorm(100)

df1 <- cbind(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10)

pcsol <- princomp(df1)
loadings(pcsol)

संक्षेप में, "ऑर्थोगोनल" का अर्थ है "पहले से ही अपने सबसे छोटे आकार में"।


2
आप "orthongonal" में एक छोटे से लिखने में गलती की है
silverfish

6
@ सिल्वरफ़िश, ऑर्थन "एक मध्यम- ऊँची ह्युमनॉइड है जिसमें लंबे गोरा बाल और लाल-भूरे रंग के जूते पहने हुए त्वचा होती है"। हालाँकि आप सही हो सकते हैं कि पीटर का मतलब अलग था।
tnnphns

4
क्या यह इंगित करने के लायक है कि यह उत्तर इस बात पर निर्भर करता है कि चर को कैसे बढ़ाया जाता है? उच्च और निम्न विचरण चर देखते हैं और हम सहप्रसरण नहीं सहसंबंध मैट्रिक्स पर पीसीए करते हैं, फिर वहाँ होगा कम विचरण घटक है कि छोड़ा जा सकता है हो सकता है (ओर्थोगोनालिटी सिर्फ अपने लोडिंग भारी एक कम विचरण चर प्रत्येक के साथ उन्हें पहचान का मतलब है)। निम्नलिखित मामूली बदलाव करें: x1<-rnorm(100, sd=0.1)और pcsol <- princomp(df1, cor=FALSE)इसमें अंतर है, खासकर अगर हम देखें summary(pcsol)। (मैं सुझाव नहीं दे रहा हूं कि कोव कोर की तुलना में एक बेहतर दृष्टिकोण है, बस यह संभव है।)
सिल्वरफिश

मैंने टाइपो तय किया, धन्यवाद। इसके अलावा, स्केलिंग के बारे में अच्छी बात है।
पीटर Flom

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