आप सीएलआर निर्देशांक पर वेनिला पीसीए के साथ कुछ मुद्दों का अनुभव कर सकते हैं। रचना डेटा के साथ दो प्रमुख समस्याएं हैं:
- वे सख्ती से गैर-नकारात्मक हैं
- उनके पास एक योग है
विभिन्न संरचनागत परिवर्तन इन मुद्दों में से एक या दोनों को संबोधित करते हैं। विशेष रूप से, CLR आपके डेटा को प्रेक्षित आवृत्तियों और उनके ज्यामितीय माध्य बीच के अनुपात में ले जाता है , अर्थातxG(x)
x^={log(x1G(x)),…,log(xnG(x))}={log(x1)−log(G(x)),…,log(xn)−log(G(x))}
अब, उस पर विचार करें
log(G(x))=log(exp[1n∑i=1nlog(xi)])=E[log(x)]
इसका प्रभावी रूप से यह अर्थ है कि
∑x^=∑[log(x)−E[log(x)]]=0
दूसरे शब्दों में, सीएलआर मूल्य-सीमा प्रतिबंध (जो कुछ अनुप्रयोगों के लिए अच्छा है) को हटा देता है, लेकिन योग की बाधा को दूर नहीं करता है, जिसके परिणामस्वरूप एक विलक्षण सहसंयोजक मैट्रिक्स होता है, जो प्रभावी रूप से (एम) एनोवा / रैखिक प्रतिगमन को तोड़ता है ... और बनाता है PCA आउटलेर्स के प्रति संवेदनशील (क्योंकि मजबूत सहसंयोजक अनुमान के लिए पूर्ण-रैंक मैट्रिक्स की आवश्यकता होती है)। जहां तक मुझे पता है, सभी रचनाओं में केवल ILR दोनों ही मुद्दों को बिना किसी प्रमुख अंतर्निहित मान्यताओं के संबोधित करता है। स्थिति थोड़ी अधिक जटिल है, हालांकि। सीएलआर निर्देशांक का एसवीडी आपको ILR स्पेस में एक ऑर्थोगोनल आधार देता है (ILR निर्देशांक CLR में एक हाइपरप्लेन का विस्तार करता है), इसलिए आपके विचरण का अनुमान ILR और CLR के बीच भिन्न नहीं होगा (जो कि निश्चित रूप से स्पष्ट है, क्योंकि ILR और CLR दोनों isometries at पर हैं) सिंप्लेक्स)। हालांकि, ILR निर्देशांक [2] पर मजबूत सहसंयोजक आकलन के लिए तरीके हैं।
अपडेट I
बस यह स्पष्ट करने के लिए कि CLR सहसंबंध और स्थान-निर्भर तरीकों के लिए मान्य नहीं है। मान लेते हैं कि हम तीन रैखिक स्वतंत्र रूप से वितरित घटकों के एक समुदाय का 100 बार नमूना लेते हैं। सादगी के लिए, सभी घटकों को समान अपेक्षाएं (100) और संस्करण (100) हैं।
In [1]: import numpy as np
In [2]: from scipy.stats import linregress
In [3]: from scipy.stats.mstats import gmean
In [4]: def clr(x):
...: return np.log(x) - np.log(gmean(x))
...:
In [5]: nsamples = 100
In [6]: samples = np.random.multivariate_normal(
...: mean=[100]*3, cov=np.eye(3)*100, size=nsamples
...: ).T
In [7]: transformed = clr(samples)
In [8]: np.corrcoef(transformed)
Out[8]:
array([[ 1. , -0.59365113, -0.49087714],
[-0.59365113, 1. , -0.40968767],
[-0.49087714, -0.40968767, 1. ]])
In [9]: linregress(transformed[0], transformed[1])
Out[9]: LinregressResult(
...: slope=-0.5670, intercept=-0.0027, rvalue=-0.5936,
...: pvalue=7.5398e-11, stderr=0.0776
...: )
अपडेट II
मुझे मिली प्रतिक्रियाओं को ध्यान में रखते हुए, मुझे यह बताना आवश्यक है कि मेरे जवाब में किसी भी बिंदु पर मैंने यह नहीं कहा कि पीसीए सीएलआर-रूपांतरित डेटा पर काम नहीं करता है। मैंने कहा है कि सीएलआर सूक्ष्म रूप से पीसीए को तोड़ सकता है, जो कि आयामी कमी के लिए महत्वपूर्ण नहीं हो सकता है, लेकिन खोज डेटा विश्लेषण के लिए महत्वपूर्ण है। @Archie द्वारा उद्धृत पेपर में माइक्रोबियल पारिस्थितिकी शामिल है। कम्प्यूटेशनल जीव विज्ञान के उस क्षेत्र में पीसीए या पीसीओए विभिन्न दूरी पर डेटा में भिन्नता के स्रोतों का पता लगाने के लिए उपयोग किया जाता है। मेरे उत्तर को केवल इस संदर्भ में माना जाना चाहिए। इसके अलावा, यह कागज में ही उजागर किया गया है:
... रचनात्मक द्विप्लव [नोट: पीसीए का जिक्र] में al-विविधता विश्लेषण के लिए प्रमुख समन्वय (PCoA) भूखंडों पर कई फायदे हैं। प्राप्त परिणाम बहुत स्थिर होते हैं जब डेटा सबसेट होता है (बियान एट अल।, 2017), जिसका अर्थ है कि खोजपूर्ण विश्लेषण केवल डेटा में उपस्थिति की अनुपस्थिति रिश्तों से और न ही अत्यधिक स्पार्सिटी (वोंग एट अल।, 2016) द्वारा संचालित नहीं है; अल।, 2017)।
ग्लोर एट अल।, 2017
अद्यतन III
प्रकाशित शोध के अतिरिक्त संदर्भ (मैं अधिक संदर्भ जोड़ने के लिए सिफारिश के लिए @ नोक्स कॉक्स का धन्यवाद करता हूं):
- पीसीए के लिए सीएलआर का उपयोग करने के खिलाफ तर्क
- सहसंबंध-आधारित विधियों के लिए CLR का उपयोग करने के विरुद्ध तर्क
- ILR का परिचय
clr
होता है ....