جستجو کردن
Close this search box.

رگرسیون تکه ای در R یا piecewise regression

رگرسیون تکه ای در R یا piecewise regression
فهرست مطالب

در این مقاله قصد دارم به آموزش رگرسیون تکه ای یا piecewise regression در R بپردازم. تا انتهای این مقاله همراه کیارا آکادمی باشید تا آموزش نرم افزار 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)

آموزش مقایسه زوجی پس از تجربه در R و آزمون تعقیبی post hoc

مرحله 2: داده ها را تجسم کنید

در مرحله بعد، بیایید یک Scatterplot برای تجسم داده ها ایجاد کنیم:

#create scatterplot of x vs. y
plot(df$x, df$y, pch=16, col=’steelblue’)

تکه ای در R یا piecewise regression

می بینیم که رابطه بین x و y به طور ناگهانی در اطراف x = 9 تغییر می کند.

مرحله 3: برازش مدل رگرسیون تکه ای

ما می‌توانیم از تابع () segmented از بسته قطعه‌بندی شده در 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)

همگرایی در 2 دور به دست آمد. (تغییر مرتبط 0) تابع () segmented نقطه شکست را در x = 8.762 تشخیص می دهد.

تحلیل آماری

مدل رگرسیون تکه ای برازش شده به صورت زیر است:

If x ≤ 8.762: y = .32143 + 1.59524*(x)

If x > 8.762: y = .32143 + 1.59524*(8.762) + (1.59524+2.40476)*(x-8.762)

های آماری

به عنوان مثال، فرض کنید مقدار x = 5 داریم. مقدار y تخمین زده شده به صورت زیر خواهد بود:

y = 0.32143 + 1.59524*(x)
y = 0.32143 + 1.59524*(5)
y = 8.297

یا فرض کنید مقدار x = 12 داریم. مقدار y تخمین زده شده خواهد بود:

y = 0.32143 + 1.59524*(8.762) + (1.59524+2.40476)* (12-8.762)
y = 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 یا piecewise regression 2

به نظر می رسد که مدل رگرسیون تکه ای به خوبی با داده ها مطابقت دارد.

آموزش جامع spss

مطالعه منابع بیشتر:

How to Perform Piecewise Regression in R

4 پاسخ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *