كيفية تنفيذ الانحدار المتعدد في r (خطوة بخطوة)
الانحدار الجزئي هو أسلوب انحدار نستخدمه غالبًا عندما تكون هناك “نقاط توقف” واضحة في مجموعة البيانات.
يوضح المثال التالي خطوة بخطوة كيفية إجراء الانحدار المتعدد التعريف في R.
الخطوة 1: إنشاء البيانات
أولاً، لنقم بإنشاء إطار البيانات التالي:
#view DataFrame df <- data. frame (x=c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), y=c(2, 4, 5, 6, 8, 10, 12, 13, 15, 19, 24, 28, 31, 34, 39, 44)) #view first six rows of data frame head(df) xy 1 1 2 2 2 4 3 3 5 4 4 6 5 5 8 6 6 10
الخطوة 2: تصور البيانات
بعد ذلك، دعونا ننشئ مخططًا مبعثرًا لتصور البيانات:
#create scatterplot of x vs. y plot(df$x, df$y, pch= 16 , col=' steelblue ')
يمكننا أن نرى أن العلاقة بين x و y تبدو وكأنها تتغير فجأة حول x = 9 .
الخطوة 3: تناسب نموذج الانحدار متعدد التعريف
يمكننا استخدام الدالة المجزأة () من الحزمة المجزأة في R لتناسب نموذج الانحدار متعدد التعريف لمجموعة البيانات الخاصة بنا:
library (segmented) #fit simple linear regression model fit <- lm(y ~ x, data=df) #fit piecewise regression model to original model, estimating a breakpoint at x=9 segmented. fit <- segmented(fit, seg.Z = ~x, psi= 9 ) #view summary of segmented model summary( segmented.fit ) Call: segmented.lm(obj = fit, seg.Z = ~x, psi = 9) Estimated Break-Point(s): East. St.Err psi1.x 8.762 0.26 Meaningful coefficients of the linear terms: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.32143 0.48343 0.665 0.519 x 1.59524 0.09573 16.663 1.16e-09 *** U1.x 2.40476 0.13539 17.762 NA --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.6204 on 12 degrees of freedom Multiple R-Squared: 0.9983, Adjusted R-squared: 0.9978 Convergence achieved in 2 iter. (rel. changes 0)
تكتشف الدالة المجزأة () نقطة توقف عند x = 8.762.
نموذج الانحدار الجزئي المجهز هو:
إذا كانت x ≥ 8.762: y = 0.32143 + 1.59524*(x)
إذا كانت x > 8.762: y = 0.32143 + 1.59524*(8.762) + (1.59524+2.40476)*(x-8.762)
على سبيل المثال، لنفترض أن لدينا قيمة x = 5 . القيمة المقدرة ستكون:
- ص = 0.32143 + 1.59524*(س)
- ص = 0.32143 + 1.59524*(5)
- ص = 8.297
أو لنفترض أن لدينا قيمة x = 12 . القيمة المقدرة ستكون:
- ص = 0.32143 + 1.59524*(8.762) + (1.59524+2.40476)*(12-8.762)
- ص = 27.25
الخطوة 4: تصور نموذج الانحدار المتعدد التعريف النهائي
يمكننا استخدام الكود التالي لتصور نموذج الانحدار الجزئي النهائي أعلى بياناتنا الأصلية:
#plot original data plot(df$x, df$y, pch= 16 , col=' steelblue ') #add segmented regression model plot(segmented. fit , add= T )
يبدو أن نموذج الانحدار متعدد التعريف يناسب البيانات بشكل جيد.
مصادر إضافية
توفر البرامج التعليمية التالية معلومات إضافية حول نماذج الانحدار في R:
كيفية إجراء الانحدار الخطي البسيط في R
كيفية إجراء الانحدار الخطي المتعدد في R
كيفية إجراء الانحدار اللوجستي في R
كيفية إجراء الانحدار الكمي في R
كيفية إجراء الانحدار المرجح في R