رگرسیون خطی

رگرسیون خطی با یک متغیر مستقل
تعریف
رگرسیون خطی یا تنازل خطی یا وایازی خطی یکی از روشهای تحلیل رگرسیون است. در رگرسیون خطی، متغیر وابسته ترکیب خطی‌ای از ورودی یا متغیرهای مستقل است. البته ضرورتا متغیر وابسته لازم نیست که نسبت به متغیرهای مستقل خطی باشد.
تخمین پارامترها برای مسائل تک متغیره
رگرسیون میزان اثر دو یا چند متغیر بر متغیر وابسته را می‌سنجد و همبستگی رابطه بین دو یا چند متغیر را مورد سنجش قرار می‌دهد (کریمی فر، 1387).
مثلا تحلیل رگرسیونی ساده زیر با نقطه، متغیر مستقل و ضرایب و خطی است:
خط راست:
در هر دو حالت، مقدار خطاست و پانویس شماره هر مشاهده (هر جفت و ) را نشان می‌دهد. با داشتن مجموعه‌ای از این نقطه‌ها می‌توان مدل را به دست آورد:
عبارت مانده نام دارد: . روش رایج برای به‌دست‌آوردن پارامترها، روش کمترین مربعات است. در این روش پارامترها را با کمینه‌کردن تابع زیر به دست می‌آورند:
در مورد رگرسیون ساده، پارامترها با این روش برابر خواهند بود با:
که در آن و میانگین و هستند.
تفاوت رگرسیون و همبستگی براساس هدف: هدف مدل‌های همبستگی بررسی میزان رابطه دو یا چند متغیر است در حالیکه رگرسیون به دنبال پیش‌بینی یک یا چند متغیر براساس یک یا چند متغیر دیگر است. از آنجا که رگرسیون برپایه داده‌های گذشته انجام می‌شود به آن عنوان Regression یعنی بازگشت به گذشته داده‌اند؛ بنابراین از نر هدف همبستگی میزان و شدت رابطه متغیرها را نشان می‌دهد اما رگرسیون معادله‌ای را برای پیش‌بینی متغیرها ارائه می‌کند.
تفاوت رگرسیون و همبستگی براساس روش: آنچه در خروجی نتایج رگرسیون و همبستگی باعث ایجاد تفاوت می‌شود آن است که در همبستگی همیشه اثرات متغیرها به صورت دو به دو مورد سنجش قرار می‌گیرد اما در یک مدل رگرسیون اثرات متغیرها به صورت همزمان بررسی می‌شود. یعنی در همبستگی رابطه متغیر X با متغیر Y به وجود یا عدم وجود متغیر Z ارتباطی ندارد اما اما در رگرسیون تاثیر متغیر X بر متغیر Y به وجود یا عدم وجود متغیر Z بستگی دارد.
تخمین پارامترها برای مسائل چند متغیره
صورت مسئله
در بسیاری از مسائل رایج رگرسیون ورودی چند متغیره هست. به عنوان مثال اگر فرض کنیم متغیر ما بعد دارد یعنی مسئله رگرسیون به یک مسئله بهینه‌سازی برای پیداکردن پارامتر تبدیل می‌شود. به این معنی که ما یک پارامتر چند متغیره به اسم داریم و سعی می‌کنیم که متغیر وابسته که همان است را با ترکیبی خطی از بردارد ورودی، تخمین بزنیم یعنی . حال اگر یک بعد دیگر به متغیر اضافه کنیم و مقدارش را همیشه عدد ثابت 1
در نظر بگیریم ( ) و را به صورت تغییر دهیم، تخمینی که از داریم در واقع ضرب نقطه‌ای بردار ورودی و بردار پارامترهای ماست یعنی . حال فرض کنیم که تعداد مثالهایی که قرار است برای تخمین پارامترها استفاده کنیم n
است و این مثالها را به این شکل نمایش دهیم . پارامتر بهینه پارامتری است که یک تابع ضرر را به حداقل برساند و تخمینهایی ما را به متغیر وابسته بسیار نزدیک کند. تابع ضرر را با جمع مربع تفاضل تخمینها با متغیر وابسته تعریف می‌کنیم، به این شکل که ، با این حساب پارامتر بهینه می‌شود:
تخمین پارامتر بهینه از روش کمترین مربعات
در این روش برای بدست آوردن یا همان پارامتر بهینه، از تابع نسبت به گرادیان می‌گیریم و گرادیان را برابر صفر قرار می‌دهیم و پارامتر نمونه را بدست می‌آوریم. از آنجا که تابع نسبت به تابعی کاملا محدب است، در نقطه مینیمم گرادیان ما صفر خواهد بود و این روش پارامتر بهینه را بدست می‌دهد. برای تسهیل کار شکل تابع را با بکارگیری چند ماتریس ساده می‌کنیم. دو ماتریس برای این کار نیاز داردیم ماتریس و ماتریس . ماتریس ماتریس ورودهای چندمتغیره ماست. هر سطر معادل یک نمونه از داده ماست، سطر ام برابر است با امین نمونه ورودی ما یعنی بردار ، از اینرو یک ماتریس خواهد بود. ماتریس از طرف دیگر برابر است با مجموعه متغیرهای وابسته داده ما. سطر ام این ماتریس برابر است با متغیر وابسته برای امین نمونه داده ما یا همان . ماتریس یک ماتریس است. با کمک این دو ماتریس می‌توان تابع ضرر را به شکل ذیل تعریف کرد:
حال گرادیان این تابع را نسبت به پیدا می‌کنیم که می‌شود:
با برابر قرار دادن گرادیان با صفر پارامتر بهینه بدست می‌آید:
پس پارامتر بهینه ما برابر است با:
تخمین پارامتر بهینه از روش گرادیان کاهشی تصادفی (Stochastic Gradient Descent)
روش پارامتر تخمین پارامتر بهینه از طریق کمترین مربعات ممکن است چند اشکال اساسی داشته باشد. یکی آنکه محاسبه ممکن است زمانبر باشد. بعد ماتریس مربعی برابر است با و اگر بعد بالا باشد زمان محاسبه معکوس این ماتریس می‌تواند مسئله ساز شود. مضاف بر این، ماتریس ممکن است معکوس پذیر نباشد. از این رو روشهای کاراتر و سریعتری برای تخمین پارامتر بهینه مورد استفاده قرار می‌گیرد. یکی از این روشها روش گرادیان کاهشی تصادفی است. در این روش هر بار یک مثال را بصورت اتفاقی از نمونه‌های داده انتخاب کرده، گرادیان تابع ضرر را حساب می‌کنیم و کمی در جهت خلاف گرادیان پارامتر را حرکت می‌دهیم تا به یک پارامتر جدید برسیم. گرادیان جهت موضعی بیشترین افزایش را در تابع به ما نشان میدهد، برای بیشترین کاهش موضعی در خلاف جهت گرادیان باید حرکت کرد. اینکار را آنقدر ادامه می‌دهیم که گرادیان به اندازه کافی به صفر نزدیک شود. بجای اینکه داده‌ها را بصورت تصادفی انتخاب کنیم می‌توانیم به ترتیب داده شماره تا داده شماره را انتخاب کنیم و بعد دوباره به داده اولی برگردیم و این کار را بصورت چندین انجام دهیم تا گرادیان تابع به اندازه کافی به صفر نزدیک شود. از لحاظ ریاضی این کار را می‌توان به شکل پایین انجام داد، پارامتر را در ابتدا بصورت تصادفی مقدار دهی می‌کنیم و بعد برای داده‌ام و تمامی‌ها، یعنی از تا تغییر پایین را اعمال می‌کنیم، دراینجا همان مقداریست که در جهت گرادیان هربار حرکت می‌کنیم و
\left(y_i - \vec{x^i.\vec{\beta\right)\vec{x^{i_j مشتق جزئی داده‌ام در بعد ام است:
\begin{cases\mbox{Initialize\,\,\vec{\beta^{\,old\,\, \mbox{randomly\\\mbox{loop until convergence :\\ \,\,\mbox{for\,\,\,\,i=0\,\,\,\,\mbox{to\,\,\,\,n :\\\,\,\,\,\,\,\mbox{for\,\,\,\,j=0\,\,\,\,\mbox{to\,\,\,\,m: \\ \,\,\,\,\,\,\,\,\,\,\,\,\vec{\beta^{\,new_j = \vec{\beta^{\,old_j + \alpha \left(y_i - \vec{\beta^{\,old\, . \,\vec{x^i\right)\vec{x^{i_j\\\,\,\,\,\,\,\beta^{\,old= \beta^{\,new\end{cases
تفسیر احتمالی از طریق درست نمایی بیشینه
برای بدست آوردن پارامتر بهینه تابع ضرر یعنی را به حداقل می‌رسانیم. می‌توان به همین پارامتر بهینه از روش درست نمایی بیشینه هم رسید. فرض می‌کنیم که متغیر وابسته یعنی یک متغیر تصادفی است که مقدارش از یک توزیع طبیعی (توزیع گاوسی) پیروی میکند. این توزیع احتمال، واریانس ثابتی به اسم دارد ولی میانگین آن ترکیبی خطی از متغیرهای مستقل یعنی است. به عبارت دیگر میانگین ما برابر است با . با احتساب میانگین و واریانس توزیع متغیر وابسته ما می‌شود . حال اگر فرض کنیم داده‌های ما نسبت به هم مستقل هستند تابع درست نمایی برای تمام داده‌ها می‌شود:
حال باید به دنبال پارامتری باشیم که این تابع بزرگنمایی را بیشینه کند. از آنجا که تابع لگاریتم مطلقا صعودیست، بجای بیشینه کردن این تابع لگاریتمش را هم می‌شود بیشنه کرد و پارامتر بهینه را از آن طریق پیدا کرد:
پارامتر بهینه از این طریق برابر است با :
argmax_{\vec{\beta I(D, \vec{\beta) =
argmax_{\vec{\beta \left(n\log\frac{1{\sqrt{2\pi\sigma - \frac{1{2\sigma^2\sum_{i=1^n \left(y_i - \vec{\beta \, . \, \vec{x_i \right)^2\right) = argmin_{\vec{\beta \sum_{i=1^n \left(y_i - \vec{\beta \, . \, \vec{x_i \right)^2 = argmin_{\vec{\beta L(D, \vec{\beta) = \vec{\hat{\beta
همانطور که دیدم پارامتری که را بیشینه می‌کند همان پارامتری است که را به حداقل می‌رساند. این به معنی معادل بودن روش کمترین مربعات با روش درست نمایی بیشنه در رگرسیون خطی است.
تحلیل رگرسیون
رگرسیون لجستیک