تحلیل رگرسیون

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

تحلیل رگرسیون به صورت گسترده برای پیش‌بینی استفاده شده است. تحلیل رگرسیون همچنین برای شناخت ارتباط میان متغیر مستقل و وابسته و شکل این روابط استفاده شده است. در شرایط خاصی این تحلیل برای استنتاج روابط عالی بین متغیرهای مستقل و وابسته می‌تواند استفاده شود. هرچند این می‌تواند موجب روابط اشتباه یا باطل شود؛ بنابراین احتیاط قابل توصیه است.

تکنیک‌های زیادی برای انجام تحلیل رگرسیون توسعه داده شده است. روش‌های آشنا همچون رگرسیون خطی و حداقل مربعات که پارامتری هستند، در واقع در آن تابع رگرسیون تحت یک تعداد محدودی از پارامترهای ناشناخته از داده‌ها تخمین زده شده است. رگرسیون ناپارامتری به روش‌هایی اشاره می‌کند که به توابع رگرسیون اجازه می‌دهد تا در یک مجموعه مشخص از توابع با احتمال پارامترهای نامحدود قرار گیرند.

تحلیل رگرسیونی فن و تکنیکی آماری برای بررسی و مدل‌سازی ارتباط بین متغیرها است. رگرسیون تقریباً در هر زمینه‌ای از جمله مهندسی، فیزیک، اقتصاد، مدیریت، علوم زیستی، بیولوژی و علوم اجتماعی برای برآورد و پیش‌بینی مورد نیاز است.

## تعریف لغوی
در فرهنگ لغت واژه رگرسیون (Regression) از لحاظ لغوی به معنی پسروی، برگشت و بازگشت است. اما از دید آمار و ریاضیات به مفهوم **بازگشت به یک [[مقدار متوسط]] یا [[میانگین]]** به‌کار می‌رود. بدین معنی که برخی پدیده‌ها به مرور زمان از نظر کمی به طرف یک مقدار متوسط میل می‌کنند. پیشنهاد فرهنگستان برای این واژه **وایازش** می‌باشد.

## تاریخچه
در سال ۱۸۷۷ فرانسیس گالتون  در مقاله‌ای که دربارهٔ بازگشت به میانگین منتشر کرده‌بود، اظهار داشت که متوسط قد پسران دارای پدران قدبلند (کوتاه‌قد)، کمتر (بیشتر) از قد پدرانشان می‌باشد. به این ترتیب گالتون پدیده بازگشت به طرف میانگین را در داده‌هایش مورد تأکید قرارداد. برای گالتون رگرسیون مفهومی زیست‌شناختی داشت، اما کارهای او توسط کارل پیرسون  برای مفاهیم آماری توسعه داده‌شد. گرچه گالتون برای تأکید بر پدیده «بازگشت به سمت مقدار متوسط» از تحلیل رگرسیون استفاده کرد، اما به هر حال امروزه واژه تحلیل رگرسیون جهت اشاره به مطالعات مربوط به روابط بین متغیرها به کار برده می‌شود.

## مدل‌های وایازش
مدل‌های وایازش شامل متغیرهای زیر است:
* **پارامترهای ناشناخته**، با \beta مشخص می‌شود و یک مقیاس یا بردار نمایش می‌دهد.
* **متغیرهای مستقل** (X_i) ، جزئی از داده ها هستند که تغییرات Y_i را نسبت به آنها بررسی می کنیم و در داده ها مشاهده می شوند. اغلب به عنوان بردارX_i نمایش داده می شوند (که i در آن نشان دهنده یک ردیف داده است)
* **متغیر وابسته** (Y_i) ، که مانند X_i در داده ها مشاهده می شوند ولی به عنوان مقدار عددی Y_i نمایش داده می شوند.
* **شرایط خطا** (e_i)، که در داده ها به‌طور مستقیم مشاهده نمی شوند و معمولا با مقدار عددی e_i نشان داده می شوند

در زمینه‌های مختلفی از کاربرد (زیست‌شناسی، علوم اجتماعی، اقتصاد، هوش مصنوعی و …)، اصطلاحات مختلفی به جای متغیرهای مستقل و وابسته استفاده شده است.

اکثر مدل های رگرسیون به‌صورت زیر است که در آن Y_i یک تابع از X_i و \beta است (متغیر غیر مستقل، تابعی از متغیر مستقل و پارامتر های ناشناخته درون داده ها است)، به همراه e_i که یک عبارت خطای افزایشی است. این عبار ممکن است گاهی برای تعین کننده هایی که در مدلY_i لحاظ نشده اند یا ممکن است خطای جمع آوری داده ها (نویز تصادفی آمار) باشد.

