الانحدار الخطي التدريجي والمتعدد [مثال خطوة بخطوة]
الانحدار الخطي البسيط في R
يجيب الانحدار الخطي على سؤال بسيط: هل يمكنك قياس العلاقة الدقيقة بين متغيرات مستهدفة واحدة ومجموعة من المتنبئين؟
أبسط نموذج احتمالي هو نموذج الخط المستقيم:
أين
- ص = المتغير التابع
- س = متغير مستقل
-
= مكون الخطأ العشوائي
-
= اعتراض
-
= معامل س
خذ بعين الاعتبار الرسم البياني التالي:
المعادلة هو الاعتراض. إذا كانت x تساوي 0، فإن y ستكون مساوية للتقاطع، 4.77. هو ميل الخط. إنه يخبرنا بأي نسبة تتغير y عندما يتغير x.
لتقدير القيم المثلى ل و
، يمكنك استخدام طريقة تسمى المربعات الصغرى العادية (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()
الإخراج:
يشير مخطط التشتت إلى وجود ميل عام لـ y للزيادة مع زيادة x. في الخطوة التالية، سوف تقوم بقياس مقدار الزيادات لكل إضافة إضافية.
تقديرات المربعات الصغرى
في انحدار OLS البسيط، يتم حساب و
هو واضح ومباشر. الهدف ليس إظهار الاشتقاق في هذا البرنامج التعليمي. سوف تكتب الصيغة فقط.
تريد تقدير:
الهدف من الانحدار المربعات الصغرى العادية هو تقليل المعادلة التالية:
أين
هي القيمة الفعلية و
هي القيمة المتوقعة.
الحل ل 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 يوفر وظيفة مناسبة لتقدير هذه المعلمات. سترى هذه الوظيفة قريبًا. قبل ذلك، سوف نقدم كيفية حساب نموذج الانحدار الخطي البسيط يدويًا. في رحلتك كعالم بيانات، بالكاد ستقدر نموذجًا خطيًا بسيطًا أو لن تتمكن أبدًا من تقديره. في معظم الحالات، يتم تنفيذ مهام الانحدار على الكثير من المقدرين.
الانحدار الخطي المتعدد في R
تستخدم التطبيقات الأكثر عملية لتحليل الانحدار نماذج أكثر تعقيدًا من نموذج الخط المستقيم البسيط. يسمى النموذج الاحتمالي الذي يتضمن أكثر من متغير مستقل نماذج الانحدار المتعددة. والشكل العام لهذا النموذج هو:
في تدوين المصفوفة، يمكنك إعادة كتابة النموذج:
المتغير التابع y أصبح الآن دالة للمتغيرات المستقلة k. قيمة المعامل يحدد مساهمة المتغير المستقل
و
.
نقدم بإيجاز الافتراض الذي قمنا به حول الخطأ العشوائي من عملية شريان الحياة:
- يعني يساوي 0
- التباين يساوي
- التوزيع الطبيعي
- الأخطاء العشوائية مستقلة (بالمعنى الاحتمالي)
تحتاج إلى حل ل ، متجه معاملات الانحدار التي تقلل مجموع الأخطاء المربعة بين قيم y المتوقعة والفعلية.
الحل ذو الشكل المغلق هو :
مع:
- يشير إلى تبديل موضع من المصفوفة X
يشير إلى مصفوفة عكسية
نحن نستخدم مجموعة بيانات mtcars. أنت بالفعل على دراية بمجموعة البيانات. هدفنا هو التنبؤ بالميل لكل جالون عبر مجموعة من الميزات.
المتغيرات المستمرة في R
في الوقت الحالي، ستستخدم فقط المتغيرات المستمرة وتضع جانبًا الميزات التصنيفية. المتغير 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
تذكر أن المعادلة هي من النموذج التالي
في R
- يتم استبدال الرمز = بـ ~
- يتم استبدال كل x باسم المتغير
- إذا كنت تريد إسقاط الثابت، أضف -1 في نهاية الصيغة
على سبيل المثال:
تريد تقدير وزن الأفراد بناءً على طولهم وإيراداتهم. المعادلة هي
المعادلة في R مكتوبة على النحو التالي:
y ~ X1+ X2+…+Xn # مع التقاطع
لذلك بالنسبة لمثالنا:
- الوزن ~ الطول + الإيرادات
هدفك هو تقدير الميل لكل جالون بناءً على مجموعة من المتغيرات. المعادلة المراد تقديرها هي:
سوف تقوم بتقدير الانحدار الخطي الأول الخاص بك وتخزين النتيجة في الكائن المناسب.
model <- mpg~.disp + hp + drat + wt fit <- lm(model, df) fit
شرح الكود
- الموديل <- ميلا في الغالون ~. disp + hp + drat+ wt: قم بتخزين النموذج لتقديره
- lm(model, 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
الاستدلال من إخراج الجدول أعلاه
- يثبت الجدول أعلاه وجود علاقة سلبية قوية بين الوزن والمسافة المقطوعة وعلاقة إيجابية مع الدرات.
- فقط المتغير بالوزن له تأثير إحصائي على ميلا في الغالون. تذكر، لاختبار الفرضية في الإحصائية، نستخدم:
- H0: لا يوجد تأثير إحصائي
- H3: المتنبئ له تأثير ملموس على y
- إذا كانت قيمة p أقل من 0.05، فهذا يشير إلى أن المتغير ذو دلالة إحصائية
- R-squared المعدل: التباين الموضح بالنموذج. في النموذج الخاص بك، أوضح النموذج 82 بالمائة من تباين y. يقع مربع R دائمًا بين 0 و1. وكلما ارتفع كلما كان ذلك أفضل
يمكنك تشغيل ANOVA اختبار لتقدير تأثير كل ميزة على التباينات باستخدام دالة 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
الطريقة الأكثر تقليدية لتقدير أداء النموذج هي عرض المتبقي مقابل مقاييس مختلفة.
يمكنك استخدام الدالة مؤامرة () لإظهار أربعة رسوم بيانية:
- القيم المتبقية مقابل القيم المجهزة
- مؤامرة QQ العادية: الربع النظري مقابل المخلفات الموحدة
- موقع المقياس: القيم المجهزة مقابل الجذور التربيعية للبقايا الموحدة
- المخلفات مقابل الرافعة المالية: الرافعة المالية مقابل المخلفات الموحدة
يمكنك إضافة الكود par(mfrow=c(2,2)) قبل المؤامرة(fit). إذا لم تقم بإضافة هذا السطر من التعليمات البرمجية، فسيطالبك R بالضغط على أمر الإدخال لعرض الرسم البياني التالي.
par(mfrow=(2,2))
شرح الكود
- (mfrow=c(2,2)): قم بإرجاع نافذة بها الرسوم البيانية الأربعة جنبًا إلى جنب.
- يضيف أول 2 عدد الصفوف
- ويضيف الثاني 2 عدد الأعمدة.
- إذا كتبت (mfrow=c(3,2)): ستنشئ نافذة مكونة من 3 صفوف و2 عمود
plot(fit)
الإخراج:
تقوم الصيغة lm() بإرجاع قائمة تحتوي على الكثير من المعلومات المفيدة. يمكنك الوصول إليها باستخدام الكائن المناسب الذي قمت بإنشائه، متبوعًا بعلامة $ والمعلومات التي تريد استخراجها.
- المعاملات: `معاملات $fit`
- المخلفات: `صالح $ المخلفات`
– القيمة المجهزة: `fit$fitted.values`
عوامل الانحدار في R
في تقدير النموذج الأخير، يمكنك التراجع عن ميل لكل جالون على المتغيرات المستمرة فقط. من السهل إضافة متغيرات العوامل إلى النموذج. يمكنك إضافة المتغير 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
يستخدم R مستوى العامل الأول كمجموعة أساسية. تحتاج إلى مقارنة معاملات المجموعة الأخرى بالمجموعة الأساسية.
الانحدار الخطي التدريجي في R
الجزء الأخير من هذا البرنامج التعليمي يتناول الانحدار التدريجي الغرض من هذه الخوارزمية هو إضافة وإزالة المرشحين المحتملين في النماذج والاحتفاظ بالمرشحين الذين لديهم تأثير كبير على المتغير التابع. تكون هذه الخوارزمية مفيدة عندما تحتوي مجموعة البيانات على قائمة كبيرة من المتنبئين. لست بحاجة إلى إضافة وإزالة المتغيرات المستقلة يدويًا. تم بناء الانحدار التدريجي لاختيار أفضل المرشحين لتناسب النموذج.
دعونا نرى في العمل كيف يعمل. يمكنك استخدام مجموعة بيانات 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
يمكنك عرض الارتباط لجميع متغيراتك وتحديد أي منها سيكون المرشح الأفضل للخطوة الأولى من الانحدار التدريجي. هناك بعض الارتباطات القوية بين متغيراتك والمتغير التابع، ميلا في الجالون.
library(GGally) df <- mtcars % > % select(-c(am, vs, cyl, gear, carb)) ggscatmat(df, columns = 1: ncol(df))
الإخراج:
مثال على الانحدار التدريجي خطوة بخطوة
يعد اختيار المتغيرات جزءًا مهمًا لملاءمة النموذج. سيقوم الانحدار التدريجي بإجراء عملية البحث تلقائيًا. لتقدير عدد الخيارات الممكنة في مجموعة البيانات، يمكنك حساب مع k هو عدد المتنبئين. يزداد حجم الاحتمالات بزيادة عدد المتغيرات المستقلة. لهذا السبب يجب أن يكون لديك بحث تلقائي.
تحتاج إلى تثبيت حزمة olsrr من CRAN. الحزمة غير متوفرة بعد في اناكوندا. ومن ثم، يمكنك تثبيته مباشرة من سطر الأوامر:
install.packages("olsrr")
يمكنك رسم جميع المجموعات الفرعية من الاحتمالات باستخدام معايير الملاءمة (أي R-square، وR-square المعدلة، والمعايير البايزية). سيكون النموذج ذو أدنى معايير AIC هو النموذج النهائي.
library(olsrr) model <- mpg~. fit <- lm(model, df) test <- ols_all_subset(fit) plot(test)
شرح الكود
- ميلا في الغالون ~.: بناء النموذج للتقدير
- lm(نموذج، مدافع): قم بتشغيل نموذج OLS
- ols_all_subset(مناسب): أنشئ الرسوم البيانية بالمعلومات الإحصائية ذات الصلة
- مؤامرة (اختبار): ارسم الرسوم البيانية
الإخراج:
تستخدم نماذج الانحدار الخطي اختبار تي لتقدير التأثير الإحصائي لمتغير مستقل على المتغير التابع. حدد الباحثون الحد الأقصى عند 10 بالمائة، حيث تشير القيم المنخفضة إلى ارتباط إحصائي أقوى. تم بناء استراتيجية الانحدار التدريجي حول هذا الاختبار لإضافة وإزالة المرشحين المحتملين. تعمل الخوارزمية على النحو التالي:
- الخطوة الأولى:: تراجع كل متنبئ على y بشكل منفصل. وهي التراجع x_1 على y، x_2 على y إلى x_n. قم بتخزين ف قيمة واحتفظ بالتراجع بقيمة p أقل من العتبة المحددة (0.1 افتراضيًا). سيتم إضافة المتنبئين ذوي الأهمية الأقل من العتبة إلى النموذج النهائي. إذا لم يكن هناك متغير له قيمة p أقل من عتبة الإدخال، فستتوقف الخوارزمية، ويكون لديك النموذج النهائي الخاص بك مع ثابت فقط.
- الخطوة الأولى::استخدم المتنبئ ذو أقل قيمة p وأضف متغيرًا واحدًا بشكل منفصل. يمكنك إرجاع ثابت وأفضل متنبئ للخطوة الأولى ومتغير ثالث. أضف إلى النموذج التدريجي المتنبئين الجدد بقيمة أقل من عتبة الدخول. إذا لم يكن لأي متغير قيمة p أقل من 0.1، فإن الخوارزمية تتوقف، ولديك النموذج النهائي بمتنبئ واحد فقط. يمكنك إرجاع النموذج التدريجي للتحقق من أهمية أفضل المتنبئين للخطوة الأولى. إذا كان أعلى من عتبة الإزالة، فاحتفظ به في النموذج التدريجي. وإلا، فاستبعده.
- الخطوة الأولى::يمكنك تكرار الخطوة 2 على أفضل نموذج تدريجي جديد. تضيف الخوارزمية المتنبئين إلى النموذج التدريجي بناءً على القيم المدخلة وتستبعد المتنبئ من النموذج التدريجي إذا لم يلبي حد الاستبعاد.
- تستمر الخوارزمية في العمل حتى لا يمكن إضافة أو استبعاد أي متغير.
بإمكانك تنفيذ الخوارزمية باستخدام الدالة ols_stepwise() من حزمة olsrr.
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 | |
com.qsec |
إبدأ
في البداية، تبدأ الخوارزمية بتشغيل النموذج على كل متغير مستقل على حدة. ويبين الجدول القيمة 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 الأدنى. من الناتج أعلاه، هو بالوزن
خطوة 1
في الخطوة الأولى، تقوم الخوارزمية بتشغيل ميلا في الغالون على الوزن والمتغيرات الأخرى بشكل مستقل.
## [[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 أقل قليلاً من قيمة 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 التعلم تحت الإشراف، فإن بيانات التدريب التي تغذيها للخوارزمية تتضمن تسمية.
تصنيف ربما تكون تقنية التعلم الخاضع للإشراف هي الأكثر استخدامًا. كانت إحدى مهام التصنيف الأولى التي تناولها الباحثون هي مرشح البريد العشوائي. والهدف من التعلم هو التنبؤ بما إذا كان البريد الإلكتروني مصنفًا على أنه بريد عشوائي أو بريد إلكتروني غير مرغوب فيه (بريد إلكتروني جيد). يمكن للآلة، بعد خطوة التدريب، اكتشاف فئة البريد الإلكتروني.
الانحدار تُستخدم بشكل شائع في مجال التعلم الآلي للتنبؤ بالقيمة المستمرة. يمكن لمهمة الانحدار التنبؤ بقيمة a المتغير التابع بناء على مجموعة من المتغيرات المستقلة (وتسمى أيضًا المتنبئين أو الراجعين). على سبيل المثال، يمكن للانحدارات الخطية التنبؤ بسعر السهم، وتوقعات الطقس، والمبيعات، وما إلى ذلك.
فيما يلي قائمة ببعض خوارزميات التعلم الخاضع للإشراف الأساسية.
- الانحدارالخطي
- الانحدار اللوجستي
- أقرب الجيران
- آلة ناقلات الدعم (SVM)
- أشجار القرار والغابات العشوائية
- الشبكات العصبية
تعليم غير مشرف عليه
In تعليم غير مشرف عليهالبيانات التدريبية غير مُسمَّاة. يحاول النظام التعلم دون مرجع. فيما يلي قائمة بخوارزميات التعلم غير الخاضعة للإشراف.
- ك-يعني
- الهرمية Cluster تحليل الأداء
- زيادة التوقعات
- التخيل وتقليل الأبعاد
- تحليل المكون الرئيسي
- نواة PCA
- التضمين الخطي محليًا
الملخص
- يجيب الانحدار الخطي على سؤال بسيط: هل يمكنك قياس العلاقة الدقيقة بين متغيرات مستهدفة واحدة ومجموعة من المتنبئين؟
- تحاول طريقة المربعات الصغرى العادية العثور على المعلمات التي تقلل مجموع الأخطاء التربيعية، أي المسافة الرأسية بين قيم y المتوقعة وقيم y الفعلية.
- ويسمى النموذج الاحتمالي الذي يتضمن أكثر من متغير مستقل نماذج الانحدار المتعددة.
- الغرض من خوارزمية الانحدار الخطي التدريجي هو إضافة وإزالة المرشحين المحتملين في النماذج والاحتفاظ بالذين لديهم تأثير كبير على المتغير التابع.
- يعد اختيار المتغيرات جزءًا مهمًا لملاءمة النموذج. يقوم الانحدار التدريجي بإجراء عملية البحث تلقائيًا.
يمكن تلخيص الانحدار التربيعي العادي في الجدول أدناه:
المكتبة | الهدف | الوظيفة | الحجج |
---|---|---|---|
قاعدة | حساب الانحدار الخطي | لم () | الصيغة والبيانات |
قاعدة | تلخيص النموذج | لخص() | تناسب |
قاعدة | استخراج المعاملات | معامل lm()$ | |
قاعدة | استخراج البقايا | lm()$المخلفات | |
قاعدة | استخراج القيمة المجهزة | lm()$fitted.values | |
olsrr | تشغيل الانحدار التدريجي | ols_stepwise() | مناسب، pent = 0.1، prem = 0.3، details = FALSE |
ملاحظات: تذكر تحويل المتغير الفئوي إلى عامل قبل أن يناسب النموذج.