Factor Analysis (FA) एक अन्वेषणात्मक डेटा विश्लेषण विधि है जिसका उपयोग देखे गए चर (observed variables) के समूह से प्रभावशाली अंतर्निहित कारकों या गुप्त चर (latent variables) की खोज के लिए किया जाता है। यह चर की संख्या घटाकर डेटा का अर्थ निकालने में मदद करता है। यह सभी चरों से अधिकतम साझा वैरिएंस निकालकर उन्हें एक साझा स्कोर में रखता है।
फैक्टर एनालिसिस का व्यापक उपयोग मार्केट रिसर्च, विज्ञापन, मनोविज्ञान, वित्त और ऑपरेशन रिसर्च में होता है। मार्केट शोधकर्ता इसका उपयोग मूल्य-संवेदनशील ग्राहकों की पहचान करने, उन ब्रांड विशेषताओं की पहचान करने के लिए करते हैं जो उपभोक्ता की पसंद को प्रभावित करती हैं, और वितरण चैनल के लिए चैनल चयन मानदंड को समझने में मदद के लिए करते हैं।
Factor Analysis
फैक्टर एनालिसिस एक रैखिक (linear) सांख्यिकीय मॉडल है। इसका उपयोग देखे गए चरों के बीच वैरिएंस को समझाने और उन्हें गुप्त चरों यानी कारकों में संक्षेपित करने के लिए किया जाता है। देखे गए चरों को कारकों और त्रुटि पदों के रैखिक संयोजन के रूप में मॉडल किया जाता है (Source)। फैक्टर या लैटेंट वेरिएबल कई देखे गए चरों से संबद्ध होता है जिनमें प्रतिक्रियाओं के सामान्य पैटर्न होते हैं। प्रत्येक फैक्टर देखे गए चरों में एक निश्चित मात्रा का वैरिएंस समझाता है। यह चर की संख्या घटाकर डेटा की व्याख्या करना आसान बनाता है।
फैक्टर एनालिसिस एक ऐसी विधि है जो यह जाँचती है कि रुचि के कई चर X1, X2,……, Xl, कम संख्या के अप्रेक्षित (unobservable) कारकों F1, F2,……, Fk से रैखिक रूप से संबंधित हैं या नहीं।
स्रोत: यह छवि फैक्टर एनालिसिस के नोट्स में मिली एक छवि से पुनर्निर्मित है। यह छवि फैक्टर एनालिसिस का पूर्ण दृश्य देती है।
अनुमान (Assumptions):
डेटा में आउटलायर न हों।
सैंपल आकार कारकों की संख्या से अधिक होना चाहिए।
परफेक्ट मल्टिकोलीनियरिटी नहीं होनी चाहिए।
चरों के बीच समविक्रियता (homoscedasticity) नहीं होनी चाहिए।
Factor Analysis के प्रकार
Exploratory Factor Analysis: यह सामाजिक और प्रबंधन शोधकर्ताओं के बीच सबसे लोकप्रिय दृष्टिकोण है। इसका मूल अनुमान है कि कोई भी देखा गया चर किसी भी कारक से सीधे संबद्ध हो सकता है।
Confirmatory Factor Analysis (CFA): इसका मूल अनुमान है कि प्रत्येक कारक विशिष्ट देखे गए चरों के एक समूह से संबद्ध है। CFA यह पुष्ट करता है कि बुनियादी अपेक्षाएँ सही हैं।
Factor Analysis कैसे काम करता है?
फैक्टर एनालिसिस का प्राथमिक उद्देश्य देखे गए चरों की संख्या घटाना और अप्रेक्षित चरों को खोजना है। ये अप्रेक्षित चर मार्केट शोधकर्ता को सर्वे से निष्कर्ष निकालने में मदद करते हैं। देखे गए चरों को अप्रेक्षित चरों में बदलना दो चरणों में किया जा सकता है:
Factor Extraction: इस चरण में, वैरिएंस पार्टिशनिंग विधियों जैसे principal components analysis और common factor analysis का उपयोग करके कारकों की संख्या और निष्कर्षण का तरीका चुना जाता है।
Factor Rotation: इस चरण में, रोटेशन कारकों को असहसंबद्ध (uncorrelated) बनाने की कोशिश करता है — इसका मुख्य उद्देश्य समग्र व्याख्यात्मकता (interpretability) में सुधार करना है। कई रोटेशन विधियाँ उपलब्ध हैं, जैसे: Varimax, Quartimax और Promax रोटेशन विधि।
शब्दावली
फैक्टर क्या है?
फैक्टर एक लैटेंट वेरिएबल है जो कई देखे गए चरों के बीच संबंध का वर्णन करता है। कारकों की अधिकतम संख्या देखे गए चरों की संख्या के बराबर होती है। हर फैक्टर देखे गए चरों में कुछ वैरिएंस समझाता है। सबसे कम वैरिएंस वाले कारकों को हटा दिया जाता है। फैक्टर को लैटेंट वेरिएबल, हिडन वेरिएबल, अप्रेक्षित वेरिएबल या परिकल्पित (hypothetical) वेरिएबल भी कहा जाता है।
फैक्टर लोडिंग्स क्या हैं?
फैक्टर लोडिंग्स एक मैट्रिक्स है जो प्रत्येक चर और अंतर्निहित फैक्टर के बीच संबंध दिखाती है। यह देखे गए चर और फैक्टर के लिए सहसंबंध गुणांक दर्शाती है। यह देखे गए चरों द्वारा समझाए गए वैरिएंस को दर्शाती है।
Eigenvalues क्या हैं?
Eigenvalues कुल वैरिएंस में से प्रत्येक फैक्टर द्वारा समझाए गए वैरिएंस का प्रतिनिधित्व करते हैं। इन्हें characteristic roots भी कहा जाता है।
Communalities क्या हैं?
कम्यूनैलिटीज प्रत्येक चर के लिए स्क्वायर्ड लोडिंग्स का योग होती हैं। यह साझा वैरिएंस का प्रतिनिधित्व करती हैं। इनका मान 0 से 1 के बीच होता है और 1 के निकट मान अधिक वैरिएंस को दर्शाता है।
Factor Rotation क्या है?
रोटेशन फैक्टर एनालिसिस की बेहतर व्याख्या के लिए एक औजार है। रोटेशन ऑर्थोगोनल या ओब्लिक हो सकता है। यह स्पष्ट लोडिंग पैटर्न के साथ कम्यूनैलिटीज का पुनर्वितरण करता है।
कारकों की संख्या चुनना
Kaiser मानदंड एक विश्लेषणात्मक दृष्टिकोण है, जिसके अनुसार जिस फैक्टर द्वारा वैरिएंस का अधिक अनुपात समझाया जाता है उसे चुना जाएगा। कारकों की संख्या निर्धारित करने के लिए eigenvalue एक अच्छा मानदंड है। सामान्यतः, 1 से अधिक eigenvalue वाले फैक्टर को चयन के लिए माना जाता है।
ग्राफिकल दृष्टिकोण कारकों की eigenvalues के दृश्य निरूपण पर आधारित है जिसे scree plot कहते हैं। यह स्क्री प्लॉट उस बिंदु पर कारकों की संख्या निर्धारित करने में मदद करता है जहाँ वक्र में कोहनी (elbow) बनती है।
factor_analyzer पैकेज का उपयोग करते हुए Python में Factor Analysis
आवश्यक लाइब्रेरी इम्पोर्ट करें
# Import required librariesimport pandas as pd
from sklearn.datasets import load_iris
from factor_analyzer import FactorAnalyzer
import matplotlib.pyplot as plt
संचालित द्वारा
डेटा लोड करना
आइए BFI (व्यक्तित्व आकलन प्रोजेक्ट पर आधारित डेटासेट) पर फैक्टर एनालिसिस करें, जिसे 6-पॉइंट रिस्पॉन्स स्केल का उपयोग करके एकत्र किया गया था: 1 Very Inaccurate, 2 Moderately Inaccurate, 3 Slightly Inaccurate 4 Slightly Accurate, 5 Moderately Accurate, और 6 Very Accurate। आप इस डेटासेट को निम्न लिंक से डाउनलोड भी कर सकते हैं: https://vincentarelbundock.github.io/Rdatasets/datasets.html
Index(['A1','A2','A3','A4','A5','C1','C2','C3','C4','C5','E1','E2','E3','E4','E5','N1','N2','N3','N4','N5','O1','O2','O3','O4','O5','gender','education','age'],
dtype='object')संचालित द्वारा
# Dropping unnecessary columns
df.drop(['gender','education','age'],axis=1,inplace=True)संचालित द्वारा
# Dropping missing values rows
df.dropna(inplace=True)संचालित द्वारा
फैक्टर एनालिसिस करने से पहले, आपको अपने डेटासेट की “factorability” का आकलन करना होगा। Factorability का अर्थ है "क्या हम डेटासेट में कारक खोज सकते हैं?"। factorability या सैंपलिंग पर्याप्तता जाँचने के दो तरीके हैं:
Bartlett’s Test
Kaiser-Meyer-Olkin Test
Bartlett’s test of sphericity यह जाँचता है कि देखे गए चर आपस में सहसंबद्ध हैं या नहीं, इसके लिए observed correlation matrix को identity matrix के विरुद्ध परखा जाता है। यदि परीक्षण सांख्यिकीय रूप से गैर-महत्वपूर्ण निकले, तो आपको फैक्टर एनालिसिस नहीं करना चाहिए।
from factor_analyzer.factor_analyzer import calculate_bartlett_sphericity
chi_square_value,p_value=calculate_bartlett_sphericity(df)
chi_square_value, p_value
संचालित द्वारा
इस Bartlett’s टेस्ट में p-value 0 है। परीक्षण सांख्यिकीय रूप से महत्वपूर्ण था, जो दर्शाता है कि observed correlation matrix एक identity matrix नहीं है।
Kaiser-Meyer-Olkin (KMO) टेस्ट फैक्टर एनालिसिस के लिए डेटा की उपयुक्तता मापता है। यह प्रत्येक देखे गए चर के लिए और सम्पूर्ण मॉडल के लिए पर्याप्तता निर्धारित करता है। KMO सभी देखे गए चरों में वैरिएंस के उस अनुपात का अनुमान लगाता है जो साझा है। कम अनुपात फैक्टर एनालिसिस के लिए अधिक उपयुक्त है। KMO मान 0 और 1 के बीच होते हैं। 0.6 से कम KMO मान अपर्याप्त माना जाता है।
from factor_analyzer.factor_analyzer import calculate_kmo
kmo_all,kmo_model=calculate_kmo(df)संचालित द्वारा
हमारे डेटा के लिए समग्र KMO 0.84 है, जो उत्कृष्ट है। यह मान इंगित करता है कि आप नियोजित फैक्टर एनालिसिस के साथ आगे बढ़ सकते हैं।
कारकों की संख्या चुनना
कारकों की संख्या चुनने के लिए, आप Kaiser मानदंड और scree plot का उपयोग कर सकते हैं। दोनों eigenvalues पर आधारित हैं।
# Create factor analysis object and perform factor analysis
fa = FactorAnalyzer()
fa.analyze(df,25, rotation=None)# Check Eigenvalues
ev, v = fa.get_eigenvalues()
ev
संचालित द्वारा
Original_Eigenvalues
0
5.134311
1
2.751887
2
2.142702
3
1.852328
4
1.548163
5
1.073582
6
0.839539
7
0.799206
8
0.718989
9
0.688089
10
0.676373
11
0.651800
12
0.623253
13
0.596563
14
0.563091
15
0.543305
16
0.514518
17
0.494503
18
0.482640
19
0.448921
20
0.423366
21
0.400671
22
0.387804
23
0.381857
24
0.262539
यहाँ, आप देख सकते हैं कि केवल 6 कारकों के लिए eigenvalues एक से अधिक हैं। इसका अर्थ है कि हमें केवल 6 कारक (या अप्रेक्षित चर) चुनने चाहिए।
# Create scree plot using matplotlib
plt.scatter(range(1,df.shape[1]+1),ev)
plt.plot(range(1,df.shape[1]+1),ev)
plt.title('Scree Plot')
plt.xlabel('Factors')
plt.ylabel('Eigenvalue')
plt.grid()
plt.show()संचालित द्वारा
स्क्री प्लॉट विधि प्रत्येक फैक्टर और उसकी eigenvalue के लिए एक रेखा बनाती है। एक से अधिक eigenvalues की संख्या को कारकों की संख्या माना जाता है।
यहाँ, आप देख सकते हैं कि केवल 6 कारकों के लिए eigenvalues एक से अधिक हैं। इसका अर्थ है कि हमें केवल 6 कारक (या अप्रेक्षित चर) चुनने चाहिए।
Factor Analysis करना
# Create factor analysis object and perform factor analysis
fa = FactorAnalyzer()
fa.analyze(df,6, rotation="varimax")संचालित द्वारा
फैक्टर 1 में E1,E2,E3,E4 और E5 के लिए उच्च फैक्टर लोडिंग्स हैं (Extraversion)
फैक्टर 2 में N1,N2,N3,N4 और N5 के लिए उच्च फैक्टर लोडिंग्स हैं (Neuroticism)
फैक्टर 3 में C1,C2,C3,C4 और C5 के लिए उच्च फैक्टर लोडिंग्स हैं (Conscientiousness)
फैक्टर 4 में O1,O2,O3,O4 और O5 के लिए उच्च फैक्टर लोडिंग्स हैं (Openness)
फैक्टर 5 में A1,A2,A3,A4 और A5 के लिए उच्च फैक्टर लोडिंग्स हैं (Agreeableness)
फैक्टर 6 में किसी भी चर के लिए उच्च लोडिंग्स नहीं हैं और इसे सरलता से व्याख्यायित करना कठिन है। बेहतर होगा कि हम केवल पाँच कारक लें।
आइए 5 कारकों के लिए फैक्टर एनालिसिस करें।
# Create factor analysis object and perform factor analysis using 5 factors
fa = FactorAnalyzer()
fa.analyze(df,5, rotation="varimax")
fa.loadings
संचालित द्वारा
Factor1
Factor2
Factor3
Factor4
Factor5
A1
0.040465
0.111126
0.022798
-0.077931
-0.428166
A2
0.213716
0.029588
0.139037
0.062139
0.626946
A3
0.317848
0.009357
0.109331
0.056196
0.650743
A4
0.204566
-0.066476
0.230584
-0.112700
0.435624
A5
0.393034
-0.122113
0.087869
0.066708
0.537087
C1
0.070184
0.010416
0.545824
0.209584
0.038878
C2
0.033270
0.089574
0.648731
0.115434
0.102782
C3
0.023907
-0.030855
0.557036
-0.005183
0.111578
C4
-0.064984
0.240410
-0.633806
-0.107535
-0.037498
C5
-0.176395
0.290318
-0.562467
0.036822
-0.047525
E1
-0.574835
0.042819
0.033144
-0.058795
-0.104813
E2
-0.678731
0.244743
-0.102483
-0.042010
-0.112517
E3
0.536816
0.024180
0.083010
0.280877
0.257906
E4
0.646833
-0.115614
0.102023
-0.073422
0.306101
E5
0.504069
0.036145
0.312899
0.213739
0.090354
N1
0.078923
0.786807
-0.045997
-0.084704
-0.216363
N2
0.027301
0.754109
-0.030568
-0.010304
-0.193744
N3
-0.061430
0.731721
-0.067084
-0.004217
-0.027712
N4
-0.345388
0.590602
-0.178902
0.075225
0.005886
N5
-0.161291
0.537858
-0.037309
-0.149769
0.100931
O1
0.213005
-0.002224
0.115080
0.504907
0.061550
O2
0.004560
0.175788
-0.099729
-0.468925
0.081809
O3
0.310956
0.026736
0.076873
0.596007
0.126889
O4
-0.191196
0.220582
-0.021906
0.369012
0.155475
O5
-0.005347
0.085401
-0.062730
-0.533778
-0.010384
# Get variance of each factors
fa.get_factor_variance()संचालित द्वारा
Factor1
Factor2
Factor3
Factor4
Factor5
SS Loadings
2.473090
2.709633
2.041106
1.522153
1.844498
Proportion Var
0.098924
0.108385
0.081644
0.060886
0.073780
Cumulative Var
0.098924
0.207309
0.288953
0.349839
0.423619
कुल 5 कारकों द्वारा 42% संचयी वैरिएंस समझाया गया है।
Factor Analysis के फायदे और सीमाएँ
फैक्टर एनालिसिस बड़े डेटासेट का अन्वेषण करता है और परस्पर जुड़े संबंध ढूँढता है। यह देखे गए चरों को कुछ अप्रेक्षित चरों में घटाता है या परस्पर संबंधित चरों के समूहों की पहचान करता है, जो मार्केट शोधकर्ताओं को बाजार की स्थितियों को संक्षेपित करने और उपभोक्ता के स्वाद, वरीयता और सांस्कृतिक प्रभावों के बीच छिपे संबंध खोजने में मदद करता है। साथ ही, यह भविष्य के सर्वे के लिए प्रश्नावली में सुधार करने में भी सहायक होता है। कारक डेटा की व्याख्या को अधिक स्वाभाविक बनाते हैं।
फैक्टर एनालिसिस के परिणाम कभी-कभी विवादास्पद हो सकते हैं। उसकी व्याख्याएँ बहस-योग्य हो सकती हैं क्योंकि एक ही डेटा कारकों के एक से अधिक अर्थ निकाले जा सकते हैं। कारकों की पहचान और उनके नामकरण के बाद, डोमेन ज्ञान की आवश्यकता होती है।
निष्कर्ष
बधाई हो, आप इस ट्यूटोरियल के अंत तक पहुँच गए हैं!
इस ट्यूटोरियल में, आपने सीखा कि फैक्टर एनालिसिस क्या है; फैक्टर एनालिसिस के विभिन्न प्रकार; फैक्टर एनालिसिस कैसे काम करता है; बुनियादी शब्दावली; कारकों की संख्या का चयन; principal component analysis और फैक्टर एनालिसिस की तुलना; Python में FactorAnalyzer पैकेज का उपयोग करके इसका कार्यान्वयन; और फैक्टर एनालिसिस के फायदे-सीमाएँ।
मैं आपसे किसी भी फीडबैक या प्रश्न का स्वागत करता/करती हूँ। आप टिप्पणी करके प्रश्न पूछ सकते हैं और मैं उसे उत्तर देने की पूरी कोशिश करूँगा/करूँगी।
Python के साथ डेटा विश्लेषण की बुनियादी बातें सिर्फ चार घंटे में सीखें। यह ऑनलाइन पाठ्यक्रम Python इंटरफ़ेस का परिचय देगा और लोकप्रिय पैकेजों का अन्वेषण करेगा।
Factor Analysis (FA) एक अन्वेषणात्मक डेटा विश्लेषण विधि है जिसका उपयोग देखे गए चर (observed variables) के समूह से प्रभावशाली अंतर्निहित कारकों या गुप्त चर (latent variables) की खोज के लिए किया जाता है। यह चर की संख्या घटाकर डेटा का अर्थ निकालने में मदद करता है। यह सभी चरों से अधिकतम साझा वैरिएंस निकालकर उन्हें एक साझा स्कोर में रखता है।
फैक्टर एनालिसिस का व्यापक उपयोग मार्केट रिसर्च, विज्ञापन, मनोविज्ञान, वित्त और ऑपरेशन रिसर्च में होता है। मार्केट शोधकर्ता इसका उपयोग मूल्य-संवेदनशील ग्राहकों की पहचान करने, उन ब्रांड विशेषताओं की पहचान करने के लिए करते हैं जो उपभोक्ता की पसंद को प्रभावित करती हैं, और वितरण चैनल के लिए चैनल चयन मानदंड को समझने में मदद के लिए करते हैं।
Factor Analysis
फैक्टर एनालिसिस एक रैखिक (linear) सांख्यिकीय मॉडल है। इसका उपयोग देखे गए चरों के बीच वैरिएंस को समझाने और उन्हें गुप्त चरों यानी कारकों में संक्षेपित करने के लिए किया जाता है। देखे गए चरों को कारकों और त्रुटि पदों के रैखिक संयोजन के रूप में मॉडल किया जाता है (Source)। फैक्टर या लैटेंट वेरिएबल कई देखे गए चरों से संबद्ध होता है जिनमें प्रतिक्रियाओं के सामान्य पैटर्न होते हैं। प्रत्येक फैक्टर देखे गए चरों में एक निश्चित मात्रा का वैरिएंस समझाता है। यह चर की संख्या घटाकर डेटा की व्याख्या करना आसान बनाता है।
फैक्टर एनालिसिस एक ऐसी विधि है जो यह जाँचती है कि रुचि के कई चर X1, X2,……, Xl, कम संख्या के अप्रेक्षित (unobservable) कारकों F1, F2,……, Fk से रैखिक रूप से संबंधित हैं या नहीं।
स्रोत: यह छवि फैक्टर एनालिसिस के नोट्स में मिली एक छवि से पुनर्निर्मित है। यह छवि फैक्टर एनालिसिस का पूर्ण दृश्य देती है।
अनुमान (Assumptions):
Factor Analysis के प्रकार
Factor Analysis कैसे काम करता है?
फैक्टर एनालिसिस का प्राथमिक उद्देश्य देखे गए चरों की संख्या घटाना और अप्रेक्षित चरों को खोजना है। ये अप्रेक्षित चर मार्केट शोधकर्ता को सर्वे से निष्कर्ष निकालने में मदद करते हैं। देखे गए चरों को अप्रेक्षित चरों में बदलना दो चरणों में किया जा सकता है:
शब्दावली
फैक्टर क्या है?
फैक्टर एक लैटेंट वेरिएबल है जो कई देखे गए चरों के बीच संबंध का वर्णन करता है। कारकों की अधिकतम संख्या देखे गए चरों की संख्या के बराबर होती है। हर फैक्टर देखे गए चरों में कुछ वैरिएंस समझाता है। सबसे कम वैरिएंस वाले कारकों को हटा दिया जाता है। फैक्टर को लैटेंट वेरिएबल, हिडन वेरिएबल, अप्रेक्षित वेरिएबल या परिकल्पित (hypothetical) वेरिएबल भी कहा जाता है।
फैक्टर लोडिंग्स क्या हैं?
फैक्टर लोडिंग्स एक मैट्रिक्स है जो प्रत्येक चर और अंतर्निहित फैक्टर के बीच संबंध दिखाती है। यह देखे गए चर और फैक्टर के लिए सहसंबंध गुणांक दर्शाती है। यह देखे गए चरों द्वारा समझाए गए वैरिएंस को दर्शाती है।
Eigenvalues क्या हैं?
Eigenvalues कुल वैरिएंस में से प्रत्येक फैक्टर द्वारा समझाए गए वैरिएंस का प्रतिनिधित्व करते हैं। इन्हें characteristic roots भी कहा जाता है।
Communalities क्या हैं?
कम्यूनैलिटीज प्रत्येक चर के लिए स्क्वायर्ड लोडिंग्स का योग होती हैं। यह साझा वैरिएंस का प्रतिनिधित्व करती हैं। इनका मान 0 से 1 के बीच होता है और 1 के निकट मान अधिक वैरिएंस को दर्शाता है।
Factor Rotation क्या है?
रोटेशन फैक्टर एनालिसिस की बेहतर व्याख्या के लिए एक औजार है। रोटेशन ऑर्थोगोनल या ओब्लिक हो सकता है। यह स्पष्ट लोडिंग पैटर्न के साथ कम्यूनैलिटीज का पुनर्वितरण करता है।
कारकों की संख्या चुनना
Kaiser मानदंड एक विश्लेषणात्मक दृष्टिकोण है, जिसके अनुसार जिस फैक्टर द्वारा वैरिएंस का अधिक अनुपात समझाया जाता है उसे चुना जाएगा। कारकों की संख्या निर्धारित करने के लिए eigenvalue एक अच्छा मानदंड है। सामान्यतः, 1 से अधिक eigenvalue वाले फैक्टर को चयन के लिए माना जाता है।
ग्राफिकल दृष्टिकोण कारकों की eigenvalues के दृश्य निरूपण पर आधारित है जिसे scree plot कहते हैं। यह स्क्री प्लॉट उस बिंदु पर कारकों की संख्या निर्धारित करने में मदद करता है जहाँ वक्र में कोहनी (elbow) बनती है।
Source
Factor Analysis बनाम Principal Component Analysis
Source
factor_analyzer पैकेज का उपयोग करते हुए Python में Factor Analysis
आवश्यक लाइब्रेरी इम्पोर्ट करें
डेटा लोड करना
आइए BFI (व्यक्तित्व आकलन प्रोजेक्ट पर आधारित डेटासेट) पर फैक्टर एनालिसिस करें, जिसे 6-पॉइंट रिस्पॉन्स स्केल का उपयोग करके एकत्र किया गया था: 1 Very Inaccurate, 2 Moderately Inaccurate, 3 Slightly Inaccurate 4 Slightly Accurate, 5 Moderately Accurate, और 6 Very Accurate। आप इस डेटासेट को निम्न लिंक से डाउनलोड भी कर सकते हैं: https://vincentarelbundock.github.io/Rdatasets/datasets.html
डेटा प्रीप्रोसेस करें
5 पंक्तियाँ × 25 कॉलम
पर्याप्तता परीक्षण
फैक्टर एनालिसिस करने से पहले, आपको अपने डेटासेट की “factorability” का आकलन करना होगा। Factorability का अर्थ है "क्या हम डेटासेट में कारक खोज सकते हैं?"। factorability या सैंपलिंग पर्याप्तता जाँचने के दो तरीके हैं:
Bartlett’s test of sphericity यह जाँचता है कि देखे गए चर आपस में सहसंबद्ध हैं या नहीं, इसके लिए observed correlation matrix को identity matrix के विरुद्ध परखा जाता है। यदि परीक्षण सांख्यिकीय रूप से गैर-महत्वपूर्ण निकले, तो आपको फैक्टर एनालिसिस नहीं करना चाहिए।
इस Bartlett’s टेस्ट में p-value 0 है। परीक्षण सांख्यिकीय रूप से महत्वपूर्ण था, जो दर्शाता है कि observed correlation matrix एक identity matrix नहीं है।
Kaiser-Meyer-Olkin (KMO) टेस्ट फैक्टर एनालिसिस के लिए डेटा की उपयुक्तता मापता है। यह प्रत्येक देखे गए चर के लिए और सम्पूर्ण मॉडल के लिए पर्याप्तता निर्धारित करता है। KMO सभी देखे गए चरों में वैरिएंस के उस अनुपात का अनुमान लगाता है जो साझा है। कम अनुपात फैक्टर एनालिसिस के लिए अधिक उपयुक्त है। KMO मान 0 और 1 के बीच होते हैं। 0.6 से कम KMO मान अपर्याप्त माना जाता है।
हमारे डेटा के लिए समग्र KMO 0.84 है, जो उत्कृष्ट है। यह मान इंगित करता है कि आप नियोजित फैक्टर एनालिसिस के साथ आगे बढ़ सकते हैं।
कारकों की संख्या चुनना
कारकों की संख्या चुनने के लिए, आप Kaiser मानदंड और scree plot का उपयोग कर सकते हैं। दोनों eigenvalues पर आधारित हैं।
यहाँ, आप देख सकते हैं कि केवल 6 कारकों के लिए eigenvalues एक से अधिक हैं। इसका अर्थ है कि हमें केवल 6 कारक (या अप्रेक्षित चर) चुनने चाहिए।
स्क्री प्लॉट विधि प्रत्येक फैक्टर और उसकी eigenvalue के लिए एक रेखा बनाती है। एक से अधिक eigenvalues की संख्या को कारकों की संख्या माना जाता है।
यहाँ, आप देख सकते हैं कि केवल 6 कारकों के लिए eigenvalues एक से अधिक हैं। इसका अर्थ है कि हमें केवल 6 कारक (या अप्रेक्षित चर) चुनने चाहिए।
Factor Analysis करना
आइए 5 कारकों के लिए फैक्टर एनालिसिस करें।
कुल 5 कारकों द्वारा 42% संचयी वैरिएंस समझाया गया है।
Factor Analysis के फायदे और सीमाएँ
फैक्टर एनालिसिस बड़े डेटासेट का अन्वेषण करता है और परस्पर जुड़े संबंध ढूँढता है। यह देखे गए चरों को कुछ अप्रेक्षित चरों में घटाता है या परस्पर संबंधित चरों के समूहों की पहचान करता है, जो मार्केट शोधकर्ताओं को बाजार की स्थितियों को संक्षेपित करने और उपभोक्ता के स्वाद, वरीयता और सांस्कृतिक प्रभावों के बीच छिपे संबंध खोजने में मदद करता है। साथ ही, यह भविष्य के सर्वे के लिए प्रश्नावली में सुधार करने में भी सहायक होता है। कारक डेटा की व्याख्या को अधिक स्वाभाविक बनाते हैं।
फैक्टर एनालिसिस के परिणाम कभी-कभी विवादास्पद हो सकते हैं। उसकी व्याख्याएँ बहस-योग्य हो सकती हैं क्योंकि एक ही डेटा कारकों के एक से अधिक अर्थ निकाले जा सकते हैं। कारकों की पहचान और उनके नामकरण के बाद, डोमेन ज्ञान की आवश्यकता होती है।
निष्कर्ष
बधाई हो, आप इस ट्यूटोरियल के अंत तक पहुँच गए हैं!
इस ट्यूटोरियल में, आपने सीखा कि फैक्टर एनालिसिस क्या है; फैक्टर एनालिसिस के विभिन्न प्रकार; फैक्टर एनालिसिस कैसे काम करता है; बुनियादी शब्दावली; कारकों की संख्या का चयन; principal component analysis और फैक्टर एनालिसिस की तुलना; Python में FactorAnalyzer पैकेज का उपयोग करके इसका कार्यान्वयन; और फैक्टर एनालिसिस के फायदे-सीमाएँ।
मैं आपसे किसी भी फीडबैक या प्रश्न का स्वागत करता/करती हूँ। आप टिप्पणी करके प्रश्न पूछ सकते हैं और मैं उसे उत्तर देने की पूरी कोशिश करूँगा/करूँगी।
यदि आप Python में फैक्टर्स के बारे में और सीखना चाहते हैं, तो DataCamp का Unsupervised Learning in Python कोर्स लें।