Y_i = f(X_i, \beta)+ e_i

نشان تقریب معمولاً به عنوان E(Y_i|X_i)=f(X_i,\beta) معرفی شده است. برای انجام تحلیل رگرسیون، شکل تابع f باید مشخص شده باشد. گاهی شکل این تابع بر اساس دانشی دربارهٔ روابط بین Y_i و X_i که بر روی داده تکیه ندارد.

فرض کنید بردار پارامترهای ناشناخته \beta به طول k موجود است. برای اجرای یک تحلیل رگرسیون کاربر باید اطلاعاتی دربارهٔ متغیر وابسته Y فراهم کند:
* اگر N نقطه داده از (X_i, Y_i) مشاهده شده باشد، وقتی N\beta وجود ندارد.
* اگر تعداد نقاط N=k مشاهده شده است و تابع f خطی است، معادلات Y=f(X,\beta) دقیق حل شود. این تعداد محاسبات به یک مجموعه N معادلات با N پارامتر ناشناخته (همان عناصر \beta)کاهش می‌دهد و یک راه حل یکتا دارد، آن‌چنان‌که X متغیرهای مستقل خطی هستند. چندین راه حل شاید وجود داشته باشد، اگر f غیرخطی است.
* وضعیت بسیار مشترک N>k است. در این صورت اطلاعات کافی در داده‌ها برای تخمین مقدار یکتا برای \beta وجود دارد.

در مورد آخر، تحلیل رگرسیون ابزاری فراهم می‌کند:
# یافتن یک راه حل برای پارامترهای ناشناخته \beta، برای نمونه فاصله بین مقادیر پیش‌بینی و اندازه‌گیری شده از متغیر مستقل Y حداقل کند (حداقل مربعات)
# تحت فرض‌های آماری خاص، تحلیل رگرسیون اطلاعات زیادی برای تعیین اطلاعات آماری دربارهٔ پارامترهای ناشناخته \beta و مقادیر پیش‌بینی از متغیر تصادفی Y استفاده می‌کند.

## وایازش کاذب
**وایازش کاذب**  با فرض اینکه متغیرهای y_t و x_t مانا می‌باشند تخمین‌های ما از پارامترها و تست‌های Tو Fدرست می‌باشد. برای نشان‌دادن سازگاری تخمین‌های حداقل مربعات معمولی، ما از این نتایج زمانی که اندازه نمونه افزایش می‌یابد و واریانس نمونه به واریانس جامعه همگرا می‌شود، استفاده می‌کنیم. متأسفانه وقتی سری ناپایدار باشد واریانس خوش تعریف نیست، زیرا حول یک میانگین ثابت نوسان نمی‌کند.
برای توضیح بیشتر دو متغیر y_t و x_t را در نظر بگیرید که به وسیلهٔ یک فرایند گام تصادفی تعریف می‌شود.
# y_t=  y_{t-1} +\epsilon_1t,\quad t=1,\dots,N\!
# x_t=  x_{t-1} +\epsilon_2t,\quad t=1,\dots,N\!

که \epsilon_2t و \epsilon_1t دارای توزیع مستقل می‌باشد. هیچ دلیلی برای ارتباط بین y_t و x_t وجود ندارد. یک محقق اگر اثر y_t را روی x_t و یک جزء ثابت رگرس کند و رگرسیون زیر را انجام دهد:
:خط راست: y_i=\beta_0 +\beta_1 x_t +\epsilon_t,\quad t=1,\dots,N\!
نتایج این رگرسیون ممکن است به وسیلهٔ r^۲ بالا و خود همبستگی بالا بین باقیمانده‌ها و هم‌چنین دارای ارزش معنی‌داری برای پارامتر beta_1 باشد. این پدیده به رگرسیون کاذب معروف است. در این گونه از موارد دو سری نامانا ارتباط کاذبی دارند به این علت که که هر دوی آن‌ها در طول زمان تغییر می‌کنند و تابعی از زمانند. همان‌طور که گراجر و نی یو بلد بیان کردند در این حالت رگرسیون دارای r^۲ بالا؛ و آماره دوربین واتسون پایین خواهدبود و تست‌های Tو F ممکن است خیلی گمراه‌کننده باشند. دلیل آن نیز این است که توزیع‌های آماره‌های تست‌های سنتی خیلی متفاوت از نتایجی که تحت فرض مانایی گرفته‌می‌شود، می‌باشد. به‌خصوص همان‌طور که فلیپس (۱۹۸۷)نشان داد؛ همان‌طور که اندازه نمونه افزایش می‌یابد، نمی‌توان به معنی‌داری تخمین زن حداقل مربعات معمولی و آماره‌های تست‌های Tو F و آماره دوربین واتسون اعتماد کرد. دلیل آن این است که y_t و x_t متغیرهای I(1) می‌باشد و جزء خطا نیز یک متغیر ناماناI(1) است.

