खोजकर्ता कारक विश्लेषण के साथ आर और एसपीएस के बीच विसंगतियों की व्याख्या करना


14

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

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

आर और एसपीएसएस में दो प्रक्रियाओं को चलाने से, प्रमुख अंतर हैं। पैटर्न मैट्रिक्स अलग-अलग लोडिंग देता है। हालांकि यह चर संबंधों को कम या ज्यादा समान कारक देता है, लेकिन संबंधित लोडिंग के बीच 0.15 का अंतर होता है, जो लगता है कि निष्कर्षण विधि और प्रोमाक्स घुमाव के सिर्फ एक अलग कार्यान्वयन से उम्मीद की जाएगी। हालांकि, यह सबसे चौंकाने वाला अंतर नहीं है।

कारकों द्वारा समझाया गया संचयी विचरण SPSS परिणामों में लगभग 40% और R परिणामों में 31% है। यह एक बहुत बड़ा अंतर है, और मेरे सहयोगियों ने आर के बजाय SPSS का उपयोग करना चाहा है। मुझे इससे कोई समस्या नहीं है, लेकिन एक अंतर जो मुझे बड़ा लगता है कि हम कुछ गलत तरीके से व्याख्या कर रहे हैं, जो एक समस्या है।

पानी को और भी अधिक गंदा करते हुए, SPSS ने विभिन्न प्रकार के व्याख्या किए गए विचरणों की रिपोर्ट की, जब हम कम से कम वर्ग फैक्टरिंग चलाते हैं। इनिशियल आइजनवेल्यूज द्वारा समझाया गया विचरण का अनुपात 40% है, जबकि एक्सट्रेक्शन सूम्स ऑफ स्क्वॉयर लोडिंग (एसएसएल) से समझाया गया विचरण का अनुपात 33% है। इससे मुझे लगता है कि प्रारंभिक आइगेनवेल्यूज़ देखने के लिए उपयुक्त संख्या नहीं है (मुझे संदेह है कि यह रोटेशन से पहले समझाया गया विचरण है, हालांकि यह इतना बड़ा है जो मुझसे परे है)। इससे भी अधिक भ्रामक, SPSS रोटेशन एसएसएल को भी दिखाता है, लेकिन व्याख्या किए गए विचरण के प्रतिशत की गणना नहीं करता है (SPSS मुझे बताता है कि सहसंबंधित कारक होने का मतलब है कि मैं कुल विचरण को खोजने के लिए SSL को जोड़ नहीं सकता, जो कि मैंने जो गणित देखा है उससे समझ में आता है)। आर से सूचित एसएसएल इनमें से किसी से भी मेल नहीं खाता है, और आर मुझे बताता है कि यह कुल विचरण के 31% का वर्णन करता है। R का एसएसएल रोटेशन एसएसएल से सबसे अधिक निकटता से मेल खाता है। मूल सहसंबंध मैट्रिक्स से आर के eigenvalues ​​SPSS से प्रारंभिक Eigenvalues ​​से मेल खाते हैं।

इसके अलावा, कृपया ध्यान दें कि मैंने अलग-अलग तरीकों का उपयोग करके खेला है, और यह कि SPSS के ULS और PAF, R के PA विधि के सबसे निकटतम हैं।

मेरे विशिष्ट प्रश्न:

  1. कारक विश्लेषण कार्यान्वयन के साथ आर और एसपीएसएस के बीच मुझे कितना अंतर चाहिए?
  2. एसपीएसएस से स्क्वॉयर लोडिंग में से कौन सी रकम की मुझे इंटरप्रिटेशन, इनिशियल इगेंवल्यूस, एक्सट्रैक्शन या रोटेशन चाहिए?
  3. क्या कोई अन्य समस्या है जिसे मैंने अनदेखा किया होगा?

SPSS और R के लिए मेरी कॉल इस प्रकार हैं:

SPSS:

FACTOR
/VARIABLES <variables>
/MISSING PAIRWISE
/ANALYSIS <variables>
/PRINT INITIAL KMO AIC EXTRACTION ROTATION
/FORMAT BLANK(.35)
/CRITERIA FACTORS(6) ITERATE(25)
/EXTRACTION ULS
/CRITERIA ITERATE(25)
/ROTATION PROMAX(4).

