आर स्टेपवाइज और मल्टीपल लीनियर रिग्रेशन [चरण दर चरण उदाहरण]
आर में सरल रेखीय प्रतिगमन
रैखिक प्रतिगमन एक सरल प्रश्न का उत्तर देता है: क्या आप एक लक्ष्य चर और भविष्यवाणियों के एक समूह के बीच सटीक संबंध को माप सकते हैं?
संभाव्यता मॉडल का सबसे सरलतम मॉडल सीधी रेखा मॉडल है:
जहां
- y = आश्रित चर
- x = स्वतंत्र चर
-
= यादृच्छिक त्रुटि घटक
-
= अवरोधन
-
= x का गुणांक
निम्नलिखित कथानक पर विचार करें:
समीकरण है अवरोध है। यदि x 0 के बराबर है, तो y अवरोध के बराबर होगा, 4.77. रेखा का ढलान है। यह बताता है कि x के बदलने पर y किस अनुपात में बदलता है।
के इष्टतम मूल्यों का अनुमान लगाने के लिए और
, आप नामक विधि का उपयोग करते हैं साधारण जानवर वर्ग (OLS)यह विधि उन मापदंडों को खोजने का प्रयास करती है जो वर्ग त्रुटियों के योग को न्यूनतम करते हैं, अर्थात पूर्वानुमानित y मानों और वास्तविक y मानों के बीच ऊर्ध्वाधर दूरी। अंतर को के रूप में जाना जाता है त्रुटि शब्द.
मॉडल का अनुमान लगाने से पहले, आप स्कैटरप्लॉट बनाकर यह निर्धारित कर सकते हैं कि y और x के बीच रैखिक संबंध संभव है या नहीं।
स्कैटर प्लॉट
हम सरल रेखीय प्रतिगमन की अवधारणा को समझाने के लिए एक बहुत ही सरल डेटासेट का उपयोग करेंगे। हम अमेरिकी महिलाओं के लिए औसत ऊँचाई और वजन आयात करेंगे। डेटासेट में 15 अवलोकन हैं। आप मापना चाहते हैं कि क्या ऊँचाई वजन के साथ सकारात्मक रूप से सहसंबंधित है।
library(ggplot2) path <- 'https://raw.githubusercontent.com/guru99-edu/R-Programming/master/women.csv' df <-read.csv(path) ggplot(df,aes(x=height, y = weight))+ geom_point()
आउटपुट:
स्कैटरप्लॉट x के बढ़ने पर y के बढ़ने की सामान्य प्रवृत्ति का सुझाव देता है। अगले चरण में, आप मापेंगे कि प्रत्येक अतिरिक्त के लिए कितनी वृद्धि होती है।
न्यूनतम वर्ग अनुमान
एक सरल ओएलएस प्रतिगमन में, की गणना और
सीधा है। इस ट्यूटोरियल में लक्ष्य व्युत्पत्ति दिखाना नहीं है। आप केवल सूत्र लिखेंगे।
आप अनुमान लगाना चाहते हैं:
ओएलएस प्रतिगमन का लक्ष्य निम्नलिखित समीकरण को न्यूनतम करना है:
जहां
वास्तविक मूल्य है और
पूर्वानुमानित मूल्य है.
के लिए समाधान is
ध्यान दें कि x का औसत मान मतलब है
के लिए समाधान is
R में, आप अनुमान लगाने के लिए cov()और var()फ़ंक्शन का उपयोग कर सकते हैं और आप अनुमान लगाने के लिए mean() फ़ंक्शन का उपयोग कर सकते हैं
beta <- cov(df$height, df$weight) / var (df$height) beta
आउटपुट:
##[1] 3.45
alpha <- mean(df$weight) - beta * mean(df$height) alpha
आउटपुट:
## [1] -87.51667
बीटा गुणांक का तात्पर्य है कि प्रत्येक अतिरिक्त ऊंचाई के लिए, वजन 3.45 से बढ़ जाता है।
सरल रेखीय समीकरण का मैन्युअल रूप से अनुमान लगाना आदर्श नहीं है। R इन मापदंडों का अनुमान लगाने के लिए एक उपयुक्त फ़ंक्शन प्रदान करता है। आप इस फ़ंक्शन को जल्द ही देखेंगे। उससे पहले, हम आपको बताएंगे कि हाथ से एक सरल रैखिक प्रतिगमन मॉडल की गणना कैसे की जाती है। डेटा वैज्ञानिक के रूप में अपने सफ़र में, आप शायद ही कभी या कभी भी एक सरल रैखिक मॉडल का अनुमान नहीं लगा पाएंगे। ज़्यादातर परिस्थितियों में, प्रतिगमन कार्य बहुत सारे अनुमानकों पर किए जाते हैं।
आर में बहु रैखिक प्रतिगमन
प्रतिगमन विश्लेषण के अधिक व्यावहारिक अनुप्रयोग ऐसे मॉडल का उपयोग करते हैं जो सरल सीधी रेखा मॉडल की तुलना में अधिक जटिल होते हैं। संभाव्यता मॉडल जिसमें एक से अधिक स्वतंत्र चर शामिल होते हैं, उसे कहा जाता है बहु प्रतिगमन मॉडलइस मॉडल का सामान्य रूप है:
मैट्रिक्स संकेतन में, आप मॉडल को पुनः लिख सकते हैं:
आश्रित चर y अब k स्वतंत्र चरों का एक फलन है। गुणांक का मान स्वतंत्र चर का योगदान निर्धारित करता है
और
.
हम यादृच्छिक त्रुटि के बारे में अपनी धारणा का संक्षेप में परिचय देते हैं ओएलएस का:
- माध्य 0 के बराबर
- विचरण बराबर
- सामान्य वितरण
- यादृच्छिक त्रुटियाँ स्वतंत्र होती हैं (संभाव्य अर्थ में)
आपको इसका समाधान करना होगा , प्रतिगमन गुणांकों का सदिश जो पूर्वानुमानित और वास्तविक y मानों के बीच वर्ग त्रुटियों के योग को न्यूनतम करता है।
बंद-रूप समाधान है:
संग:
- इंगित करता है खिसकाना मैट्रिक्स X का
इंगित करता है उलटा मैट्रिक्स
हम mtcars डेटासेट का उपयोग करते हैं। आप पहले से ही डेटासेट से परिचित हैं। हमारा लक्ष्य सुविधाओं के एक सेट पर प्रति गैलन मील की भविष्यवाणी करना है।
आर में सतत चर
अभी के लिए, आप केवल निरंतर चर का उपयोग करेंगे और श्रेणीबद्ध विशेषताओं को अलग रखेंगे। चर am एक बाइनरी चर है जो मैनुअल ट्रांसमिशन होने पर 1 का मान लेता है और ऑटोमैटिक कारों के लिए 0; vs भी एक बाइनरी चर है।
library(dplyr) df <- mtcars % > % select(-c(am, vs, cyl, gear, carb)) glimpse(df)
आउटपुट:
## Observations: 32 ## Variables: 6 ## $ mpg <dbl> 21.0, 21.0, 22.8, 21.4, 18.7, 18.1, 14.3, 24.4, 22.8, 19.... ## $ disp <dbl> 160.0, 160.0, 108.0, 258.0, 360.0, 225.0, 360.0, 146.7, 1... ## $ hp <dbl> 110, 110, 93, 110, 175, 105, 245, 62, 95, 123, 123, 180, ... ## $ drat <dbl> 3.90, 3.90, 3.85, 3.08, 3.15, 2.76, 3.21, 3.69, 3.92, 3.9... ## $ wt <dbl> 2.620, 2.875, 2.320, 3.215, 3.440, 3.460, 3.570, 3.190, 3... ## $ qsec <dbl> 16.46, 17.02, 18.61, 19.44, 17.02, 20.22, 15.84, 20.00, 2...
आप पैरामीटर की गणना करने के लिए lm() फ़ंक्शन का उपयोग कर सकते हैं। इस फ़ंक्शन का मूल सिंटैक्स है:
lm(formula, data, subset) Arguments: -formula: The equation you want to estimate -data: The dataset used -subset: Estimate the model on a subset of the dataset
याद रखें कि समीकरण निम्न रूप का होता है
आर में
- प्रतीक = को ~ से प्रतिस्थापित किया गया है
- प्रत्येक x को चर नाम से प्रतिस्थापित किया जाता है
- यदि आप स्थिरांक हटाना चाहते हैं, तो सूत्र के अंत में -1 जोड़ें
उदाहरण:
आप व्यक्तियों की ऊंचाई और आय के आधार पर उनके वजन का अनुमान लगाना चाहते हैं। समीकरण है
R में समीकरण इस प्रकार लिखा जाता है:
y ~ X1+ X2+…+Xn # अवरोधन सहित
तो हमारे उदाहरण के लिए:
- वजन ~ ऊंचाई + राजस्व
आपका उद्देश्य चरों के एक सेट के आधार पर प्रति गैलन मील का अनुमान लगाना है। अनुमान लगाने के लिए समीकरण है:
आप अपने पहले रैखिक प्रतिगमन का अनुमान लगाएंगे और परिणाम को फिट ऑब्जेक्ट में संग्रहीत करेंगे।
model <- mpg~.disp + hp + drat + wt fit <- lm(model, df) fit
कोड स्पष्टीकरण
- मॉडल <- mpg ~. disp + hp + drat + wt: अनुमान लगाने के लिए मॉडल को संग्रहीत करें
- lm(मॉडल, df): डेटा फ़्रेम df के साथ मॉडल का अनुमान लगाएं
## ## Call: ## lm(formula = model, data = df) ## ## Coefficients: ## (Intercept) disp hp drat wt ## 16.53357 0.00872 -0.02060 2.01577 -4.38546 ## qsec ## 0.64015
आउटपुट फिट की गुणवत्ता के बारे में पर्याप्त जानकारी प्रदान नहीं करता है। आप summary() फ़ंक्शन के साथ गुणांकों के महत्व, स्वतंत्रता की डिग्री और अवशिष्टों के आकार जैसे अधिक विवरणों तक पहुँच सकते हैं।
summary(fit)
आउटपुट:
## return the p-value and coefficient ## ## Call: ## lm(formula = model, data = df) ## ## Residuals: ## Min 1Q Median 3Q Max ## -3.5404 -1.6701 -0.4264 1.1320 5.4996 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 16.53357 10.96423 1.508 0.14362 ## disp 0.00872 0.01119 0.779 0.44281 ## hp -0.02060 0.01528 -1.348 0.18936 ## drat 2.01578 1.30946 1.539 0.13579 ## wt -4.38546 1.24343 -3.527 0.00158 ** ## qsec 0.64015 0.45934 1.394 0.17523 ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 2.558 on 26 degrees of freedom ## Multiple R-squared: 0.8489, Adjusted R-squared: 0.8199 ## F-statistic: 29.22 on 5 and 26 DF, p-value: 6.892e-10
उपरोक्त तालिका आउटपुट से निष्कर्ष
- उपरोक्त तालिका यह साबित करती है कि वजन और माइलेज के बीच एक मजबूत नकारात्मक संबंध है और डीआरएटी के साथ सकारात्मक संबंध है।
- केवल चर wt का mpg पर सांख्यिकीय प्रभाव होता है। याद रखें, सांख्यिकी में परिकल्पना का परीक्षण करने के लिए, हम उपयोग करते हैं:
- H0: कोई सांख्यिकीय प्रभाव नहीं
- H3: भविष्यवक्ता का आपके जीवन पर सार्थक प्रभाव पड़ता है
- यदि p मान 0.05 से कम है, तो यह इंगित करता है कि चर सांख्यिकीय रूप से महत्वपूर्ण है
- समायोजित आर-स्क्वायर्ड: मॉडल द्वारा समझाया गया विचरण। आपके मॉडल में, मॉडल ने y के विचरण का 82 प्रतिशत समझाया। आर स्क्वायर्ड हमेशा 0 और 1 के बीच होता है। जितना अधिक होगा उतना बेहतर होगा
आप दौड़ सकते हैं एनोवा anova() फ़ंक्शन के साथ विचरणों पर प्रत्येक विशेषता के प्रभाव का अनुमान लगाने के लिए परीक्षण करें।
anova(fit)
आउटपुट:
## Analysis of Variance Table ## ## Response: mpg ## Df Sum Sq Mean Sq F value Pr(>F) ## disp 1 808.89 808.89 123.6185 2.23e-11 *** ## hp 1 33.67 33.67 5.1449 0.031854 * ## drat 1 30.15 30.15 4.6073 0.041340 * ## wt 1 70.51 70.51 10.7754 0.002933 ** ## qsec 1 12.71 12.71 1.9422 0.175233 ## Residuals 26 170.13 6.54 ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
मॉडल के प्रदर्शन का अनुमान लगाने का एक अधिक पारंपरिक तरीका विभिन्न मापों के विरुद्ध अवशिष्ट को प्रदर्शित करना है।
आप चार ग्राफ़ दिखाने के लिए plot() फ़ंक्शन का उपयोग कर सकते हैं:
– अवशिष्ट बनाम फिट मूल्य
– सामान्य QQ प्लॉट: सैद्धांतिक चतुर्थक बनाम मानकीकृत अवशिष्ट
- स्केल-स्थान: मानकीकृत अवशिष्टों के वर्गमूल बनाम फिट किए गए मान
– अवशिष्ट बनाम उत्तोलन: उत्तोलन बनाम मानकीकृत अवशिष्ट
आप plot(fit) से पहले par(mfrow=c(2,2)) कोड जोड़ते हैं। यदि आप कोड की यह लाइन नहीं जोड़ते हैं, तो R आपको अगला ग्राफ प्रदर्शित करने के लिए एंटर कमांड दबाने के लिए संकेत देता है।
par(mfrow=(2,2))
कोड स्पष्टीकरण
- (mfrow=c(2,2)): चार ग्राफों को साथ-साथ दिखाते हुए एक विंडो लौटाता है।
- पहले 2 पंक्तियों की संख्या जोड़ते हैं
- दूसरा 2 स्तंभों की संख्या जोड़ता है।
- यदि आप (mfrow=c(3,2)) लिखते हैं: तो आप 3 पंक्तियों 2 कॉलम वाली विंडो बनाएंगे
plot(fit)
आउटपुट:
lm() फ़ॉर्मूला बहुत सारी उपयोगी जानकारी वाली सूची लौटाता है। आप उन्हें अपने द्वारा बनाए गए फ़िट ऑब्जेक्ट, उसके बाद $ चिह्न और वह जानकारी जिसे आप निकालना चाहते हैं, के साथ एक्सेस कर सकते हैं।
– गुणांक: `fit$coefficients`
– अवशिष्ट: `fit$residuals`
- फिट किया गया मान: `fit$fitted.values`
आर में कारक प्रतिगमन
अंतिम मॉडल अनुमान में, आप केवल निरंतर चर पर mpg को पुनः प्राप्त करते हैं। मॉडल में कारक चर जोड़ना सीधा है। आप अपने मॉडल में चर am जोड़ते हैं। यह सुनिश्चित करना महत्वपूर्ण है कि चर एक कारक स्तर है और निरंतर नहीं है।
df <- mtcars % > % mutate(cyl = factor(cyl), vs = factor(vs), am = factor(am), gear = factor(gear), carb = factor(carb)) summary(lm(model, df))
आउटपुट:
## ## Call: ## lm(formula = model, data = df) ## ## Residuals: ## Min 1Q Median 3Q Max ## -3.5087 -1.3584 -0.0948 0.7745 4.6251 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 23.87913 20.06582 1.190 0.2525 ## cyl6 -2.64870 3.04089 -0.871 0.3975 ## cyl8 -0.33616 7.15954 -0.047 0.9632 ## disp 0.03555 0.03190 1.114 0.2827 ## hp -0.07051 0.03943 -1.788 0.0939 . ## drat 1.18283 2.48348 0.476 0.6407 ## wt -4.52978 2.53875 -1.784 0.0946 . ## qsec 0.36784 0.93540 0.393 0.6997 ## vs1 1.93085 2.87126 0.672 0.5115 ## am1 1.21212 3.21355 0.377 0.7113 ## gear4 1.11435 3.79952 0.293 0.7733 ## gear5 2.52840 3.73636 0.677 0.5089 ## carb2 -0.97935 2.31797 -0.423 0.6787 ## carb3 2.99964 4.29355 0.699 0.4955 ## carb4 1.09142 4.44962 0.245 0.8096 ## carb6 4.47757 6.38406 0.701 0.4938 ## carb8 7.25041 8.36057 0.867 0.3995 ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 2.833 on 15 degrees of freedom ## Multiple R-squared: 0.8931, Adjusted R-squared: 0.779 ## F-statistic: 7.83 on 16 and 15 DF, p-value: 0.000124
आर पहले कारक स्तर को आधार समूह के रूप में उपयोग करता है। आपको आधार समूह के विरुद्ध दूसरे समूह के गुणांकों की तुलना करनी होगी।
आर में चरणबद्ध रैखिक प्रतिगमन
इस ट्यूटोरियल का अंतिम भाग निम्नलिखित से संबंधित है चरणबद्ध प्रतिगमन एल्गोरिथ्म। इस एल्गोरिथ्म का उद्देश्य मॉडल में संभावित उम्मीदवारों को जोड़ना और हटाना है और उन लोगों को रखना है जिनका आश्रित चर पर महत्वपूर्ण प्रभाव पड़ता है। यह एल्गोरिथ्म तब सार्थक होता है जब डेटासेट में भविष्यवाणियों की एक बड़ी सूची होती है। आपको स्वतंत्र चर को मैन्युअल रूप से जोड़ने और हटाने की आवश्यकता नहीं है। मॉडल में फिट होने के लिए सबसे अच्छे उम्मीदवारों का चयन करने के लिए चरणबद्ध प्रतिगमन बनाया गया है।
आइए देखें कि यह कैसे काम करता है। आप निरंतर चर के साथ mtcars डेटासेट का उपयोग केवल शैक्षणिक चित्रण के लिए करते हैं। विश्लेषण शुरू करने से पहले, सहसंबंध मैट्रिक्स के साथ डेटा के बीच भिन्नता स्थापित करना अच्छा है। GGally लाइब्रेरी ggplot2 का एक विस्तार है।
लाइब्रेरी में मैट्रिक्स में सभी चरों के सहसंबंध और वितरण जैसे सारांश सांख्यिकी दिखाने के लिए विभिन्न फ़ंक्शन शामिल हैं। हम ggscatmat फ़ंक्शन का उपयोग करेंगे, लेकिन आप इसका संदर्भ ले सकते हैं शब्दचित्र GGally लाइब्रेरी के बारे में अधिक जानकारी के लिए.
ggscatmat() का मूल सिंटैक्स है:
ggscatmat(df, columns = 1:ncol(df), corMethod = "pearson") arguments: -df: A matrix of continuous variables -columns: Pick up the columns to use in the function. By default, all columns are used -corMethod: Define the function to compute the correlation between variable. By default, the algorithm uses the Pearson formula
आप अपने सभी चरों के लिए सहसंबंध प्रदर्शित करते हैं और तय करते हैं कि चरणबद्ध प्रतिगमन के पहले चरण के लिए कौन सा सबसे अच्छा उम्मीदवार होगा। आपके चरों और आश्रित चर, mpg के बीच कुछ मजबूत सहसंबंध हैं।
library(GGally) df <- mtcars % > % select(-c(am, vs, cyl, gear, carb)) ggscatmat(df, columns = 1: ncol(df))
आउटपुट:
चरणबद्ध प्रतिगमन चरण दर चरण उदाहरण
मॉडल को फिट करने के लिए चरों का चयन एक महत्वपूर्ण हिस्सा है। चरणबद्ध प्रतिगमन स्वचालित रूप से खोज प्रक्रिया को निष्पादित करेगा। यह अनुमान लगाने के लिए कि डेटासेट में कितने संभावित विकल्प हैं, आप गणना करते हैं k के साथ भविष्यवाणियों की संख्या है। स्वतंत्र चर की संख्या के साथ संभावनाओं की मात्रा बड़ी होती जाती है। इसलिए आपको एक स्वचालित खोज की आवश्यकता है।
आपको CRAN से olsrr पैकेज इंस्टॉल करना होगा। पैकेज अभी Anaconda में उपलब्ध नहीं है। इसलिए, आप इसे सीधे कमांड लाइन से इंस्टॉल करें:
install.packages("olsrr")
आप फिट मानदंड (यानी आर-स्क्वायर, एडजस्टेड आर-स्क्वायर, बायेसियन मानदंड) के साथ संभावनाओं के सभी उपसमूहों को प्लॉट कर सकते हैं। सबसे कम AIC मानदंड वाला मॉडल अंतिम मॉडल होगा।
library(olsrr) model <- mpg~. fit <- lm(model, df) test <- ols_all_subset(fit) plot(test)
कोड स्पष्टीकरण
- एमपीजी ~.: अनुमान लगाने के लिए मॉडल का निर्माण करें
- lm(मॉडल, df): OLS मॉडल चलाएँ
- ols_all_subset(फिट): प्रासंगिक सांख्यिकीय जानकारी के साथ ग्राफ का निर्माण करें
- प्लॉट(परीक्षण): ग्राफ़ प्लॉट करें
आउटपुट:
रैखिक प्रतिगमन मॉडल का उपयोग करें टी परीक्षण आश्रित चर पर एक स्वतंत्र चर के सांख्यिकीय प्रभाव का अनुमान लगाने के लिए। शोधकर्ताओं ने अधिकतम सीमा 10 प्रतिशत निर्धारित की है, कम मूल्य एक मजबूत सांख्यिकीय लिंक को इंगित करता है। संभावित उम्मीदवारों को जोड़ने और हटाने के लिए चरणबद्ध प्रतिगमन की रणनीति इस परीक्षण के आसपास बनाई गई है। एल्गोरिथ्म इस प्रकार काम करता है:
- चरण 1: प्रत्येक भविष्यवक्ता को y पर अलग से रिग्रेस करें। अर्थात, x_1 को y पर, x_2 को y पर x_n पर रिग्रेस करें। संग्रह करें पी - मूल्य और रिग्रेसर को परिभाषित सीमा (डिफ़ॉल्ट रूप से 0.1) से कम p-मान के साथ रखें। सीमा से कम महत्व वाले भविष्यवक्ता अंतिम मॉडल में जोड़े जाएँगे। यदि किसी चर का p-मान प्रवेश सीमा से कम नहीं है, तो एल्गोरिथ्म रुक जाता है, और आपके पास केवल एक स्थिरांक वाला अंतिम मॉडल होता है।
- चरण 2: सबसे कम p-मान वाले प्रेडिक्टर का उपयोग करें और अलग से एक चर जोड़ें। आप एक स्थिरांक, चरण एक का सबसे अच्छा प्रेडिक्टर और एक तीसरा चर वापस लेते हैं। आप चरणबद्ध मॉडल में, प्रवेश सीमा से कम मूल्य वाले नए प्रेडिक्टर जोड़ते हैं। यदि किसी भी चर का p-मान 0.1 से कम नहीं है, तो एल्गोरिथ्म बंद हो जाता है, और आपके पास केवल एक प्रेडिक्टर वाला अंतिम मॉडल होता है। आप चरण 1 के सर्वश्रेष्ठ प्रेडिक्टर के महत्व की जांच करने के लिए चरणबद्ध मॉडल को वापस लेते हैं। यदि यह हटाने की सीमा से अधिक है, तो आप इसे चरणबद्ध मॉडल में रखते हैं। अन्यथा, आप इसे बाहर कर देते हैं।
- चरण 3: आप नए सर्वश्रेष्ठ चरणबद्ध मॉडल पर चरण 2 को दोहराते हैं। एल्गोरिथ्म दर्ज किए गए मानों के आधार पर चरणबद्ध मॉडल में प्रेडिक्टर जोड़ता है और यदि यह बहिष्करण सीमा को पूरा नहीं करता है तो चरणबद्ध मॉडल से प्रेडिक्टर को बाहर कर देता है।
- एल्गोरिथ्म तब तक चलता रहता है जब तक कोई चर जोड़ा या हटाया नहीं जा सकता।
आप olsrr पैकेज से ols_stepwise() फ़ंक्शन के साथ एल्गोरिथ्म निष्पादित कर सकते हैं।
ols_stepwise(fit, pent = 0.1, prem = 0.3, details = FALSE) arguments: -fit: Model to fit. Need to use `lm()`before to run `ols_stepwise() -pent: Threshold of the p-value used to enter a variable into the stepwise model. By default, 0.1 -prem: Threshold of the p-value used to exclude a variable into the stepwise model. By default, 0.3 -details: Print the details of each step
इससे पहले, हम आपको एल्गोरिथ्म के चरण दिखाते हैं। नीचे आश्रित और स्वतंत्र चर वाली एक तालिका दी गई है:
निर्भर चर | स्वतंत्र चर |
---|---|
एमपीजी | विवाद |
hp | |
ड्रैट | |
wt | |
क्यूसेक |
प्रारंभ
सबसे पहले, एल्गोरिथ्म प्रत्येक स्वतंत्र चर पर अलग-अलग मॉडल चलाकर शुरू होता है। तालिका प्रत्येक मॉडल के लिए p-मान दिखाती है।
## [[1]] ## (Intercept) disp ## 3.576586e-21 9.380327e-10 ## ## [[2]] ## (Intercept) hp ## 6.642736e-18 1.787835e-07 ## ## [[3]] ## (Intercept) drat ## 0.1796390847 0.0000177624 ## ## [[4]] ## (Intercept) wt ## 8.241799e-19 1.293959e-10 ## ## [[5] ## (Intercept) qsec ## 0.61385436 0.01708199
मॉडल में प्रवेश करने के लिए, एल्गोरिथ्म सबसे कम p-मान वाले चर को रखता है। उपरोक्त आउटपुट से, यह wt है
चरण 1
पहले चरण में, एल्गोरिथ्म mpg को wt और अन्य चरों पर स्वतंत्र रूप से चलाता है।
## [[1]] ## (Intercept) wt disp ## 4.910746e-16 7.430725e-03 6.361981e-02 ## ## [[2]] ## (Intercept) wt hp ## 2.565459e-20 1.119647e-06 1.451229e-03 ## ## [[3]] ## (Intercept) wt drat ## 2.737824e-04 1.589075e-06 3.308544e-01 ## ## [[4]] ## (Intercept) wt qsec ## 7.650466e-04 2.518948e-11 1.499883e-03
प्रत्येक चर अंतिम मॉडल में प्रवेश करने के लिए एक संभावित उम्मीदवार है। हालाँकि, एल्गोरिथ्म केवल कम p-मान वाले चर को रखता है। यह पता चलता है कि hp का p-मान qsec से थोड़ा कम है। इसलिए, hp अंतिम मॉडल में प्रवेश करता है
चरण 2
एल्गोरिथ्म पहले चरण को दोहराता है लेकिन इस बार अंतिम मॉडल में दो स्वतंत्र चर शामिल होते हैं।
## [[1]] ## (Intercept) wt hp disp ## 1.161936e-16 1.330991e-03 1.097103e-02 9.285070e-01 ## ## [[2]] ## (Intercept) wt hp drat ## 5.133678e-05 3.642961e-04 1.178415e-03 1.987554e-01 ## ## [[3]] ## (Intercept) wt hp qsec ## 2.784556e-03 3.217222e-06 2.441762e-01 2.546284e-01
अंतिम मॉडल में शामिल किसी भी चर का p-मान पर्याप्त रूप से कम नहीं है। एल्गोरिथ्म यहीं रुक जाता है; हमारे पास अंतिम मॉडल है:
## ## Call: ## lm(formula = mpg ~ wt + hp, data = df) ## ## Residuals: ## Min 1Q Median 3Q Max ## -3.941 -1.600 -0.182 1.050 5.854 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 37.22727 1.59879 23.285 < 2e-16 *** ## wt -3.87783 0.63273 -6.129 1.12e-06 *** ## hp -0.03177 0.00903 -3.519 0.00145 ** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 2.593 on 29 degrees of freedom ## Multiple R-squared: 0.8268, Adjusted R-squared: 0.8148 ## F-statistic: 69.21 on 2 and 29 DF, p-value: 9.109e-12
आप परिणामों की तुलना करने के लिए ols_stepwise() फ़ंक्शन का उपयोग कर सकते हैं।
stp_s <-ols_stepwise(fit, details=TRUE)
आउटपुट:
एल्गोरिथ्म दो चरणों के बाद समाधान ढूंढ लेता है, तथा वही आउटपुट देता है जो पहले दिया गया था।
अंत में, आप कह सकते हैं कि मॉडल को दो चर और एक अवरोधन द्वारा समझाया गया है। प्रति गैलन मील सकल अश्वशक्ति और वजन के साथ नकारात्मक रूप से सहसंबंधित है
## You are selecting variables based on p value... ## 1 variable(s) added.... ## Variable Selection Procedure ## Dependent Variable: mpg ## ## Stepwise Selection: Step 1 ## ## Variable wt Entered ## ## Model Summary ## -------------------------------------------------------------- ## R 0.868 RMSE 3.046 ## R-Squared 0.753 Coef. Var 15.161 ## Adj. R-Squared 0.745 MSE 9.277 ## Pred R-Squared 0.709 MAE 2.341 ## -------------------------------------------------------------- ## RMSE: Root Mean Square Error ## MSE: Mean Square Error ## MAE: Mean Absolute Error ## ANOVA ## -------------------------------------------------------------------- ## Sum of ## Squares DF Mean Square F Sig. ## -------------------------------------------------------------------- ## Regression 847.725 1 847.725 91.375 0.0000 ## Residual 278.322 30 9.277 ## Total 1126.047 31 ## -------------------------------------------------------------------- ## ## Parameter Estimates ## ---------------------------------------------------------------------------------------- ## model Beta Std. Error Std. Beta t Sig lower upper ## ---------------------------------------------------------------------------------------- ## (Intercept) 37.285 1.878 19.858 0.000 33.450 41.120 ## wt -5.344 0.559 -0.868 -9.559 0.000 -6.486 -4.203 ## ---------------------------------------------------------------------------------------- ## 1 variable(s) added... ## Stepwise Selection: Step 2 ## ## Variable hp Entered ## ## Model Summary ## -------------------------------------------------------------- ## R 0.909 RMSE 2.593 ## R-Squared 0.827 Coef. Var 12.909 ## Adj. R-Squared 0.815 MSE 6.726 ## Pred R-Squared 0.781 MAE 1.901 ## -------------------------------------------------------------- ## RMSE: Root Mean Square Error ## MSE: Mean Square Error ## MAE: Mean Absolute Error ## ANOVA ## -------------------------------------------------------------------- ## Sum of ## Squares DF Mean Square F Sig. ## -------------------------------------------------------------------- ## Regression 930.999 2 465.500 69.211 0.0000 ## Residual 195.048 29 6.726 ## Total 1126.047 31 ## -------------------------------------------------------------------- ## ## Parameter Estimates ## ---------------------------------------------------------------------------------------- ## model Beta Std. Error Std. Beta t Sig lower upper ## ---------------------------------------------------------------------------------------- ## (Intercept) 37.227 1.599 23.285 0.000 33.957 40.497 ## wt -3.878 0.633 -0.630 -6.129 0.000 -5.172 -2.584 ## hp -0.032 0.009 -0.361 -3.519 0.001 -0.050 -0.013 ## ---------------------------------------------------------------------------------------- ## No more variables to be added or removed.
मशीन लर्निंग
मशीन लर्निंग डेटा वैज्ञानिकों के बीच व्यापक होता जा रहा है और इसे आपके द्वारा प्रतिदिन उपयोग किए जाने वाले सैकड़ों उत्पादों में इस्तेमाल किया जाता है। सबसे पहले एमएल एप्लीकेशन में से एक था स्पैम छांटना.
मशीन लर्निंग के अन्य अनुप्रयोग निम्नलिखित हैं-
- ईमेल में अवांछित स्पैम संदेशों की पहचान
- लक्षित विज्ञापन के लिए ग्राहक व्यवहार का विभाजन
- धोखाधड़ी वाले क्रेडिट कार्ड लेनदेन में कमी
- घर और कार्यालय भवन में ऊर्जा उपयोग का अनुकूलन
- चेहरे की पहचान
पर्यवेक्षित अध्ययन
In पर्यवेक्षित अध्ययन, आपके द्वारा एल्गोरिथम को दिए गए प्रशिक्षण डेटा में एक लेबल शामिल होता है।
वर्गीकरण शायद सबसे ज़्यादा इस्तेमाल की जाने वाली सुपरवाइज्ड लर्निंग तकनीक है। शोधकर्ताओं द्वारा निपटाए गए पहले वर्गीकरण कार्यों में से एक स्पैम फ़िल्टर था। सीखने का उद्देश्य यह अनुमान लगाना है कि कोई ईमेल स्पैम या हैम (अच्छा ईमेल) के रूप में वर्गीकृत है या नहीं। प्रशिक्षण चरण के बाद, मशीन ईमेल की श्रेणी का पता लगा सकती है।
प्रतिगमन मशीन लर्निंग क्षेत्र में निरंतर मूल्य की भविष्यवाणी करने के लिए आमतौर पर उपयोग किया जाता है। रिग्रेशन कार्य किसी के मूल्य की भविष्यवाणी कर सकता है निर्भर चर के एक सेट के आधार पर स्वतंत्र चर (इन्हें प्रेडिक्टर या रिग्रॉसर भी कहा जाता है)। उदाहरण के लिए, रैखिक रिग्रेशन स्टॉक मूल्य, मौसम पूर्वानुमान, बिक्री आदि की भविष्यवाणी कर सकता है।
यहां कुछ मौलिक पर्यवेक्षित शिक्षण एल्गोरिदम की सूची दी गई है।
- रेखीय प्रतिगमन
- रसद प्रतिगमन
- निकटतम पड़ोसी
- समर्थन वेक्टर मशीन (SVM)
- निर्णय वृक्ष और यादृच्छिक वन
- तंत्रिका नेटवर्क
अनसुनी हुई पढ़ाई
In अनसुनी हुई पढ़ाई, प्रशिक्षण डेटा लेबल रहित है। सिस्टम बिना किसी संदर्भ के सीखने की कोशिश करता है। नीचे अप्रशिक्षित शिक्षण एल्गोरिदम की एक सूची दी गई है।
- कश्मीर मीन
- श्रेणीबद्ध Cluster विश्लेषण
- अपेक्षा अधिकतमीकरण
- विज़ुअलाइज़ेशन और आयाम में कमी
- प्रमुख कंपोनेंट विश्लेषण
- कर्नेल पीसीए
- स्थानीय-रैखिक एम्बेडिंग
सारांश
- रैखिक प्रतिगमन एक सरल प्रश्न का उत्तर देता है: क्या आप एक लक्ष्य चर और भविष्यवाणियों के एक समूह के बीच सटीक संबंध को माप सकते हैं?
- साधारण न्यूनतम वर्ग विधि उन मापदंडों को खोजने का प्रयास करती है जो वर्ग त्रुटियों के योग को न्यूनतम करते हैं, अर्थात पूर्वानुमानित y मानों और वास्तविक y मानों के बीच ऊर्ध्वाधर दूरी।
- वह संभाव्यता मॉडल जिसमें एक से अधिक स्वतंत्र चर शामिल होते हैं, बहु प्रतिगमन मॉडल कहलाता है।
- चरणबद्ध रैखिक प्रतिगमन एल्गोरिथ्म का उद्देश्य मॉडल में संभावित उम्मीदवारों को जोड़ना और हटाना तथा उन लोगों को रखना है जिनका आश्रित चर पर महत्वपूर्ण प्रभाव पड़ता है।
- मॉडल को फिट करने के लिए चरों का चयन एक महत्वपूर्ण हिस्सा है। चरणबद्ध प्रतिगमन स्वचालित रूप से खोज प्रक्रिया को पूरा करता है।
साधारण न्यूनतम वर्ग प्रतिगमन को नीचे दी गई तालिका में संक्षेपित किया जा सकता है:
पुस्तकालय | उद्देश्य | समारोह | तर्क |
---|---|---|---|
आधार | रैखिक प्रतिगमन की गणना करें | एलएम() | सूत्र, डेटा |
आधार | मॉडल का सारांश | संक्षेप() | फिट |
आधार | गुणांक निकालें | lm()$गुणांक | |
आधार | अवशिष्ट निकालें | lm()$अवशिष्ट | |
आधार | फिट किया गया मान निकालें | lm()$फिटेड.वैल्यूज़ | |
ओएलएसआरआर | चरणबद्ध प्रतिगमन चलाएँ | ओएलएस_स्टेपवाइज() | फिट, पेन्ट = 0.1, प्रीम = 0.3, विवरण = गलत |
नोटमॉडल को फिट करने से पहले श्रेणीबद्ध चर को कारक में बदलना याद रखें।