اگر ارزش‌های گذشته هر دو متغیر وابسته و مستقل را در رگرسیون وارد کنیم، مشکل رگرسیون کاذب حل می‌شود. در این حالت تخمین‌های حداقل مربعات معمولی برای همه پارامترها سازگار است.

## شیوه‌ها
شیوه‌های مهم تحلیل‌های وایازشی به شرج زیر هستند:
* رگرسیون خطی ساده
* رگرسیون خطی چندگانه
* رگرسیون فازی
* رگرسیون لجستیک
این تنوع سبب شده است که بتوان به راحتی هر نوع داده‌ای (اغلب از نوع داده‌های پیوسته) را تحلیل کرد و به راحتی نتیجه‌گیری نمود.

## جلوگیری از بیش‌برازش (Overfitting)
در رگرسیون خطی‌ای که تنها محدود به تنظیم ضرایب یک چندجمله‌ای باشد، هیچ قانون محدودکننده‌ای روی وزن‌ها وجود ندارد. این کار سبب پیچیده‌تر شدن مدل می‌شود که به overfitting بر روی داده train منجر می‌شود. به گذاشتن محدودیت روی وزن‌ها regularization می‌گوییم. به عبارتی وظیفه ما مینیمم کردن مجموع loss و regularization term است.
حال مدل‌هایی را معرفی می‌کنیم که بخش regularization را به رگرسیون خطی اضافه کرده‌اند.
* ریج رگرسیون (Ridge Regression)
ریج رگرسیون یک تکنیک است که هنگامی استفاده می‌شود که دیتای مورد استفاده مشکل چندخطی بودن دارد. (متغیرهای تصادفی مستقلی که ضریب همبستگی بالایی دارند)
در چندخطی بودن اگر چه تخمین‌های کمترین مربعات بایاس Bias کم است اما واریانس Variance زیاد است که سبب انحراف مقدار پیش‌بینی شده، مدل از مقدار واقعی می‌شود. با اضافه کردن درجاتی از Bias به تخمین‌های رگرسیون، ریج رگرسیون خطای استاندارد standard error را کاهش می‌دهد.
در این مدل، regularization term به صورت جمع توان دو وزن‌ها تعریف می‌شود. به عبارتی در این مدل باید تابع زیر را کمینه کنیم:

   \Sigma_{i=1}^{m}{(y-Xw)^2} + \alpha \Sigma_{j=1}^{p}{w_j^2}  
* لسو رگرسیون (Lasso Regression)
مشابه با Lasso Regression ,Ridge Regression (که مخفف عبارت Least Absolute Shrinkage and Selection Operator است) نیز به مقدار قدرمطلقی ضرایب رگرسیون پنالتی اختصاص می‌دهد. اگر به رابطهٔ Lasso Regression نگاه کنیم می‌بینیم که تفاوت Lasso Regression با Ridge Regression آن است که از تابع قدرمطلق به جای مجذور در تابع پنالتی استفاده می‌کند. Lasso Regularization ضرایب رگرسیون را به ۰ می‌رساند که کمک زیادی به انتخاب ویژگی (Feature Selection) می‌کند. اگر مدل‌های پیش‌بینی‌کننده مقدار زیادی با هم همبستگی داشته باشند Lasso فقط یکی از آن‌ها را انتخاب می‌کند و بقیه را به ۰ کاهش می‌دهد. Lasso یک روش Regularization است که از L1 Regularization استفاده می‌کند.

در این مدل، regularization term به صورت جمع قدر مطلق وزن‌ها تعریف می‌شود. به عبارتی در این مدل باید تابع زیر را کمینه کنیم:

 \Sigma_{i=1}^{m}{(y-Xw)^2} + \alpha \Sigma_{j=1}^{p}{\mid w_j\mid} 
