كيفية تنفيذ الانحدار المتعدد في 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

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *