कोर्स
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 Analysis बनाम Principal Component Analysis
- PCA कॉम्पोनेंट्स अधिकतम वैरिएंस समझाते हैं जबकि फैक्टर एनालिसिस डेटा में सहवैरिएंस (covariance) समझाता है।
- PCA कॉम्पोनेंट्स आपस में पूर्णतः ऑर्थोगोनल होते हैं, जबकि फैक्टर एनालिसिस में कारकों का ऑर्थोगोनल होना आवश्यक नहीं है।
- PCA कॉम्पोनेंट देखे गए चरों का रैखिक संयोजन होता है, जबकि FA में देखे गए चर अप्रेक्षित चर या फैक्टर के रैखिक संयोजन होते हैं।
- PCA कॉम्पोनेंट्स प्रायः व्याख्यायोग्य नहीं होते। FA में अंतर्निहित कारकों को लेबल किया जा सकता है और उनकी व्याख्या की जा सकती है।
- PCA एक प्रकार की डायमेंशनलिटी रिडक्शन विधि है, जबकि फैक्टर एनालिसिस लैटेंट वेरिएबल विधि है।
- PCA फैक्टर एनालिसिस का एक प्रकार है। PCA प्रेक्षणात्मक (observational) है जबकि FA एक मॉडलिंग तकनीक है।
factor_analyzer पैकेज का उपयोग करते हुए Python में Factor Analysis
आवश्यक लाइब्रेरी इम्पोर्ट करें
# Import required libraries
import 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
df= pd.read_csv("bfi.csv")
डेटा प्रीप्रोसेस करें
df.columns
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)
df.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 2436 entries, 0 to 2799
Data columns (total 25 columns):
A1 2436 non-null float64
A2 2436 non-null float64
A3 2436 non-null float64
A4 2436 non-null float64
A5 2436 non-null float64
C1 2436 non-null float64
C2 2436 non-null float64
C3 2436 non-null float64
C4 2436 non-null float64
C5 2436 non-null float64
E1 2436 non-null float64
E2 2436 non-null float64
E3 2436 non-null float64
E4 2436 non-null float64
E5 2436 non-null float64
N1 2436 non-null float64
N2 2436 non-null float64
N3 2436 non-null float64
N4 2436 non-null float64
N5 2436 non-null float64
O1 2436 non-null float64
O2 2436 non-null int64
O3 2436 non-null float64
O4 2436 non-null float64
O5 2436 non-null float64
dtypes: float64(24), int64(1)
memory usage: 494.8 KB
df.head()
| A1 | A2 | A3 | A4 | A5 | C1 | C2 | C3 | C4 | C5 | ... | N1 | N2 | N3 | N4 | N5 | O1 | O2 | O3 | O4 | O5 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 2.0 | 4.0 | 3.0 | 4.0 | 4.0 | 2.0 | 3.0 | 3.0 | 4.0 | 4.0 | ... | 3.0 | 4.0 | 2.0 | 2.0 | 3.0 | 3.0 | 6 | 3.0 | 4.0 | 3.0 |
| 1 | 2.0 | 4.0 | 5.0 | 2.0 | 5.0 | 5.0 | 4.0 | 4.0 | 3.0 | 4.0 | ... | 3.0 | 3.0 | 3.0 | 5.0 | 5.0 | 4.0 | 2 | 4.0 | 3.0 | 3.0 |
| 2 | 5.0 | 4.0 | 5.0 | 4.0 | 4.0 | 4.0 | 5.0 | 4.0 | 2.0 | 5.0 | ... | 4.0 | 5.0 | 4.0 | 2.0 | 3.0 | 4.0 | 2 | 5.0 | 5.0 | 2.0 |
| 3 | 4.0 | 4.0 | 6.0 | 5.0 | 5.0 | 4.0 | 4.0 | 3.0 | 5.0 | 5.0 | ... | 2.0 | 5.0 | 2.0 | 4.0 | 1.0 | 3.0 | 3 | 4.0 | 3.0 | 5.0 |
| 4 | 2.0 | 3.0 | 3.0 | 4.0 | 5.0 | 4.0 | 4.0 | 5.0 | 3.0 | 2.0 | ... | 2.0 | 3.0 | 4.0 | 4.0 | 3.0 | 3.0 | 3 | 4.0 | 3.0 | 3.0 |
5 पंक्तियाँ × 25 कॉलम
पर्याप्तता परीक्षण
फैक्टर एनालिसिस करने से पहले, आपको अपने डेटासेट की “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
(18146.065577234807, 0.0)
इस 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_model
0.8486452309468382
हमारे डेटा के लिए समग्र 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")
fa.loadings
| Factor1 | Factor2 | Factor3 | Factor4 | Factor5 | Factor6 | |
|---|---|---|---|---|---|---|
| A1 | 0.040783 | 0.095220 | 0.048734 | -0.113057 | -0.530987 | 0.161216 |
| A2 | 0.235538 | 0.033131 | 0.133714 | 0.063734 | 0.661141 | -0.006244 |
| A3 | 0.343008 | -0.009621 | 0.121353 | 0.033990 | 0.605933 | 0.160106 |
| A4 | 0.219717 | -0.081518 | 0.235140 | -0.125338 | 0.404594 | 0.086356 |
| A5 | 0.414458 | -0.149616 | 0.106382 | 0.030977 | 0.469698 | 0.236519 |
| C1 | 0.077248 | -0.004358 | 0.554582 | 0.190124 | 0.007511 | 0.095035 |
| C2 | 0.038370 | 0.068330 | 0.674545 | 0.087593 | 0.057055 | 0.152775 |
| C3 | 0.031867 | -0.039994 | 0.551164 | -0.011338 | 0.101282 | 0.008996 |
| C4 | -0.066241 | 0.216283 | -0.638475 | -0.143846 | -0.102617 | 0.318359 |
| C5 | -0.180812 | 0.284187 | -0.544838 | 0.025837 | -0.059955 | 0.132423 |
| E1 | -0.590451 | 0.022280 | 0.053915 | -0.071205 | -0.130851 | 0.156583 |
| E2 | -0.684578 | 0.233624 | -0.088497 | -0.045561 | -0.116716 | 0.115065 |
| E3 | 0.556774 | -0.000895 | 0.103390 | 0.241180 | 0.179396 | 0.267291 |
| E4 | 0.658395 | -0.136788 | 0.113798 | -0.107808 | 0.241143 | 0.158513 |
| E5 | 0.507535 | 0.034490 | 0.309813 | 0.200821 | 0.078804 | 0.008747 |
| N1 | 0.068011 | 0.805806 | -0.051264 | -0.074977 | -0.174849 | -0.096266 |
| N2 | 0.022958 | 0.789832 | -0.037477 | 0.006726 | -0.141134 | -0.139823 |
| N3 | -0.065687 | 0.725081 | -0.059039 | -0.010664 | -0.019184 | 0.062495 |
| N4 | -0.345072 | 0.578319 | -0.162174 | 0.062916 | 0.000403 | 0.147551 |
| N5 | -0.161675 | 0.523097 | -0.025305 | -0.161892 | 0.090125 | 0.120049 |
| O1 | 0.225339 | -0.020004 | 0.133201 | 0.479477 | 0.005178 | 0.218690 |
| O2 | -0.001982 | 0.156230 | -0.086047 | -0.496640 | 0.043989 | 0.134693 |
| O3 | 0.325954 | 0.011851 | 0.093880 | 0.566128 | 0.076642 | 0.210777 |
| O4 | -0.177746 | 0.207281 | -0.005671 | 0.349227 | 0.133656 | 0.178068 |
| O5 | -0.014221 | 0.063234 | -0.047059 | -0.576743 | -0.057561 | 0.135936 |
- फैक्टर 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 में फैक्टर्स के बारे में और सीखना चाहते हैं, तो DataCamp का Unsupervised Learning in Python कोर्स लें।