आर:

library(psych)
fa.results <- fa(data, nfactors=6, rotate="promax",
scores=TRUE, fm="pa", oblique.scores=FALSE, max.iter=25)

इसकी जाँच नहीं कर सकता क्योंकि मैं R का उपयोग नहीं करता, लेकिन मुझे संदेह है कि प्रलेखन में चूक हुई है। fm = "pa" को / EXTRACTION PAF के अनुरूप होना चाहिए। इसके अलावा, किसी भी रोटेशन से पहले समाधानों की तुलना करने की कोशिश करें, क्योंकि रोटेशन एल्गो में हल्के अंतर निष्कर्षण विधि के मतभेदों के साथ मिल सकते हैं।
ttnphns

1
निगाह डालने के लिए धन्यवाद! मैं रोटेशन से पहले समाधानों की तुलना करने की कोशिश करूंगा। मुझे उल्लेख करना चाहिए कि मैंने दोनों / EXTRACTION ULS और / EXTRACTION PAF की कोशिश की है, और लोडिंग में बहुत कम अंतर है (लेकिन न तो वास्तव में R "पा" विधि के करीब है)। मेरे द्वारा उपरोक्त ULS दिखाने का कारण यह है क्योंकि यह वह कमांड है जो विभिन्न एसएसएल देता है।
ओलिवर

1
प्रिंसिपल एक्सिस मेथड और अनवीटेड कम से कम स्क्वैयर मेथड्स कभी-कभी समान परिणाम दे सकते हैं लेकिन वे मौलिक रूप से अलग एल्गोरिथम हैं। मेरा मानना ​​है कि आर और एसपीएसएस के बीच के समीकरण इस प्रकार हैं: "पा" = पीएएफ, "मिनारेस" = यूएलएस, "जीएलएस" = जीएलएस, "एमएल" = एमएल
ttnphns

1
इसके अलावा, लापता मूल्यों के उपचार की जाँच करें। अपने SPSS कोड में, आप उन्हें जोड़ो को हटाते हैं। आप में आर कोड - ...?
ttnphns

मैंने R से पूर्व-घुमाव वाले SSL की तुलना की है और वे SPSS से ULS समाधान में एक्सट्रैक्शन एसएसएल से मेल खाते हैं (दुर्भाग्य से, SPSS में PAF समाधान ने मुझे ये मान नहीं दिए)। मुझे लगता है कि प्रोमोक्स रोटेशन अपराधी लगता है। खैर, या तो या जिस तरह से SPSS रोटेशन एसएसएल को प्रिंट करता है। शायद R अंतिम एसएसएल द्वारा बताए गए कुल विचरण का अनुमान लगाता है, जबकि SPSS मुझे बताता है कि ऐसा कोई अनुमान उचित नहीं है।
ओलिवर

जवाबों:


21

सबसे पहले, मैं दूसरे ttnphns को रोटेशन से पहले समाधान को देखने की सिफारिश करता हूं। SPSS में कार्यान्वित किया जाने वाला कारक विश्लेषण कई चरणों के साथ एक जटिल प्रक्रिया है, इनमें से प्रत्येक चरण के परिणाम की तुलना करने से आपको समस्या को हल करने में मदद मिलेगी।

विशेष रूप से आप चला सकते हैं

FACTOR
/VARIABLES <variables>
/MISSING PAIRWISE
/ANALYSIS <variables>
/PRINT CORRELATION
/CRITERIA FACTORS(6) ITERATE(25)
/EXTRACTION ULS
/CRITERIA ITERATE(25)
/ROTATION NOROTATE.

सहसंबंध मैट्रिक्स SPSS देखने के लिए कारक विश्लेषण करने के लिए उपयोग कर रहा है। फिर, R में, चलकर स्वयं सहसंबंध मैट्रिक्स तैयार करें

r <- cor(data)

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

