मैं अक्सर पीसीए (सैकड़ों सैकड़ों चर और दर्जनों या सैकड़ों नमूनों के साथ ओमिक्स डेटा) का उपयोग करके अपने बहुभिन्नरूपी डेटा का निदान करता था। डेटा अक्सर कई समूहों को परिभाषित करने वाले कई स्पष्ट स्वतंत्र चर के साथ प्रयोगों से आते हैं, और मुझे अक्सर कुछ घटकों से गुजरना पड़ता है इससे पहले कि मैं उन लोगों को ढूंढ पाऊं जो ब्याज के समूहों के बीच अलगाव दिखाते हैं। मैं इस तरह के विभेदकारी घटकों को खोजने के बजाय एक प्राथमिक तरीका के साथ आया हूं, और मुझे आश्चर्य है
- यह किस हद तक उचित / न्यायसंगत है, और
- चाहे वही प्राप्त करने के बेहतर तरीके हों।
ध्यान दें कि यह खोजपूर्ण है। इससे पहले कि मैं किसी और को मना लूं, मैं खुद को समझाना चाहता हूं। अगर मुझे लगता है कि ऐसे घटक हैं जो स्पष्ट रूप से ब्याज के समूहों को अलग करते हैं (जैसे नियंत्रण बनाम उपचार), भले ही वे प्रतिक्रियाओं के विचरण के एक मामूली हिस्से के लिए ज़िम्मेदार हों, मुझे इसके परिणामस्वरूप, पर्यवेक्षण मशीन से अधिक विश्वास है सीख रहा हूँ।
यहाँ मेरा दृष्टिकोण है। मैं आर में pca3d से सेट "मेटाबो" उदाहरण डेटा का उपयोग करूंगा।
यह विचार करना है कि स्वतंत्र चर द्वारा घटक के प्रत्येक संस्करण को कितना समझाया जा सकता है। इसके लिए, मैं प्रत्येक घटक के लिए एक सरल मॉडल की गणना करता हूं और "सबसे दिलचस्प" से "दिलचस्प दिलचस्प" घटकों को ऑर्डर करने के लिए एक मीट्रिक के रूप में उपयोग करता हूं ।
require( pca3d )
# data on metabolic profiles of TB patients and controls
data( metabo )
# first column is the independent variable
pca <- prcomp( metabo[,-1], scale.= T )
# create a model for each component
lm.m <- lm( pca$x ~ metabo[,1] )
lm.s <- summary( lm.m )
lm.r2 <- sapply( lm.s, function( x ) x$r.squared )
plot( lm.r2, type= "l" )
text( 1:length( lm.r2 ), lm.r2, 1:length( lm.r2 ), pos= 3 )
यहाँ परिणाम है। भूखंड स्वतंत्र चर द्वारा समझाया प्रत्येक घटक के विचरण में प्रतिशत को दर्शाता है metabo[,1]
।
order( lm.r2, decreasing= TRUE )
pca3d( pca, components= c( 1, 2, 7 ), group= metabo[,1] )
यहाँ साजिश है:
(लाल और हरे रंग की श्रेणियां उन विषयों के दो समूह हैं जो रोगी नहीं हैं, और यह उम्मीद की जानी चाहिए कि उन्हें प्रतिष्ठित नहीं किया जा सकता है।)
मेरे प्रश्नों का सुधार करने के लिए,
- क्या यह दृष्टिकोण आपके लिए मायने रखता है? मेरी समस्या यह है कि यह डेटा ड्रेजिंग की तरह बहुत अधिक लगता है। इसके अलावा, सहज रूप से मुझे लगता है कि शायद मुझे तालिका को चालू करना चाहिए और पूछना चाहिए कि प्रत्येक चर द्वारा स्वतंत्र चर में विचरण के किस हिस्से को समझाया गया है? अंत में, मुझे (लगभग) यकीन है कि मैं पहिया को फिर से मजबूत कर रहा हूं, खराब तरीके से, इसलिए मेरा दूसरा सवाल है
- क्या इससे बेहतर कुछ है?
ध्यान दें कि मैं इस स्तर पर आंशिक रूप से कम से कम वर्ग या कुछ भी स्विच नहीं करना चाहता हूं; मैं सिर्फ अपने वर्गीकरण के संदर्भ में पीसीए का निदान करना चाहता हूं।
to find out what share of the overall variance in the data matrix is explained by a given classification
यदि आप यह जानना चाहते हैं तो आपको पीसीए की आवश्यकता नहीं है। बस कुल-सम-वर्गों के बीच-समूह सम-वर्गों के अनुपात की गणना करें: (SStotal-SSwithin)/SStotal
जहाँ SSwithin समूह-योग सम-वर्गों में जमा है।
Is there anything better?
।