آموزش رگرسیون خطی با استفاده از روش حداقل مربعات خطا در MATLAB

۳۱ شهریور ۱۳۹۸

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

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

رگرسیون خطی


این رگرسیون زمانی استفاده میشود که متغیر پاسخ تنها به یک متغیر مستقل وابسته است. رابطه y=a+bx  یک مدل رگرسیون خطی را نشان میدهد، که پارامترهای a و b به ترتیب عرض از مبدأ خط و شیب خط را نشان میدهد و x و y نیز ورودی مستقل و پاسخ را نشان میدهد.

با توجه به اینکه همواره جهت رسیدن به پاسخ دقیق، پارامترهای a و b ممکن است تقریبی محاسبه شده باشند، مدل رگرسیون خطی y=a+bx+e معرفی میشود که به نوعی خطای محاسبه را نشان میدهد و به کمک آن میتوان تخمین دقیقتری از پارامترهای مدل را به دست آورد.

در این روش میتوان با توجه به اطلاعات گذشته، مدل ریاضی را ارائه و به پیشبینی آینده پرداخت. اما در صورتی میتوان از این روش استفاده کرد که شرایط عمومی حاکم بر سیستم استمرار را داشته باشد. شکل ۱ نمایش خط رگرسیون و نمونه های مختلف در یک فضای دوبعدی را نشان میدهد.

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

شکل ۱) نمایش خط رگرسیون

زمانی میتوان از این روش در پیشبینی مقادیر آینده استفاده کرد که قدرمطلق ضریب همبستگی بین متغیر مورد نظر باگذشت زمان بزرگتر از ۵۰ درصد باشد. این شرط به معنیدار بودن متغیر مستقل با گذشت زمان اشاره دارد. شکل ۲ رابطه خط رگرسیون، نحوه محاسبه پارامترهای مدل ریاضی ونیز ضریب همبستگی (r) را نشان میدهد.

شکل ۲) روابط مربوط به محاسبه پارامترهای خط رگرسیون و ضریب همبستگی

جهت درک بهتر نحوه محاسبه خط رگرسیون یک مثال در حوزه پزشکی مطرح میشود. فرض کنید تعداد بیمارستان های ساخته شده در سال های ۱۳۹۰ تا ۱۳۹۷ در یک استان خاص به شرح جدول ۱ است، میخواهیم با استفاده از روش رگرسیون خطی تعداد بیمارستان ساخته شده در سال ۱۳۹۸ را پیشبینی و مقدار خطا را محاسبه کنیم.

شکل ۳ برنامه نوشته شده جهت به تصویر کشیدن پراکندگی نمونه ها در یک فضای دو بعدی را نشان میدهد. خط اول تعداد سال های ساخت بیمارستان را نشان میدهد. خط دوم به تعریف سال های ساخت بیمارستان اشاره دارد. خط سوم، تعداد بیمارستان های ساخته شده را نشان میدهد.

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

در صورت عدم استفاده از این دستور محور افقی با مقادیر ۱ تا ۸ برچسب زده میشود. خط های هفتم و هشتم به ترتیب برای انتخاب عنوان مناسب برای محورهای افقی و عمودی استفاده میشوند. خط نهم نیز به محدودکردن محورهای افقی و عمودی اشاره میکند. محور افقی بین اعداد ۱ تا ۸ و محور عمودی بین اعداد ۱ تا ۱۰ محدود شده اند.

شکل ۳) تصویر برنامه نوشته شده جهت نمایش پراکندگی نمونه ها

هدف، به دست آوردن خطی است که حداقل فاصله را از نمونه ها داشته باشد. برای این منظور طبق روابط ذکر شده در شکل ۲ به تعریف فرمولها در محیط نرم افزار MATLAB میپردازیم. خط های اول و دوم برنامه نوشته شده در شکل ۴، برای محاسبه میانگین ورودی و خروجی استفاده شده است.

خط های ۳ و ۴ مجموع مقادیر ورودی و خروجی را محاسبه کرده است. مجموع مقادیر ورودی ها به توان ۲ و همچنین خروجیها به توان ۲ در خط های ۵ و ۶ تعریف شده است. خط ۷ به مجموع ضرب ورودی در خروجی اختصاص دارد. خط های ۸ و ۹ به پیاده سازی روابط پارامترهای b و a ذکر شده در شکل ۲ پرداخته شده است.

خط ۱۰ به تخمین مقادیر خروجی با استفاده از روش رگرسیون اشاره دارد. خط های ۱۱ تا ۱۶ نیز برای رسم دو شکل روی هم استفاده میشود. که شکل اول مربوط به نمونه های واقعی و شکل دوم مربوط به خط رگرسیون است. خط ۱۷ نیز برای انتخاب برچسب مناسب برای دو شکل رسم شده در یک نمودار نوشته شده است. شکل ۵، تصویر نمونه های واقعی و خط رگرسیون را نشان میدهد.

شکل ۴) برنامه نوشته شده جهت ترسیم خط رگرسیون
شکل ۵) نمایش نمونه های واقعی و خط رگرسیون

محاسبه حداقل میانگین مربعات خطا


به منظور تعیین میزان کارایی روش پیشنهادی در پیشبینی درست تعداد ساختمان های ساخته شده لازم است از روش حداقل مربعات خطا، میزان خطای روش ارائه شده تعیین شود. برای محاسبه درصد این خطا کافی است، مقدار پاسخ واقعی (y) را از پاسخ تخمین (y_hat) کم کرده و به توان ۲ برسانیم سپس با هم جمع کرده و بر تعداد نمونه ها (۸) تقسیم و در ۱۰۰ ضرب کنیم.


شکل ۶، نحوه محاسبه خطا معرفی شده در نرم افزار MATLAB را نشان میدهد. همچنین برای محاسبه تعداد بیمارستان های ساخته شده در سال ۱۳۹۸ باید مقدار سال نهم را در رابطه رگرسیون مطابق شکل ۶ قرار داد. همانطور که در این شکل مشخص است میزان خطا حدود ۲۷ درصد و تعداد بیمارستان پیشبینی شده برای ساخت در سال نهم نیز بیش از ۹ است.

شکل ۶) نحوه محاسبه میانگین مربعات خطا و تعداد بیمارستان پیشبینی شده جهت ساخت در سال نهم


۰
برچسب ها :
نویسنده مطلب hossein
کارشناس مهندسی پزشکی - توسعه دهنده سیستم های پردازش تصویر

بدون دیدگاه

رسانه های همکار