fa.results <- fa(r, nfactors=6, rotate="promax",
scores=TRUE, fm="pa", oblique.scores=FALSE, max.iter=25)

यदि आप अभी भी SPSS और R में भिन्न परिणाम प्राप्त करते हैं, तो समस्या मान-संबंधित अनुपलब्ध नहीं है।

इसके बाद, आप कारक विश्लेषण / निष्कर्षण विधि के परिणामों की तुलना स्वयं कर सकते हैं।

FACTOR
/VARIABLES <variables>
/MISSING PAIRWISE
/ANALYSIS <variables>
/PRINT EXTRACTION
/FORMAT BLANK(.35)
/CRITERIA FACTORS(6) ITERATE(25)
/EXTRACTION ULS
/CRITERIA ITERATE(25)
/ROTATION NOROTATE.

तथा

fa.results <- fa(r, nfactors=6, rotate="none", 
scores=TRUE, fm="pa", oblique.scores=FALSE, max.iter=25)

फिर से, कारक मेट्रिसेस / सांप्रदायिकता / वर्ग राशि के योग की तुलना करें। यहां आप कुछ छोटे अंतरों की उम्मीद कर सकते हैं लेकिन निश्चित रूप से आपके द्वारा वर्णित परिमाण के नहीं। यह सब आपको एक स्पष्ट विचार देगा कि क्या चल रहा है।

अब, अपने तीन सवालों के सीधे जवाब देने के लिए:

  1. मेरे अनुभव में, बहुत ही समान परिणाम प्राप्त करना संभव है, कभी-कभी कुछ समय बिताने के बाद अलग-अलग शब्दावली का पता लगाना और मापदंडों के साथ लंघन करना। मेरे पास SPSS और R दोनों में कारक विश्लेषण चलाने के लिए कई अवसर हैं (आमतौर पर R में काम कर रहे हैं और फिर SPSS में सहकर्मियों के साथ साझा करने के लिए विश्लेषण को पुन: प्रस्तुत कर रहे हैं) और हमेशा अनिवार्य रूप से समान परिणाम प्राप्त किए। इसलिए मैं आमतौर पर बड़े अंतर की उम्मीद नहीं करता, जिससे मुझे संदेह होता है कि समस्या आपके डेटा सेट के लिए विशिष्ट हो सकती है। हालाँकि मैंने आपके द्वारा दिए गए डेटा सेट पर दिए गए आदेशों को शीघ्रता से आज़माया था, जो मेरे आस-पास पड़े थे (यह एक पैमाना पैमाना है) और अंतर वास्तव में जितने बड़े थे, मैं उतना ही बड़ा था लेकिन जितना आप वर्णन करते हैं उतना बड़ा नहीं है। (यदि मुझे इसके साथ खेलने के लिए अधिक समय मिले तो मैं अपना उत्तर अपडेट कर सकता हूं।)
  2. अधिकांश समय, लोग रोटेशन के बाद वर्ग लोडिंग के योग की व्याख्या करते हैं, क्योंकि प्रत्येक कारक द्वारा "विचरण का अनुपात" समझाया गया है, लेकिन यह एक तिरछे घुमाव के बाद सार्थक नहीं है (यही कारण है कि यह मनोवैज्ञानिक रूप से रिपोर्ट नहीं किया गया है और एसपीएसएस केवल रिपोर्ट करता है इस मामले में eigenvalues ​​- आउटपुट में इसके बारे में थोड़ा फुटनोट भी है)। किसी भी कारक निष्कर्षण से पहले प्रारंभिक प्रतिजन की गणना की जाती है। जाहिर है, वे आपको आपके कारकों द्वारा बताए गए विचरण के अनुपात के बारे में कुछ नहीं बताते हैं और वास्तव में या तो "स्क्वॉयर लोडिंग का योग" नहीं है (उन्हें बनाए रखने के लिए अक्सर कारकों की संख्या तय करने के लिए उपयोग किया जाता है)। SPSS "स्क्वैयर लोडिंग के निष्कर्षण योग" को हालांकि, मनोवैज्ञानिक द्वारा प्रदान की गई "एसएस लोडिंग" से मेल खाना चाहिए ।
  3. इस स्तर पर यह एक जंगली अनुमान है लेकिन क्या आपने जाँच की है कि क्या कारक निष्कर्षण प्रक्रिया 25 पुनरावृत्तियों में परिवर्तित हो गई है? यदि रोटेशन अभिसरण करने में विफल रहता है, तो SPSS किसी भी पैटर्न / संरचना मैट्रिक्स का उत्पादन नहीं करता है और आप इसे याद नहीं कर सकते हैं, लेकिन यदि निष्कर्षण अभिसरण करने में विफल रहता है, तो अंतिम कारक मैट्रिक्स को फिर भी प्रदर्शित किया जाता है और SPSS को रोटेशन के साथ जारी रखा जाता है। हालाँकि आपको "a" नोट दिखाई देगा। 6 कारकों को निकालने का प्रयास किया गया। 25 से अधिक पुनरावृत्तियों की आवश्यकता है। (कन्वर्जेंस = XXX)। निष्कर्षण समाप्त कर दिया गया था। ” यदि अभिसरण मान छोटा है (कुछ .005 की तरह, डिफ़ॉल्ट रोक स्थिति ".0001 से कम"), तो यह अभी भी आपके द्वारा बताई गई विसंगतियों के लिए जिम्मेदार नहीं होगा, लेकिन यदि यह वास्तव में बड़ी है तो आपके डेटा के बारे में कुछ विकृति है।

