2010-11-10 15 views
11

तथ्यात्मक का उपयोग करते हुए एक कारक विश्लेषण करते समय सामान्य परिणाम कुछ लोडिंग टेबल और कई अन्य जानकारी होती है। कारकों के मैट्रिक्स/डेटा.फ्रेम बनाने के लिए इन लोडिंग का उपयोग करने का कोई सीधा तरीका है? उदाहरण के लिए बाद में उन्हें रिग्रेशन विश्लेषण में उपयोग करने के लिए।फैक्टनलल से कारक कैसे बनाएं?

संपादित करें: इसका उद्देश्य बाद में मॉडलिंग के लिए वेरिएबल प्राप्त किया जा सके। मैं केवल कारक स्कोर के बारे में पता है - लेकिन सुझाव/अन्य शब्दावली की ओर इशारा स्वागत है :)

EDIT2: जोरिस Meys जवाब इस सवाल का जवाब मूल रूप से मैं क्या के लिए पूछ रहा था। फिर भी यह मेरे प्रश्न को एक दिशा की दिशा में ले जाता है जो कि फसह के प्रवाह के लिए बेहतर हो सकता है, लेकिन मैं इसे अभी यहां रखूंगा, क्योंकि लोगों का सही समूह समाधान पर चर्चा कर रहा है:

रिग्रेशन का क्या फायदा है आधारित स्कोर? उत्पाद का परिणाम (एमएल) कारकों से अत्यधिक सहसंबंधित है ... ईमानदारी से मुझे आश्चर्य है कि मेरे मामले में अंतर इतना बड़ा क्यों है?

fa$scores # the correct solution 
fac <- m1 %*% loadings(fa) # the answer on your question 
diag(cor(fac,fa$scores)) 
#returns: 
Factor1 Factor2 Factor3 
0.8309343 0.8272019 0.8070837 

उत्तर

21

आप कैसे स्कोर के निर्माण के लिए लोडिंग का उपयोग करने के लिए कहा। आपका समाधान है, हालांकि सही है, ऐसा नहीं कर रहा है। यह (वैकल्पिक रूप से आप के रूप में अच्छी बार्टलेट के विधि का उपयोग कर सकते हैं) एक प्रतिगमन विधि का उपयोग कर रहा है, और इस प्रतिबंध है कि स्कोर uncorrelated हैं, 0 के आसपास और विचरण के साथ केंद्रित का उपयोग करता = 1. ये इसलिए एक ही कारक के रूप में एक एफ का उपयोग करके प्राप्त करेगा नहीं हैं = एफ के साथ एमएल कारक मैट्रिक्स, एम मूल मैट्रिक्स और एल लोडिंग मैट्रिक्स।

मदद फ़ाइलों से उदाहरण के साथ एक प्रदर्शन:

v1 <- c(1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,4,5,6) 
v2 <- c(1,2,1,1,1,1,2,1,2,1,3,4,3,3,3,4,6,5) 
v3 <- c(3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,5,4,6) 
v4 <- c(3,3,4,3,3,1,1,2,1,1,1,1,2,1,1,5,6,4) 
v5 <- c(1,1,1,1,1,3,3,3,3,3,1,1,1,1,1,6,4,5) 
v6 <- c(1,1,1,2,1,3,3,3,4,3,1,1,1,2,1,6,5,4) 
m1 <- cbind(v1,v2,v3,v4,v5,v6) 

fa <- factanal(m1, factors=3,scores="regression") 

fa$scores # the correct solution 

fac <- m1 %*% loadings(fa) # the answer on your question 

ये स्पष्ट रूप से अलग-अलग मान रहे हैं।

संपादित करें: यह सच है कि थॉमसन प्रतिगमन स्कोर बढ़ाया चर पर आधारित होते हैं के साथ करते हैं, और खाते में सहसंबंध मैट्रिक्स लेने के लिए है। आप हाथ से स्कोर की गणना चाहते हैं, तो आपको बस इतना चाहते हैं:

