پیش بینی به کمک رگرسیون خطی در R

رگرسیون خطی برای پیش بینی مقدار یک متغیر نتیجه مثل Y بر اساس یک یا چند متغیر پیش بینی ورودی مثل X استفاده می شود. هدف برقراری یک رابطه خطی (یک فرمول ریاضی) بین متغیرهای پیش بینی کننده و متغیر پاسخ است، به طوری که ، ما بتوانیم از این فرمول برای تخمین ارزش پاسخ Y بر اساس مقادیرپیش بینی کننده (X ها) استفاده کنیم.

این معادله ریاضی را می توان به صورت زیر تعمیم داد:

Y = β۱ + β۲X + ε

β۱ و β۲ ضرایب رگرسیون نامیده می شوند.
ε عبارت خطا است.
به β۲ شیب خط رگرسیون هم گفته می شود.

مسئله نمونه

برای مثال، از مجموعه داده های خودرو که به طور پیش فرض همراه R هستند، استفاده می کنیم.
cars یک مجموعه داده استاندارد است. برای دسترسی به این مجموعه داده ها کافیست عبارت cars را در کنسول R تایپ کنید. این مجموعه شامل ۵۰ رکورد (ردیف) و ۲ متغیر (ستون) – dist و speed – است.

regression-example-1
شش رکورد ابتدایی مجموعه داده cars

قبل از اینکه ساخت مدل رگراسیون را شروع کنیم، بهتر است داده ها را تحلیل کرده و متغیرها را بیشتر بشناسیم. بدین منظور از تجزیه و تحلیل گرافیکی و بررسی همبستگی استفاده می کنیم.

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

  • Scatter Plot : ارتباط خطی بین متغیر پیش بینی (X) و پاسخ (Y) را به تصویر می کشد.
  • Box Plot : برای نمایش رکوردهای پرت و متغیرهایی با تغییرات زیاد و ناگهانی استفاده می شود.
  • Density Plot : نحوه ی توزیع متغیر پیش بینی کننده را نمایش می دهد.
    در حالت ایده آل، بهتر است داده ها دارای توزیع نرمال (منحنی به شکل زنگ) باشند.

Scatter Plot

scatter-smooth

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

scatter-smooth-plot

نمودار بالا نشان می دهد که رابطه خطی خوبی بین متغیرهای ‘dist’ و ‘speed’ وجود دارد.
یکی از فرضهای اساسی رگرسیون خطی این است که بین متغیرهای پیش بینی و نتیجه تابع، رابطه خوبی برقرار باشد.

Box Plot- بررسی وجود داده های پرت

به طور کلی، هر داده ای که در خارج از محدوده ۱/۵برابر محدوده بین چارک اول
(۲۵ درصد) و چارک سوم (۷۵ درصد) باشد داده ی پرت محسوب می شود.

Density plot – بررسی اینکه آیا نتیجه تابع رگرسیون نرمال است.

همبستگی (Correlation)

همبستگی یک معیار آماری است که سطح وابستگی خطی بین دو متغیر را نشان می دهد. همبستگی می تواند مقادیر بین -۱ تا +۱ باشد. مشاهده می شود برای هر نمونه ای که در آن مقدار متغیر “speed” افزایش می یابد، مقدار متغیر “dist” نیز همراه با آن افزایش می یابد و در نتیجه همبستگی مثبتی بین آنها وجود دارد و نزدیک به ۱ می باشد.

مقادیر نزدیک به ۰ نشان دهنده یک رابطه ضعیف بین متغیرها است، بطور مثال همبستگی بین (۰/۲) و (۰/۲-) بدین معنی است که تغییرات نتیجه تابع رگرسیون (Y) توسط متغیر پیش بینی کننده (X) به خوبی توضیح داده نمی شود، در این صورت احتمالا باید به دنبال متغیرهای توضیحی بهتری باشیم.

مدلسازی

حال که رابطه خطی را به صورت تصویری در scatter plot دیدیم و همبستگی بین متغیرها را با استفاده از تابع cor بررسی کردیم، نوبت به مدلسازی می رسد. تابع استفاده شده برای ساخت مدل های خطی “()lm” است. تابع “()lm” دو پارامتر اصلی را دریافت می کند: ۱. فرمول ۲. داده.

داده ها معمولا یک data.frame هستند و فرمول یک شی از فرمول کلاس است.

حال مدل خطی ساخته شد و ارتباط بین متغیر پیش بینی کننده و پاسخ را به صورت یک فرمول ریاضی برای فاصله (dist) به عنوان تابعی از متغیر سرعت (speed) داریم. در خروجی مدل دو ضریب مشخص شده است: Intercept: -17.579 و speed: 3.932
به عبارت دیگر،

( dist = Intercept + (β ∗ speed
dist = −۱۷.۵۷۹ + ۳.۹۳۲∗speed

منبع مطالب : http://r-statistics.co

مطالب مرتبط