2
बहुत अच्छा जवाब। मैं सुझाव देने जा रहा था (यदि संभव हो तो) लेखक एक नमूना सहसंबंध मैट्रिक्स प्रदान करे कि यह देखने के लिए कि समस्या कहाँ है। इसे ठगना मुश्किल नहीं होना चाहिए / इसे डेटा साझा करने के लिए पर्याप्त अस्पष्ट बना देना चाहिए। इसके अलावा अगर कोई समस्या को पुन: उत्पन्न नहीं कर सकता है तो सीधे उसी सहसंबंध मैट्रिक्स से शुरू होता है जो आंशिक रूप से समस्या की पहचान करता है।
एंडी डब्ल्यू

धन्यवाद, यह एक शानदार जवाब है। एक बार जब मैं अपने SPSS मशीन पर वापस आ जाऊंगा तो मैं इन चरणों से गुजरूंगा। # 3 के जवाब में, समाधान 9 पुनरावृत्तियों में परिवर्तित होता है, लेकिन मैं भविष्य में किए जाने वाले किसी भी विश्लेषण को ध्यान में रखूंगा। यह जानना बहुत मददगार था कि अंतर आमतौर पर उतना बड़ा नहीं होता जितना मैंने बताया है (मैं लिकर्ट स्केल डेटा, 5-पॉइंट के साथ भी काम कर रहा हूं)।
ओलिवर

यदि कोई और आश्चर्य करता है, तो faआर में फ़ंक्शन psychपैकेज से है। factanalआधार पैकेज से एक जैसे काम करते प्रदर्शन करना चाहिए, लेकिन psychअच्छी तरह से अन्य प्रयोजनों के लिए वैसे भी का उपयोग कर के लायक है। वास्तव में, चूंकि यह लिकर्ट डेटा है, इसलिए psychपैकेज के fa.polyबजाय इसका उपयोग करना समझदारी होगी : सहायता दस्तावेज देखें
निक स्टानर

6

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

एक शेष विसंगति उन मूल्यों की श्रृंखला में है, जो निष्कर्षण के बाद आइगेनवेल्यूज का संकेत देने वाले स्केरी प्लॉट में दिखाई देते हैं। R के "स्केरी (cor (mydata))" में "ये" कारक "SPSS के वैरिएनस एक्सप्लेस्ड टेबल में" एक्सट्रेक्शन सोम्स ऑफ स्क्वॉयर लोडिंग "के अंतर्गत सूचीबद्ध नहीं होते हैं। ध्यान दें कि R स्केयर प्लॉट के "कंपोनेंट्स" SPSS के स् वॉट प्लॉट से मेल खाते हैं, जो कि इसके वेरिएंस एक्सप्लेड टेबल के "इनिशियल आइजनवेल्यूज" से भी मेल खाते हैं।