> fac2 <- scale(m1) %*% solve(cor(m1)) %*% loadings(fa) 
> all.equal(fa$scores,as.matrix(fac2)) 
[1] TRUE 

अधिक जानकारी के लिए, this review

और क्यों यह महत्वपूर्ण है कि आप को दिखाने के लिए: यदि आप "अनुभवहीन" जिस तरह से स्कोर की गणना करते हैं , आपके स्कोर वास्तव में सहसंबंधित हैं। और यही वह है जिसे आप पहली जगह से छुटकारा पाना चाहते थे:

> round(cor(fac),2) 
     Factor1 Factor2 Factor3 
Factor1 1.00 0.79 0.81 
Factor2 0.79 1.00 0.82 
Factor3 0.81 0.82 1.00 

> round(cor(fac2),2) 
     Factor1 Factor2 Factor3 
Factor1  1  0  0 
Factor2  0  1  0 
Factor3  0  0  1 
+0

हाँ, यही वह है जो मैंने पूछा था। प्रतिगमन द्वारा बनाए गए इन स्कोरों का एकमात्र लाभ मानकीकृत कर रहा है? एमएल मैट्रिक्स की गणना करना अत्यधिक अत्यधिक सहसंबंधित चर प्रदान करता है (मेरे प्रश्न का संपादन देखें)। –

+3

@ ran2: नहीं, इन स्कोरों के पीछे थोड़ा और गणित है, जिसे वास्तविकता की सहायता फ़ाइल में स्पष्ट रूप से समझाया गया है। इस पेपर में एक और विस्तृत अवलोकन देखा जा सकता है: http://www.psy.ed.ac.uk/people/iand/Bartholomew%20%282009%29%20Br%20J%20Math%20Stat%20Psychol%20factor%20scores % 20 थॉमसन% ​​20 स्पीरमैन% 20 Bartlett.pdf –

+2

एसीसी। पाठ के लिए Thx, आदमी! –

3

मैं इसे मैन्युअल की जाँच कर ली है, लेकिन here's एक तरह से यह कार्य करें:

fa <- factanal(mydf,3,rotation="varimax",scores="regression") 
fa$scores 

HTH किसी और। सुझाव, सुधार, सुधार स्वागत है!

+5

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

+0

Thx! बहुत मूल्यवान इनपुट। मैंने बस इसे मिश्रित किया, मैं केवल कोशिश कर रहा था, व्याख्या इसके साथ बेहतर नहीं होती है।मैंने अभी अपनी व्याख्या की मजबूती की जांच की और गलत लाइन पोस्ट की। –

2

आप loadings घटक नहीं करना चाहते?

loadings(fa) 

?loadings और ?factanal जाँच करने के लिए है कि यह लोडिंग आप चाहते है देखें। मैं शब्दावली बार, लोडिंग, स्कोर, साथ क्या पर इतनी भ्रमित इस्तेमाल किया लगता है ...

+0

वास्तव में यह भ्रमित है। लेकिन आप जो सुझाव देते हैं वह एफए $ लोडिंग के बराबर है जो एक कारक के साथ "सहसंबंध" की तरह है। मैं जो चाहता हूं वह प्रति अवलोकन आधार पर एक कारक है। –

+0

मेरा मतलब था 'mydf% *% लोडिंग (एफए)' जो मैंने सोचा था कि आप चाहते थे ... और मुझे लगता है कि जोरीस ने अपने जवाब में ऐसी चीज का सुझाव दिया है। –

+0

क्षमा करें गेविन - कभी-कभी मुझे थोड़ा अतिरिक्त मदद चाहिए। मैंने देखा कि पहली नजर में आपका क्या मतलब था। Thx से जोरीस और आपकी टिप्पणी यह ​​स्पष्ट है और यह मेरे प्रश्न का उत्तर है :) –

संबंधित मुद्दे