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

رگرسیون حداقل مربعات وزنی در R

رگرسیون حداقل مربعات وزنی در R
فهرست مطالب

در این مقاله قصد دارم به آموزش رگرسیون حداقل مربعات وزنی در R بپردازم. تا انتهای این مقاله همراه کیارا آکادمی باشید تا آموزش نرم افزار R را به صورت کاربردی دریافت نمایید.

رگرسیون حداقل مربعات وزنی

یکی از مفروضات کلیدی رگرسیون خطی این است که باقیمانده ها با واریانس مساوی در هر سطح از متغیر پیش بینی توزیع می شوند. این فرض به عنوان homoscedasticity شناخته می شود. هنگامی که این فرض نقض می شود، می گوییم که ناهمسانی در باقیمانده ها وجود دارد. هنگامی که این اتفاق می افتد، نتایج رگرسیون غیر قابل اعتماد می شود. یکی از راه‌های رسیدگی به این مسئله استفاده از رگرسیون حداقل مربعات وزنی است، که وزن‌هایی را روی مشاهدات قرار می‌دهد به طوری که به مشاهداتی که واریانس خطای کوچکی دارند وزن بیشتری داده می‌شود، زیرا حاوی اطلاعات بیشتری در مقایسه با مشاهدات با واریانس خطای بزرگ‌تر هستند.

آموزش جامع spss

این آموزش یک مثال گام به گام از نحوه انجام رگرسیون حداقل مربعات وزن در R ارائه می دهد.

مرحله 1: ایجاد داده

کد زیر یک چارچوب داده ایجاد می کند که شامل تعداد ساعات مطالعه و نمره امتحان مربوطه برای 16 دانش آموز است:

df <- data.frame(hours=c(1, 1, 2, 2, 2, 3, 4, 4, 4, 5, 5, 5, 6, 6, 7, 8),
score=c(48, 78, 72, 70, 66, 92, 93, 75, 75, 80, 95, 97, 90, 96, 99, 99))

مرحله 2: رگرسیون خطی را انجام دهید

در مرحله بعد، از تابع ()lm برای برازش یک مدل رگرسیون خطی ساده استفاده می کنیم که از ساعت به عنوان متغیر پیش بینی و امتیاز به عنوان متغیر پاسخ استفاده می کند:

#fit simple linear regression model
model <- lm(score ~ hours, data = df)
#view summary of model
summary(model)

حداقل مربعات وزنی در R

تحلیل آماری

مرحله 3: تست ناهمگنی

در مرحله بعد، یک نمودار باقیمانده در برابر مقادیر برازش ایجاد می کنیم تا به صورت بصری ناهمسانی را بررسی کنیم:

#create residual vs. fitted plot
plot(fitted(model), resid(model), xlab=’Fitted Values’, ylab=’Residuals’)
#add a horizontal line at 0
abline(0,0)

حداقل مربعات وزنی در R 1

ما می‌توانیم از نمودار ببینیم که باقیمانده‌ها یک شکل “مخروطی” از خود نشان می‌دهند – آن ها با واریانس مساوی در سراسر نمودار توزیع نمی‌شوند. برای آزمایش رسمی ناهمگنی، می‌توانیم آزمایش بروش-پاگان را انجام دهیم:

#load lmtest package
library(lmtest)
#perform Breusch-Pagan test
bptest(model)

حداقل مربعات وزنی در R 2

آزمون بروش-پاگان از فرضیه های صفر و جایگزین زیر استفاده می کند:

  1. فرضیه صفر (H0): همسانی وجود دارد (باقیمانده ها با واریانس مساوی توزیع می شوند)
  2. فرضیه جایگزین (HA): ناهمسانی وجود دارد (باقیمانده ها با واریانس مساوی توزیع نمی شوند)

از آن جایی که p-value از آزمون 0.0466 است، فرضیه صفر را رد می کنیم و نتیجه می گیریم که ناهمسانی یک مشکل در این مدل است.

مرحله 4: رگرسیون حداقل مربعات وزنی را انجام دهید

از آن جایی که ناهمسانی وجود دارد، حداقل مربعات وزنی را با تعریف وزن ها به گونه ای انجام می دهیم که به مشاهدات با واریانس کمتر وزن بیشتری داده شود:

#define weights to use
wt <- 1 / lm(abs(model$residuals) ~ model$fitted.values)$fitted.values^2
#perform weighted least squares regression
wls_model <- lm(score ~ hours, data = df, weights=wt)
#view summary of model
summary(wls_model)

حداقل مربعات وزنی در R 3

از خروجی می بینیم که برآورد ضریب برای ساعات متغیر پیش بینی کننده کمی تغییر کرده و برازش کلی مدل بهبود یافته است. مدل حداقل مربعات وزنی دارای خطای استاندارد باقی مانده 1.199 در مقایسه با 9.224 در مدل رگرسیون خطی ساده اصلی است.

تجزیه و تحلیل داده های اکتشافی در R

این نشان می دهد که مقادیر پیش بینی شده تولید شده توسط مدل حداقل مربعات وزنی در مقایسه با مقادیر پیش بینی شده تولید شده توسط مدل رگرسیون خطی ساده بسیار به مشاهدات واقعی نزدیک تر است. مدل حداقل مربعات وزنی نیز دارای R-squared 0.6762 در مقایسه با 0.6296 در مدل رگرسیون خطی ساده اصلی است. این نشان می دهد که مدل حداقل مربعات وزنی قادر به توضیح بیشتر واریانس نمرات امتحان در مقایسه با مدل رگرسیون خطی ساده است. این معیارها نشان می دهد که مدل حداقل مربعات وزنی در مقایسه با مدل رگرسیون خطی ساده، برازش بهتری را با داده ها ارائه می دهد.

های آماری

 

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

How to Perform Weighted Least Squares Regression in R

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

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