मैंने यह भी पाया है कि प्रत्येक कारक द्वारा समझाया गया "आनुपातिक वार" आर में है, कभी-कभी (किसी दिए गए कारक के अनुपात) / (सभी कारकों द्वारा बताई गई राशि) के रूप में रिपोर्ट किया जाता है, जबकि अन्य समयों में यह (अनुपात) किसी दिए गए कारक के लिए) (विश्लेषण में वस्तुओं की संख्या)। इसलिए यदि आप पूर्व प्राप्त करते हैं, तो यह एक मैच नहीं है, जबकि कम से कम आनुपातिक और व्युत्पन्न है, जो एसपीएसएस के तहत "एक्सट्रेक्शन सोम्स ऑफ स्क्वॉयर लोडिंग ... विरेन्स का%" के तहत रिपोर्ट करता है।

हालांकि, प्रत्येक कार्यक्रम में तिरछे घुमाव का परिचय, आइटम लोडिंग या कारकों के विचलन में बड़ी विसंगतियां पैदा करता है, जो बताता है कि मैं हल नहीं कर पाया हूं।


1

R में डिफ़ॉल्ट रोटेशन विधि कम है, इसलिए यह अंतर का कारण होगा। एक परीक्षण के रूप में SPSS और R में PAF / oblimin चलाते हैं और आपको लगभग समान परिणाम मिलेंगे।


0

मुझे नहीं पता कि पैटर्न लोडिंग में अंतर क्या होता है, लेकिन मुझे लगता है कि समझाया विचरण के% में अंतर इस कारण से है: - क्या आप शायद SPSS के पहले भाग (2 या 3 में से) की व्याख्या कर रहे हैं, जो वास्तव में दिखाता है प्रमुख घटक विश्लेषण के परिणाम। दूसरा भाग अनियोजित कारक विश्लेषण परिणामों के लिए परिणाम दिखाता है और तीसरा परिणाम रोटेशन के बाद (यदि उपयोग किया जाता है)। - तथ्य यह है कि fa फंक्शन (या इससे अधिक सटीक रूप से इसकी प्रिंट विधि) गलत तरीके से SSL को तिरछा कारकों के लिए गणना करता है। कारक द्वारा समझाया गया कुल विचरण का% प्राप्त करने के लिए, आपको कारक द्वारा चुकता संरचनात्मक भार के योग की गणना करनी चाहिए और उसे चरों की संख्या से विभाजित करना चाहिए। हालांकि, आप सभी कारकों द्वारा समझाया गया विचरण का% प्राप्त करने के लिए इन्हें (तिरछा घुमाव के मामले में) नहीं जोड़ सकते हैं। इसे पाने के लिए,


साइट पर आपका स्वागत है, @AlesZiberna। हम सवाल और जवाब के रूप में सांख्यिकीय जानकारी का एक स्थायी भंडार बनाने की कोशिश कर रहे हैं। तो एक बात जो हम चिंता करते हैं, वह है लिंकरोट। यदि यह मृत हो जाता है, तो क्या आप इस लिंक की जानकारी का अवलोकन प्रदान कर सकते हैं और पाठक यह तय कर सकते हैं कि क्या वे इसे आगे बढ़ाना चाहते हैं?
गुंग - को पुनः स्थापित मोनिका

0

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

कैसर सामान्यीकरण के लिए देखने के लिए एक महत्वपूर्ण सेटिंग है । डिफ़ॉल्ट रूप से, SPSS रोटेशन के दौरान कैसर को सामान्य करता है, जबकि कुछ R जैसे 'fa' नहीं करते हैं। यदि आप प्रत्येक प्रोग्राम के साथ परिणामों के बीच किसी भी विसंगति को समाप्त करते हैं, तो यह सत्यापित करने के लिए कि आप CRSSERIA = NOKAISER / KAISER को निर्दिष्ट करके SPSS में उस सेटिंग को नियंत्रित कर सकते हैं।

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