रिग्रेशन विधियाँ विभिन्न उद्योगों में यह समझने के लिए उपयोग होती हैं कि किन वेरिएबल्स का किसी रुचि-विशेष विषय पर प्रभाव पड़ता है।
उदाहरण के लिए, अर्थशास्त्री उपभोक्ता खर्च और सकल घरेलू उत्पाद (GDP) वृद्धि के बीच संबंध का विश्लेषण करने के लिए उनका उपयोग कर सकते हैं। जन स्वास्थ्य अधिकारी ऐतिहासिक जानकारी के आधार पर व्यक्तियों की लागत को समझना चाह सकते हैं। दोनों ही स्थितियों में, फोकस व्यक्तिगत परिदृश्यों का पूर्वानुमान लगाने पर नहीं, बल्कि समग्र संबंध का एक अवलोकन प्राप्त करने पर होता है।
इस लेख में, हम रिग्रेशन का सामान्य समझ से शुरुआत करेंगे। इसके बाद, हम बताएँगे कि सिंपल और मल्टिपल लीनियर रिग्रेशन में क्या अंतर है, और फिर तकनीकी इम्प्लीमेंटेशन में उतरते हुए ऐसे टूल्स देंगे जो रिग्रेशन परिणामों को समझने और व्याख्या करने में मदद करें।
मल्टिपल लीनियर रिग्रेशन क्या है?
मल्टिपल लीनियर रिग्रेशन में जाने से पहले, यह समझते हैं कि सिंपल लीनियर रिग्रेशन क्या होता है—मल्टिपल लीनियर रिग्रेशन, सिंपल लीनियर रिग्रेशन का ही विस्तार है।
सिंपल लीनियर रिग्रेशन एक स्वतंत्र वेरिएबल X और आश्रित वेरिएबल Y के परिमाण के बीच संबंध को मॉडल करने का प्रयास करता है, जिसमें यह अनुमान लगाया जाता है कि जब X एक निश्चित मात्रा से बदलता है तो Y कितनी बदलेगा।
स्वतंत्र वेरिएबल X, जिसे प्रेडिक्टर भी कहा जाता है, वही वेरिएबल है जिसका उपयोग पूर्वानुमान लगाने के लिए किया जाता है।
आश्रित वेरिएबल Y, जिसे रिस्पॉन्स भी कहा जाता है, वही है जिसे हम पूर्वानुमानित करना चाहते हैं।
लीनियर रिग्रेशन का “लीनियर” पहलू यह है कि हम निम्न “रेखीय” समीकरण का उपयोग करके X से Y का अनुमान लगाते हैं।
Y = b0 + b1X
b0 रिग्रेशन रेखा का इंटरसेप्ट है, जो उस अनुमानित मान के अनुरूप है जब X शून्य हो।
b1 रिग्रेशन रेखा का स्लोप है।
तो, मल्टिपल लीनियर रिग्रेशन के बारे में क्या?
यह कई वेरिएबल्स के साथ लीनियर रिग्रेशन का उपयोग है, और इसकी समीकरण है:
Y = b0 + b1X1 + b2X2 + b3X3 + … + bnXn + e
Y और b0 सिंपल लीनियर रिग्रेशन मॉडल के जैसे ही हैं।
b1X1 पहले स्वतंत्र वेरिएबल (X1) पर रिग्रेशन गुणांक (b1) को दर्शाता है। यही विश्लेषण शेष सभी गुणांकों और वेरिएबल्स पर लागू होता है।
e मॉडल एरर (रिजिडुअल्स) है, जो यह परिभाषित करता है कि Y का अनुमान लगाते समय मॉडल में कितनी भिन्नता आती है।
मल्टिपल रिग्रेशन के मामले में हमें हमेशा सीधी रेखा नहीं मिलती। फिर भी, हम अधिक उपयुक्त मॉडल फिट करके रेखा के आकार को नियंत्रित कर सकते हैं।
प्रत्येक प्रेडिक्टर के लिए बेस्ट-फिट रेखा खोजने हेतु मल्टिपल लीनियर रिग्रेशन द्वारा कुछ मुख्य तत्वों की गणना की जाती है:
प्रत्येक प्रेडिक्टर के लिए अनुमानित गुणांक।
मॉडल का R-squared, जो मॉडल द्वारा समझाई गई वैरिएंस के अनुपात के अनुरूप होता है, और 0 से 100% के सुविधाजनक पैमाने पर मॉडल और आश्रित वेरिएबल Y के बीच संबंध की मज़बूती को मापता है।
p-वैल्यू और t-स्टैटिस्टिक मॉडल में प्रत्येक रिग्रेशन गुणांक के लिए। इन दोनों मेट्रिक्स को एक-दूसरे का दर्पण माना जाता है, और ये किसी गुणांक की सांख्यिकीय महत्त्वता की सीमा को मापते हैं। t-स्टैटिस्टिक जितना अधिक (और p-वैल्यू 0 के पास), प्रेडिक्टर उतना ही अधिक महत्त्वपूर्ण होता है, अर्थात उसे मॉडल में रखना चाहिए। दूसरी ओर, बहुत कम t-स्टैटिस्टिक (ऊँची p-वैल्यू) का मतलब है कि प्रेडिक्टर को हटाया जाना चाहिए।
मल्टिपल लीनियर रिग्रेशन की मान्यताएँ
मल्टिपल लीनियर रिग्रेशन मॉडल बनाते समय एक महत्त्वपूर्ण पहलू यह सुनिश्चित करना है कि निम्नलिखित प्रमुख मान्यताएँ पूरी होती हों।
रिजिडुअल मान सामान्य वितरण का पालन करते हों। इसे नॉर्मल प्रॉबेबिलिटी प्लॉट या हिस्टोग्राम से जाँचा जा सकता है।
आश्रित और स्वतंत्र वेरिएबल्स के बीच रैखिक संबंध होना चाहिए। इसे स्कैटरप्लॉट्स से दिखाया जा सकता है, जो रैखिक या वक्राकार संबंध दिखाएँ।
फिर, मल्टीकोलाइनियरिटी एक और मान्यता है, यानी स्वतंत्र वेरिएबल्स एक-दूसरे के साथ अत्यधिक सह-संबद्ध न हों। मल्टीकोलाइनियरिटी यह पहचानना कठिन बना देती है कि कौन-से वेरिएबल्स आश्रित वेरिएबल को बेहतर समझाते हैं। इस मान्यता की जाँच सभी स्वतंत्र वेरिएबल्स के बीच पियरसन के द्वि-परिवर्ती कोरिलेशन मैट्रिक्स की गणना करके की जाती है। यदि डेटा में कोलाइनियरिटी नहीं है, तो सभी मान 0.8 से कम होने चाहिए।
होमोस्केडैस्टीसिटी का अर्थ है कि रिजिडुअल त्रुटियों का वैरिएंस प्रत्येक स्वतंत्र वेरिएबल के मानों पर समान हो। इसे परखने का एक तरीका है प्रेडिक्टेड मानों को मानकीकृत रिजिडुअल्स के विरुद्ध प्लॉट करना, ताकि देखा जा सके कि बिंदु स्वतंत्र वेरिएबल्स के सभी मानों पर समान रूप से वितरित हैं या नहीं।
अगले भागों में, हम इन मान्यताओं में से कुछ को कवर करेंगे।
R में मल्टिपल लीनियर रिग्रेशन: स्टेप-बाय-स्टेप गाइड
इस खंड में, हम R प्रोग्रामिंग भाषा का उपयोग करके मल्टिपल लीनियर रिग्रेशन मॉडल के तकनीकी इम्प्लीमेंटेशन में उतरेंगे।
कस्टमर वैल्यू से हमारा क्या आशय है? मूलतः, यह बताता है कि किसी ग्राहक के लिए कोई प्रोडक्ट या सेवा कितनी मूल्यवान है, और इसे इस प्रकार गणना कर सकते हैं:
Customer Value = Benefit — Cost. जहाँ Benefit और Cost क्रमशः किसी उत्पाद या सेवा का लाभ और लागत हैं।
यदि कंपनी अधिक लाभ और कम लागत, या आदर्श रूप से दोनों का संयोजन दे सके, तो यह मान अधिक होगा।
यह विश्लेषण व्यवसाय को किसी दिए गए ग्राहक के मूल्य के आधार पर सबसे आशाजनक लक्ष्य-निर्धारण अवसर या अगला सर्वोत्तम कदम पहचानने में मदद कर सकता है।
त्वरित डेटा अन्वेषण
डेटा सेट का त्वरित अवलोकन कर लेते हैं ताकि मॉडल फिट करने से पहले उपयुक्त प्रीप्रोसेसिंग लागू कर सकें।
churn_data = read_csv('data/customer_churn.csv', show_col_types =FALSE)# Look at the first 6 observations
head(churn_data)# Check the dimension
dim(churn_data)संचालित द्वारा
डेटा की पहली 6 पंक्तियाँ (लेखक द्वारा एनिमेशन)
उपरोक्त परिणामों से हम देख सकते हैं कि डेटा सेट में 3150 ऑब्जर्वेशंस और 14 कॉलम हैं।
हालाँकि, समस्या कथन के आधार पर, हमें churn कॉलम की आवश्यकता नहीं होगी क्योंकि हम अब रिग्रेशन समस्या से निपट रहे हैं।
मॉडल फिट करने से पहले, कॉलम नामों में मौजूद स्पेस को अंडरस्कोर से बदलकर उन्हें प्रीप्रोसेस कर लेते हैं, ताकि हर बार वेरिएबल नामों के चारों ओर डबल कोट लिखने से बचा जा सके।
# Change the column names
names(churn_data)= gsub(" ","_", names(churn_data))
head(churn_data)संचालित द्वारा
कॉलम नाम रूपांतरण के बाद पहली 6 पंक्तियाँ (लेखक द्वारा एनिमेशन)
मल्टिपल लीनियर रिग्रेशन मॉडल फिट करना
नए फॉर्मेट वाले इस डेटा के साथ, हम इसे R में lm() फ़ंक्शन का उपयोग करके मल्टिपल रिग्रेशन फ्रेमवर्क में इस प्रकार फिट कर सकते हैं:
# Fit the multiple linear regression model
cust_value_model = lm(formula = Customer_Value ~ Call_Failure +
Complaints + Subscription_Length + Charge_Amount +
Seconds_of_Use +Frequency_of_use + Frequency_of_SMS +
Distinct_Called_Numbers + Age_Group + Tariff_Plan +
Status + Age,data = churn_data)संचालित द्वारा
आइए समझते हैं हमने यहाँ क्या किया।
lm() फ़ंक्शन का फ़ॉर्मेट इस प्रकार है: lm(formula = Y ~Sum(Xi), data = our_data)
Y, Customer_Value कॉलम है क्योंकि हम उसी का अनुमान लगाने की कोशिश कर रहे हैं।
Sum(Xi) मल्टिपल लीनियर रिग्रेशन समीकरण में समेशन अभिव्यक्ति का प्रतिनिधित्व करता है।
अब जबकि हमने मॉडल बना लिया है, अगला कदम मान्यताओं की जाँच और परिणामों की व्याख्या करना है। सरलता के लिए, हम सभी पहलुओं को कवर नहीं करेंगे।
मॉडल रिजिडुअल्स का वितरण
इसे R में hist() फ़ंक्शन का उपयोग करके दिखाया जा सकता है।
# Get the model residuals
model_residuals = cust_value_model$residuals
# Plot the result
hist(model_residuals)संचालित द्वारा
मॉडल रिजिडुअल्स का वितरण (छवि: लेखक)
हिस्टोग्राम बाएँ ओर स्क्यूड दिखता है; इसलिए, हम सामान्यता पर पर्याप्त विश्वास के साथ निष्कर्ष नहीं निकाल सकते। हिस्टोग्राम के बजाय, नॉर्मल Q-Q प्लॉट के साथ रिजिडुअल्स देखते हैं। यदि सामान्यता है, तो मान सीधी रेखा का अनुसरण करेंगे।
# Plot the residuals
qqnorm(model_residuals)# Plot the Q-Q line
qqline(model_residuals)संचालित द्वारा
Q-Q प्लॉट और रिजिडुअल्स (छवि: लेखक)
प्लॉट से हम देखते हैं कि रिजिडुअल्स के कुछ हिस्से सीधी रेखा पर हैं। तब हम मान सकते हैं कि मॉडल के रिजिडुअल्स सामान्य वितरण का पालन नहीं करते।
मल्टीकोलाइनियरिटी मान्यता की जाँच
यह निम्न R कोड के माध्यम से किया जाता है। लेकिन उससे पहले हमें Customer_Value कॉलम हटाना होगा।
# Install and load the ggcorrplot package
install.packages("ggcorrplot")
library(ggcorrplot)# Remove the Customer Value column
reduced_data <- subset(churn_data, select =-Customer_Value)# Compute correlation at 2 decimal places
corr_matrix = round(cor(reduced_data),2)# Compute and show the result
ggcorrplot(corr_matrix, hc.order =TRUE, type ="lower",
lab =TRUE)संचालित द्वारा
डेटा से कोरिलेशन परिणाम (छवि: लेखक)
हम दो मज़बूत कोरिलेशन देख सकते हैं क्योंकि उनके मान 0.8 से अधिक हैं।
Age और Age_Group: 0.96
Frequency_of_use और Seconds_of_Use: 0.95
यह परिणाम तर्कसंगत है क्योंकि Age_Group को Age से निकाला गया है। इसी तरह, कुल सेकंड्स (Seconds_of_Use) कुल कॉल्स (Frequency_of_Use) से व्युत्पन्न हैं।
इस स्थिति में, हम डेटा सेट से Age_Group और Seconds_of_Use को हटा सकते हैं।
आइए उन दोनों वेरिएबल्स के बिना दूसरा मॉडल बनाने की कोशिश करते हैं।
second_model = lm(formula = Customer_Value ~ Call_Failure + Complaints +
Subscription_Length + Charge_Amount +
Frequency_of_use + Frequency_of_SMS +
Distinct_Called_Numbers + Tariff_Plan +
Status + Age,
data = churn_data)संचालित द्वारा
पहले मॉडल (बाएँ) और दूसरे मॉडल (दाएँ) के Q-Q प्लॉट्स
हम देख सकते हैं कि डेटा से मल्टीकोलाइनियरिटी हटाना उपयोगी रहा, क्योंकि दूसरे मॉडल में पहले की तुलना में अधिक रिजिडुअल मान सीधी रेखा पर हैं।
मल्टिपल लीनियर रिग्रेशन मॉडलों की तुलना कैसे करें
अब प्रश्न यह है: इन दो मल्टिपल लीनियर रिग्रेशन मॉडलों में से बेहतर कौन-सा है?
इसका उत्तर देने का एक तरीका है दोनों मॉडलों का ANOVA (विश्लेषणात्मक वैरिएंस) परीक्षण चलाना। यह शून्य परिकल्पना (H0) की जाँच करता है, जिसमें पहले हटाए गए वेरिएबल्स का कोई महत्त्व नहीं है, बनाम वैकल्पिक परिकल्पना (H1) कि वे वेरिएबल्स महत्त्वपूर्ण हैं।
यदि नया मॉडल मूल मॉडल का सुधार है, तो हम H0 को अस्वीकार करने में विफल रहते हैं। यदि ऐसा नहीं है, तो इसका अर्थ है कि वे वेरिएबल्स महत्त्वपूर्ण थे; अतः, हम H0 को अस्वीकार करते हैं।
सामान्य अभिव्यक्ति है: anova(original_model, new_model)
# Anova test
anova(cust_value_model, second_model)संचालित द्वारा
ANOVA परीक्षण परिणाम (छवि: लेखक)
ANOVA परिणाम से हम देखते हैं कि p-वैल्यू (8.0893e-316) बहुत छोटा है (0.05 से कम), इसलिए हम शून्य परिकल्पना को अस्वीकार करते हैं, यानी दूसरा मॉडल पहले का सुधार नहीं है।
मॉडल में महत्त्वपूर्ण वेरिएबल्स को देखने का एक और तरीका सिग्निफिकेंस टेस्ट है।
किसी वेरिएबल को महत्त्वपूर्ण माना जाएगा यदि उसकी p-वैल्यू 0.05 से कम है। यह परिणाम summary() फ़ंक्शन से प्राप्त किया जा सकता है। यह फ़ंक्शन मॉडल की जानकारी देने के अलावा एडजस्टेड R-square भी देता है, जो मॉडलों की आपस में तुलना करने में मदद करता है।
# Print the result of the model
summary(cust_value_model)संचालित द्वारा
सभी प्रेडिक्टर्स वाले मूल मॉडल का सारांश परिणाम (छवि: लेखक)
तालिका में दो प्रमुख खंड हैं: Residuals और Coefficients। Q-Q प्लॉट्स, Residuals खंड के समान जानकारी देते हैं। Coefficients खंड में, Call_Failure, Complaints, और Age_Group को मॉडल द्वारा महत्त्वपूर्ण नहीं माना गया क्योंकि उनकी p-वैल्यू 0.05 से अधिक है। इन्हें रखने से मॉडल को कोई अतिरिक्त मूल्य नहीं मिलता।
उसी विश्लेषण को दूसरे मॉडल पर लागू करने पर हमें यह परिणाम मिलता है:
सभी प्रेडिक्टर्स वाले दूसरे मॉडल का सारांश परिणाम (छवि: लेखक)
मूल मॉडल का एडजस्टेड R-square 0.98 है, जो दूसरे मॉडल के एडजस्टेड R-square (0.97) से अधिक है। इसका अर्थ है कि सभी प्रेडिक्टर्स वाला मूल मॉडल दूसरे मॉडल से बेहतर है।
मल्टिपल लीनियर रिग्रेशन मॉडल में सुधार करें
इस विश्लेषण का तार्किक अगला कदम है गैर-महत्त्वपूर्ण वेरिएबल्स को हटाकर मॉडल को फिर से फिट करना और देखना कि प्रदर्शन सुधरता है या नहीं।
यह सभी फीचर्स से शुरू होता है, फिर एक-एक करके सबसे खराब प्रेडिक्टर्स को हटाता जाता है जब तक कि यह सर्वश्रेष्ठ मॉडल न ढूंढ ले। AIC स्कोर जितना छोटा, मॉडल उतना बेहतर। इसे stepAIC() फ़ंक्शन से किया जा सकता है।
निष्कर्ष
इस ट्यूटोरियल में मल्टिपल लीनियर रिग्रेशन के मुख्य पहलुओं को कवर किया गया और मज़बूत मॉडल बनाने की कुछ रणनीतियों की पड़ताल की गई।
हमें उम्मीद है कि यह ट्यूटोरियल आपको अपने डेटा से क्रियान्वयन योग्य इनसाइट्स निकालने के लिए आवश्यक कौशल देगा। आप हमारे वर्कस्पेस पर उपलब्ध सोर्स कोड का उपयोग करके विभिन्न तरीकों से इन मॉडलों में सुधार करने का प्रयास कर सकते हैं।
R में मल्टिपल लीनियर रिग्रेशन से जुड़े सामान्य प्रश्न
मल्टिपल लीनियर रिग्रेशन से किस तरह की समस्याएँ हल की जा सकती हैं?⌄
मल्टिपल लीनियर रिग्रेशन विश्लेषण तीन प्रमुख प्रकार की समस्याओं को हल करता है — (1) कारणात्मक विश्लेषण, (2) प्रभाव का पूर्वानुमान, और (3) रुझान पूर्वानुमान।
मल्टिपल लीनियर रिग्रेशन का लाभ क्या है?⌄
यह प्रत्येक व्यक्तिगत प्रेडिक्टर और आश्रित वेरिएबल के बीच संबंध की अधिक सटीक और स्पष्ट समझ दे सकता है।
मल्टिपल लीनियर रिग्रेशन को "मल्टिपल" क्यों कहा जाता है?⌄
क्योंकि इसमें कम-से-कम दो प्रेडिक्टर वेरिएबल्स की आवश्यकता होती है।
बहु-प्रतिभाशाली डेटा साइंटिस्ट जो अपना ज्ञान साझा करने और समुदाय को वापस देने में आनंद लेते हैं, ज़ूमाना YouTube पर कंटेंट क्रिएटर हैं और Medium पर शीर्ष तकनीकी लेखक हैं। उन्हें बोलने, कोडिंग करने और पढ़ाने में खुशी मिलती है। ज़ूमाना के पास दो मास्टर डिग्री हैं—पहली पेरिस, फ्रांस से कंप्यूटर साइंस में, मशीन लर्निंग पर केंद्रित, और दूसरी अमेरिका के टेक्सास टेक यूनिवर्सिटी से डेटा साइंस में। उनका करियर फ्रांस में Groupe OPEN में सॉफ्टवेयर डेवलपर के रूप में शुरू हुआ, जिसके बाद वे IBM में मशीन लर्निंग कंसल्टेंट बने, जहाँ उन्होंने बीमा कंपनियों के लिए एंड-टू-एंड एआई समाधान विकसित किए। ज़ूमाना ने Axionable, पेरिस और मॉन्ट्रियल स्थित पहली Sustainable AI स्टार्टअप, से जुड़कर डेटा साइंटिस्ट के रूप में काम किया और फ्रांस, मॉन्ट्रियल, सिंगापुर और स्विट्ज़रलैंड के क्लाइंट्स के लिए मुख्यतः NLP उपयोग मामलों पर आधारित एआई प्रोडक्ट्स लागू किए। इसके अतिरिक्त, अपने समय का 5% उन्होंने अनुसंधान और विकास को समर्पित किया। वर्तमान में, वे IFC - The World Bank Group में सीनियर डेटा साइंटिस्ट के रूप में कार्यरत हैं।
रिग्रेशन विधियाँ विभिन्न उद्योगों में यह समझने के लिए उपयोग होती हैं कि किन वेरिएबल्स का किसी रुचि-विशेष विषय पर प्रभाव पड़ता है।
उदाहरण के लिए, अर्थशास्त्री उपभोक्ता खर्च और सकल घरेलू उत्पाद (GDP) वृद्धि के बीच संबंध का विश्लेषण करने के लिए उनका उपयोग कर सकते हैं। जन स्वास्थ्य अधिकारी ऐतिहासिक जानकारी के आधार पर व्यक्तियों की लागत को समझना चाह सकते हैं। दोनों ही स्थितियों में, फोकस व्यक्तिगत परिदृश्यों का पूर्वानुमान लगाने पर नहीं, बल्कि समग्र संबंध का एक अवलोकन प्राप्त करने पर होता है।
इस लेख में, हम रिग्रेशन का सामान्य समझ से शुरुआत करेंगे। इसके बाद, हम बताएँगे कि सिंपल और मल्टिपल लीनियर रिग्रेशन में क्या अंतर है, और फिर तकनीकी इम्प्लीमेंटेशन में उतरते हुए ऐसे टूल्स देंगे जो रिग्रेशन परिणामों को समझने और व्याख्या करने में मदद करें।
मल्टिपल लीनियर रिग्रेशन क्या है?
मल्टिपल लीनियर रिग्रेशन में जाने से पहले, यह समझते हैं कि सिंपल लीनियर रिग्रेशन क्या होता है—मल्टिपल लीनियर रिग्रेशन, सिंपल लीनियर रिग्रेशन का ही विस्तार है।
सिंपल लीनियर रिग्रेशन बनाम मल्टिपल लीनियर रिग्रेशन
सिंपल लीनियर रिग्रेशन एक स्वतंत्र वेरिएबल
Xऔर आश्रित वेरिएबलYके परिमाण के बीच संबंध को मॉडल करने का प्रयास करता है, जिसमें यह अनुमान लगाया जाता है कि जबXएक निश्चित मात्रा से बदलता है तोYकितनी बदलेगा।स्वतंत्र वेरिएबल
X, जिसे प्रेडिक्टर भी कहा जाता है, वही वेरिएबल है जिसका उपयोग पूर्वानुमान लगाने के लिए किया जाता है।आश्रित वेरिएबल
Y, जिसे रिस्पॉन्स भी कहा जाता है, वही है जिसे हम पूर्वानुमानित करना चाहते हैं।लीनियर रिग्रेशन का “लीनियर” पहलू यह है कि हम निम्न “रेखीय” समीकरण का उपयोग करके
XसेYका अनुमान लगाते हैं।Y = b0 + b1Xb0रिग्रेशन रेखा का इंटरसेप्ट है, जो उस अनुमानित मान के अनुरूप है जबXशून्य हो।b1रिग्रेशन रेखा का स्लोप है।तो, मल्टिपल लीनियर रिग्रेशन के बारे में क्या?
यह कई वेरिएबल्स के साथ लीनियर रिग्रेशन का उपयोग है, और इसकी समीकरण है:
Y = b0 + b1X1 + b2X2 + b3X3 + … + bnXn + eYऔरb0सिंपल लीनियर रिग्रेशन मॉडल के जैसे ही हैं।b1X1पहले स्वतंत्र वेरिएबल (X1) पर रिग्रेशन गुणांक (b1) को दर्शाता है। यही विश्लेषण शेष सभी गुणांकों और वेरिएबल्स पर लागू होता है।eमॉडल एरर (रिजिडुअल्स) है, जो यह परिभाषित करता है किYका अनुमान लगाते समय मॉडल में कितनी भिन्नता आती है।मल्टिपल रिग्रेशन के मामले में हमें हमेशा सीधी रेखा नहीं मिलती। फिर भी, हम अधिक उपयुक्त मॉडल फिट करके रेखा के आकार को नियंत्रित कर सकते हैं।
प्रत्येक प्रेडिक्टर के लिए बेस्ट-फिट रेखा खोजने हेतु मल्टिपल लीनियर रिग्रेशन द्वारा कुछ मुख्य तत्वों की गणना की जाती है:
मल्टिपल लीनियर रिग्रेशन की मान्यताएँ
मल्टिपल लीनियर रिग्रेशन मॉडल बनाते समय एक महत्त्वपूर्ण पहलू यह सुनिश्चित करना है कि निम्नलिखित प्रमुख मान्यताएँ पूरी होती हों।
अगले भागों में, हम इन मान्यताओं में से कुछ को कवर करेंगे।
R में मल्टिपल लीनियर रिग्रेशन: स्टेप-बाय-स्टेप गाइड
इस खंड में, हम R प्रोग्रामिंग भाषा का उपयोग करके मल्टिपल लीनियर रिग्रेशन मॉडल के तकनीकी इम्प्लीमेंटेशन में उतरेंगे।
हम DataCamp के वर्कस्पेस का कस्टमर चर्न डेटा सेट उपयोग करेंगे ताकि ग्राहक मूल्य का अनुमान लगाया जा सके।
कस्टमर वैल्यू से हमारा क्या आशय है? मूलतः, यह बताता है कि किसी ग्राहक के लिए कोई प्रोडक्ट या सेवा कितनी मूल्यवान है, और इसे इस प्रकार गणना कर सकते हैं:
Customer Value = Benefit — Cost.जहाँ Benefit और Cost क्रमशः किसी उत्पाद या सेवा का लाभ और लागत हैं।यदि कंपनी अधिक लाभ और कम लागत, या आदर्श रूप से दोनों का संयोजन दे सके, तो यह मान अधिक होगा।
यह विश्लेषण व्यवसाय को किसी दिए गए ग्राहक के मूल्य के आधार पर सबसे आशाजनक लक्ष्य-निर्धारण अवसर या अगला सर्वोत्तम कदम पहचानने में मदद कर सकता है।
त्वरित डेटा अन्वेषण
डेटा सेट का त्वरित अवलोकन कर लेते हैं ताकि मॉडल फिट करने से पहले उपयुक्त प्रीप्रोसेसिंग लागू कर सकें।
डेटा की पहली 6 पंक्तियाँ (लेखक द्वारा एनिमेशन)
उपरोक्त परिणामों से हम देख सकते हैं कि डेटा सेट में 3150 ऑब्जर्वेशंस और 14 कॉलम हैं।
हालाँकि, समस्या कथन के आधार पर, हमें churn कॉलम की आवश्यकता नहीं होगी क्योंकि हम अब रिग्रेशन समस्या से निपट रहे हैं।
मॉडल फिट करने से पहले, कॉलम नामों में मौजूद स्पेस को अंडरस्कोर से बदलकर उन्हें प्रीप्रोसेस कर लेते हैं, ताकि हर बार वेरिएबल नामों के चारों ओर डबल कोट लिखने से बचा जा सके।
कॉलम नाम रूपांतरण के बाद पहली 6 पंक्तियाँ (लेखक द्वारा एनिमेशन)
मल्टिपल लीनियर रिग्रेशन मॉडल फिट करना
नए फॉर्मेट वाले इस डेटा के साथ, हम इसे R में
lm()फ़ंक्शन का उपयोग करके मल्टिपल रिग्रेशन फ्रेमवर्क में इस प्रकार फिट कर सकते हैं:आइए समझते हैं हमने यहाँ क्या किया।
lm()फ़ंक्शन का फ़ॉर्मेट इस प्रकार है:lm(formula = Y ~Sum(Xi), data = our_data)Y,
Customer_Valueकॉलम है क्योंकि हम उसी का अनुमान लगाने की कोशिश कर रहे हैं।Sum(Xi) मल्टिपल लीनियर रिग्रेशन समीकरण में समेशन अभिव्यक्ति का प्रतिनिधित्व करता है।
our_dataहैchurn_data।हमारे Intermediate Regression in R कोर्स से और जानें।
R का एक विकल्प है Python: Intermediate Regression with statsmodels in Python। दोनों ही आपको मल्टिपल एक्सप्लेनेटीरी वेरिएबल्स के साथ लीनियर और लॉजिस्टिक रिग्रेशन सिखाते हैं।
मल्टिपल लीनियर रिग्रेशन मॉडल हमें क्या बताता है?
अब जबकि हमने मॉडल बना लिया है, अगला कदम मान्यताओं की जाँच और परिणामों की व्याख्या करना है। सरलता के लिए, हम सभी पहलुओं को कवर नहीं करेंगे।
मॉडल रिजिडुअल्स का वितरण
इसे R में
hist()फ़ंक्शन का उपयोग करके दिखाया जा सकता है।मॉडल रिजिडुअल्स का वितरण (छवि: लेखक)
हिस्टोग्राम बाएँ ओर स्क्यूड दिखता है; इसलिए, हम सामान्यता पर पर्याप्त विश्वास के साथ निष्कर्ष नहीं निकाल सकते। हिस्टोग्राम के बजाय, नॉर्मल Q-Q प्लॉट के साथ रिजिडुअल्स देखते हैं। यदि सामान्यता है, तो मान सीधी रेखा का अनुसरण करेंगे।
Q-Q प्लॉट और रिजिडुअल्स (छवि: लेखक)
प्लॉट से हम देखते हैं कि रिजिडुअल्स के कुछ हिस्से सीधी रेखा पर हैं। तब हम मान सकते हैं कि मॉडल के रिजिडुअल्स सामान्य वितरण का पालन नहीं करते।
मल्टीकोलाइनियरिटी मान्यता की जाँच
यह निम्न R कोड के माध्यम से किया जाता है। लेकिन उससे पहले हमें
Customer_Valueकॉलम हटाना होगा।डेटा से कोरिलेशन परिणाम (छवि: लेखक)
हम दो मज़बूत कोरिलेशन देख सकते हैं क्योंकि उनके मान 0.8 से अधिक हैं।
AgeऔरAge_Group: 0.96Frequency_of_useऔरSeconds_of_Use: 0.95यह परिणाम तर्कसंगत है क्योंकि
Age_GroupकोAgeसे निकाला गया है। इसी तरह, कुल सेकंड्स (Seconds_of_Use) कुल कॉल्स (Frequency_of_Use) से व्युत्पन्न हैं।इस स्थिति में, हम डेटा सेट से
Age_GroupऔरSeconds_of_Useको हटा सकते हैं।आइए उन दोनों वेरिएबल्स के बिना दूसरा मॉडल बनाने की कोशिश करते हैं।
पहले मॉडल (बाएँ) और दूसरे मॉडल (दाएँ) के Q-Q प्लॉट्स
हम देख सकते हैं कि डेटा से मल्टीकोलाइनियरिटी हटाना उपयोगी रहा, क्योंकि दूसरे मॉडल में पहले की तुलना में अधिक रिजिडुअल मान सीधी रेखा पर हैं।
मल्टिपल लीनियर रिग्रेशन मॉडलों की तुलना कैसे करें
अब प्रश्न यह है: इन दो मल्टिपल लीनियर रिग्रेशन मॉडलों में से बेहतर कौन-सा है?
इसका उत्तर देने का एक तरीका है दोनों मॉडलों का ANOVA (विश्लेषणात्मक वैरिएंस) परीक्षण चलाना। यह शून्य परिकल्पना (H0) की जाँच करता है, जिसमें पहले हटाए गए वेरिएबल्स का कोई महत्त्व नहीं है, बनाम वैकल्पिक परिकल्पना (H1) कि वे वेरिएबल्स महत्त्वपूर्ण हैं।
यदि नया मॉडल मूल मॉडल का सुधार है, तो हम H0 को अस्वीकार करने में विफल रहते हैं। यदि ऐसा नहीं है, तो इसका अर्थ है कि वे वेरिएबल्स महत्त्वपूर्ण थे; अतः, हम H0 को अस्वीकार करते हैं।
सामान्य अभिव्यक्ति है:
anova(original_model, new_model)ANOVA परीक्षण परिणाम (छवि: लेखक)
ANOVA परिणाम से हम देखते हैं कि p-वैल्यू (8.0893e-316) बहुत छोटा है (0.05 से कम), इसलिए हम शून्य परिकल्पना को अस्वीकार करते हैं, यानी दूसरा मॉडल पहले का सुधार नहीं है।
मॉडल में महत्त्वपूर्ण वेरिएबल्स को देखने का एक और तरीका सिग्निफिकेंस टेस्ट है।
किसी वेरिएबल को महत्त्वपूर्ण माना जाएगा यदि उसकी p-वैल्यू 0.05 से कम है। यह परिणाम
summary()फ़ंक्शन से प्राप्त किया जा सकता है। यह फ़ंक्शन मॉडल की जानकारी देने के अलावा एडजस्टेड R-square भी देता है, जो मॉडलों की आपस में तुलना करने में मदद करता है।सभी प्रेडिक्टर्स वाले मूल मॉडल का सारांश परिणाम (छवि: लेखक)
तालिका में दो प्रमुख खंड हैं:
ResidualsऔरCoefficients। Q-Q प्लॉट्स,Residualsखंड के समान जानकारी देते हैं।Coefficientsखंड में,Call_Failure,Complaints, औरAge_Groupको मॉडल द्वारा महत्त्वपूर्ण नहीं माना गया क्योंकि उनकी p-वैल्यू 0.05 से अधिक है। इन्हें रखने से मॉडल को कोई अतिरिक्त मूल्य नहीं मिलता।उसी विश्लेषण को दूसरे मॉडल पर लागू करने पर हमें यह परिणाम मिलता है:
सभी प्रेडिक्टर्स वाले दूसरे मॉडल का सारांश परिणाम (छवि: लेखक)
मूल मॉडल का एडजस्टेड R-square 0.98 है, जो दूसरे मॉडल के एडजस्टेड R-square (0.97) से अधिक है। इसका अर्थ है कि सभी प्रेडिक्टर्स वाला मूल मॉडल दूसरे मॉडल से बेहतर है।
मल्टिपल लीनियर रिग्रेशन मॉडल में सुधार करें
इस विश्लेषण का तार्किक अगला कदम है गैर-महत्त्वपूर्ण वेरिएबल्स को हटाकर मॉडल को फिर से फिट करना और देखना कि प्रदर्शन सुधरता है या नहीं।
प्रासंगिक प्रेडिक्टर्स को कुशलतापूर्वक चुनने की एक और रणनीति है Akaike Information Criteria (AIC)।
यह सभी फीचर्स से शुरू होता है, फिर एक-एक करके सबसे खराब प्रेडिक्टर्स को हटाता जाता है जब तक कि यह सर्वश्रेष्ठ मॉडल न ढूंढ ले। AIC स्कोर जितना छोटा, मॉडल उतना बेहतर। इसे stepAIC() फ़ंक्शन से किया जा सकता है।
निष्कर्ष
इस ट्यूटोरियल में मल्टिपल लीनियर रिग्रेशन के मुख्य पहलुओं को कवर किया गया और मज़बूत मॉडल बनाने की कुछ रणनीतियों की पड़ताल की गई।
हमें उम्मीद है कि यह ट्यूटोरियल आपको अपने डेटा से क्रियान्वयन योग्य इनसाइट्स निकालने के लिए आवश्यक कौशल देगा। आप हमारे वर्कस्पेस पर उपलब्ध सोर्स कोड का उपयोग करके विभिन्न तरीकों से इन मॉडलों में सुधार करने का प्रयास कर सकते हैं।