روش کمترین مربعات: برازش دقیق مدل به دادهها با کمینه کردن خطا
مفهوم خطا و مجموع مربعات آن
تصور کنید در حال بررسی رابطه بین تعداد ساعات مطالعه و نمره امتحان دانشآموزان هستید. دادههای شما شامل چندین نقطه است که هر کدام نشاندهنده یک دانشآموز است. به طور طبیعی، یک رابطه خطی بین این دو متغیر وجود دارد: هر چه بیشتر مطالعه کنید، نمره بالاتری میگیرید. اما نقاط داده دقیقاً روی یک خط راست قرار نمیگیرند. این فاصله هر نقطه از خط مورد نظر را خطا (Error) یا باقیمانده (Residual) مینامیم.
خطا برای هر نقطه برابر است با اختلاف بین مقدار واقعی (مقدار مشاهده شده) و مقدار پیشبینی شده توسط مدل. اگر این خطاها را برای تمام نقاط با هم جمع کنیم، یک عدد به دست میآید. اما مشکل اینجاست که خطاها میتوانند مثبت یا منفی باشند و ممکن است همدیگر را خنثی کنند. برای حل این مشکل، در روش کمترین مربعات، هر خطا را به توان دو میرسانیم. با این کار، همه خطاها مثبت میشوند و خطاهای بزرگتر، تأثیر بیشتری در مجموع نهایی دارند. هدف نهایی ما این است که این مجموع مربعات خطاها را به حداقل برسانیم تا دقیقترین مدل ممکن را داشته باشیم.
به عنوان یک مثال ساده، فرض کنید دادههای زیر را از سه دانشآموز داریم:
| دانشآموز | ساعت مطالعه (x) | نمره واقعی (y) |
|---|---|---|
| علی | 2 | 70 |
| مریم | 4 | 80 |
| رضا | 6 | 90 |
اگر یک خط فرضی مانند $y = 50 + 5x$ را در نظر بگیریم، نمرات پیشبینی شده برای علی، مریم و رضا به ترتیب $60$، $70$ و $80$ خواهد بود. خطاها به ترتیب $+10$، $+10$ و $+10$ هستند. مجموع مربعات خطاها برابر است با $10^2 + 10^2 + 10^2 = 300$. حال اگر خط دیگری مانند $y = 60 + 5x$ را امتحان کنیم، خطاها به $0$، $0$ و $0$ تغییر میکنند و مجموع مربعات خطا به $0$ میرسد که نشاندهنده برازش کامل است.
مراحل گامبهگام برای یافتن بهترین خط
یافتن ضرایب $a$ (شیب خط) و $b$ (عرض از مبدأ) که مجموع مربعات خطاها را کمینه کنند، از طریق مشتقگیری جزئی انجام میشود. نتیجه این فرآیند، دو معادله به نام معادلات نرمال (Normal Equations) است:
برای درک بهتر، مثال دانشآموزان را با همین فرمولها حل میکنیم. ابتدا مقادیر مورد نیاز را محاسبه میکنیم:
| متغیر | توضیح | مقدار |
|---|---|---|
| $\sum x$ | مجموع ساعات مطالعه | $2+4+6 = 12$ |
| $\sum y$ | مجموع نمرات | $70+80+90 = 240$ |
| $\sum xy$ | مجموع حاصلضرب ساعت در نمره | $(2\times70)+(4\times80)+(6\times90)=140+320+540=1000$ |
| $\sum x^2$ | مجموع مجذور ساعات مطالعه | $2^2+4^2+6^2 = 4+16+36=56$ |
| $n$ | تعداد دانشآموزان | $3$ |
حال مقادیر را در فرمولها قرار میدهیم:
بنابراین بهترین خط برازشیافته به دادهها معادله $y = 5x + 60$ است. با این خط، نمره هر دانشآموز دقیقاً با مقدار واقعی برابر است و مجموع مربعات خطاها صفر میشود.
کاربرد عملی: پیشبینی فروش بر اساس هزینه تبلیغات
فرض کنید یک شرکت کوچک میخواهد رابطه بین هزینه تبلیغات (به میلیون تومان) و فروش ماهانه خود (به میلیون تومان) را بررسی کند. دادههای پنج ماه گذشته به شرح زیر است:
| ماه | هزینه تبلیغات (x) | فروش (y) |
|---|---|---|
| فروردین | 1 | 12 |
| اردیبهشت | 2 | 19 |
| خرداد | 3 | 29 |
| تیر | 4 | 37 |
| مرداد | 5 | 45 |
با استفاده از روش کمترین مربعات، ابتدا مجموعهای لازم را محاسبه میکنیم:
سپس a و b را محاسبه میکنیم:
بنابراین مدل پیشبینی فروش بر اساس هزینه تبلیغات به صورت $y = 8.4x + 3.2$ است. به عنوان مثال، اگر شرکت در ماه آینده $6$ میلیون تومان تبلیغات کند، میتواند فروشی در حدود $8.4 \times 6 + 3.2 = 50.4 + 3.2 = 53.6$ میلیون تومان را پیشبینی کند.
چالشهای مفهومی
چرا از مربع خطا استفاده میکنیم به جای قدر مطلق خطا؟
استفاده از مربع خطا دو مزیت مهم دارد: اولاً با مجذور کردن، خطاهای مثبت و منفی همدیگر را خنثی نمیکنند. ثانیاً، مجذور کردن به خطاهای بزرگتر وزن بیشتری میدهد، بنابراین مدل سعی میکند خطاهای بزرگ را بیشتر کاهش دهد. همچنین، تابع مربع در تمام نقاط مشتقپذیر است که یافتن مینیموم را با استفاده از مشتق آسانتر میکند، در حالی که تابع قدر مطلق در نقطه صفر مشتق ندارد.
آیا روش کمترین مربعات فقط برای خط راست کاربرد دارد؟
خیر، این روش برای برازش انواع توابع از جمله چندجملهایها (مانند سهمی)، نمایی، لگاریتمی و حتی مدلهای پیچیدهتر قابل استفاده است. در این موارد، فرمولها کمی پیچیدهتر میشوند و ممکن است نیاز به حل دستگاه معادلات بزرگتر داشته باشیم، اما اصل کار یعنی کمینه کردن مجموع مربعات خطاها ثابت میماند.
وجود یک نقطه پرت (Outlier) چقدر میتواند نتیجه را تغییر دهد؟
نقاط پرت تأثیر زیادی در روش کمترین مربعات دارند. از آنجا که خطاها مجذور میشوند، یک نقطه با خطای بزرگ میتواند مجموع مربعات را به شدت افزایش دهد و مدل برای کاهش آن خطا، به سمت آن نقطه منحرف شود. به همین دلیل، قبل از برازش مدل، شناسایی و در صورت لزوم حذف نقاط پرت اهمیت زیادی دارد.
پاورقی
1 مجموع مربعات خطاها (Sum of Squared Errors - SSE): معیاری برای سنجش میزان انحراف نقاط داده از مدل برازشیافته که از جمع مربع تفاوت هر مقدار واقعی با مقدار پیشبینی شده به دست میآید.
2 معادلات نرمال (Normal Equations): مجموعه معادلاتی که از مشتقگیری جزئی از تابع مجموع مربعات خطاها نسبت به پارامترهای مدل به دست میآید و با حل آنها، مقادیر بهینه پارامترها محاسبه میشود.
3 نقطه پرت (Outlier): دادهای که به طور قابل توجهی از سایر دادهها فاصله دارد و میتواند تأثیر نامتناسبی بر روی مدل برازشیافته بگذارد.