* الاستیک نت (Elastic Net)
این مدل در واقع ترکیبی از Lasso و Ridge است که با L1 Regularizer و L2 Regularizer آموزش داده می‌شود. این مدل هنگامی استفاده می‌شود که ویژگی‌های زیادی وجود دارند که همبستگی دارند. Lasso در چنین شرایطی یکی را انتخاب می‌کند، اما Elastic net به میزانی از هر دو را انتخاب می‌کند. در واقع اگر مقدار ratio در پارامترها برابر با صفر باشد، مدل تبدیل به Ridge می‌شود و اگر برابر با یک باشد مدل تبدیل به Lasso می‌شود. در این مدل، regularization term به صورت جمع توان دو و توان یک‌وزن‌ها تعریف می‌شود. به عبارتی خصوصیت‌های ridge و lasso را در خود جمع کرده است. در این مدل باید تابع زیر را کمینه کنیم:                                                                                                                       \frac{1}{2m} \Sigma_{i=1}^{m}{(y-Xw)^2} + \alpha * ratio * \Sigma_{j=1}^{p}{\mid w_j\mid} + 0.5 * \alpha * (1-ratio) * \Sigma_{j=1}^{p}{w_j^2} 

## برازش لاجستیک(Logistic Regression)
بندانگشتی|Logistic Regression
رگرسیون لجستیک در اوایل قرن بیستم در علوم زیستی مورد استفاده قرار گرفت. سپس در بسیاری از کاربردهای علوم اجتماعی مورد استفاده قرار گرفت. رگرسیون لجستیک زمانی استفاده می‌شود که متغیر وابسته (هدف) موضوعی(Categorial) ای باشد.
رگرسیون لجستیک تحلیل رگرسیونی مناسب برای زمانی است که متغیر وابسته دوگانه است (باینری). مانند تمام تحلیل‌های رگرسیون، رگرسیون لجستیک یک تحلیل پیش‌بینی‌کننده است. رگرسیون لجستیک برای توصیف داده‌ها و توضیح رابطه بین یک متغیر باینری وابسته و یک یا چند متغیر مستقل اسمی، ترتیبی، بازه ای یا نسبتی استفاده می‌شود.
گاهی اوقات تفسیر رگرسیون لجستیک دشوار است. ابزار آمار Intellectus به راحتی به شما امکان می‌دهد تجزیه و تحلیل را انجام دهید، سپس به انگلیسی ساده خروجی را تفسیر می‌کند.

رگرسیون لجستیک چند جمله ای(Multinomial) می‌تواند سناریوهایی را مدل کند که در آن بیش از دو نتیجه مجزا وجود دارد. رگرسیون لجستیک یک روش تجزیه و تحلیل مفید برای مسائل طبقه‌بندی است، که در آن شما سعی می‌کنید تعیین کنید که آیا یک نمونه جدید به بهترین وجه در یک دسته قرار می‌گیرد یا خیر. از آنجایی که جنبه‌های امنیت سایبری مشکلات طبقه‌بندی هستند، مانند تشخیص حمله، رگرسیون لجستیک یک تکنیک تحلیلی مفید است.

## محاسبه
برای انجام یک تحلیل وایازشی ابتدا تحلیل‌گر حدس می‌زند که بین دو متغیر، نوعی ارتباط وجود دارد، در حقیقت حدس می‌زند که یک رابطه به شکل یک خط بین دو متغیر وجود دارد و سپس به جمع‌آوری اطلاعات کمی از دو متغیر می‌پردازد و این داده‌ها را به صورت نقاطی در یک نمودار دو بعدی رسم می‌کند.

### نرم‌افزارها
نرم‌افزارهای بسیاری هستند که قابلیت محاسبه رگرسیون را دارند و مشهورترین آن‌ها عبارتند از:
* نرم‌افزار مایکروسافت اکسل (که ساده‌ترین نرم‌افزار است)
* اس‌پی‌اس‌اس SPSS
* اس‌پلاس +S یا Plus-S
* ساس (نرم‌افزار) SAS
* آر R
* کتابخانه sklearn در Python

## جستارهای وابسته
* تحلیل رگرسیون
* رگرسیون خطی
* رگرسیون لجستیک

## منابع


رده:آمار ریاضی
رده:اقتصادسنجی
رده:بیم‌سنجی
رده:پیش‌بینی آماری
رده:تحلیل سری زمانی
رده:روش‌های آماری
رده:مدل‌های رگرسیون
رده:واژگان مدیریت زنجیره تأمین
رده:ویکی‌سازی رباتیک