رگرسیون محلی

**رگرسیون محلی** یا **رگرسیون چند جمله‌ای محلی**   یا **رگرسیون متحرک** نام‌های متداول این روش هستند، که در واقع  تعمیم روش‌های میانگین متحرک و رگرسیون چند جمله‌ای است.  متداول‌ترین روش‌های که از آن استفاده می‌شود، برای هموارسازی نمودار پراکنده توسعه داده شد، **LOESS** (  **هموارسازی پراکنده تخمینی محلی** ) و **LOWESS** ( **هموارسازی پراکنده با وزن محلی** )، هر دو به صورت مقابل تلفظ می‌شوند  . این دو روش به روش رگرسیون ناپارامتریک مرتبط هستند که در واقع چند مدل‌ رگرسیون چندگانه را با هم ترکیب کرد و به وسیله روش  ''k'' -نزدیک‌ترین همسایه مقدار را حساب می‌کند. LOESS  در بعضی از شاخه‌ها معمولاً به‌عنوان فیلتر Savitzky-Golay   ( 15 سال قبل از LOESS ارائه شده ) شناخته می‌شود.

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

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

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

## تعریف مدل
در سال 1964، Savitsky و Golay روشی معادل LOESS را پیشنهاد کردند که معمولاً به نام فیلتر Savitzky-Golay در دنیا شناخته می‌شود. ویلیام اس. کلیولند این روش را در سال 1979 دوباره ایجاد کرد و نامی جدیدبرای آن انتخاب کرد. این روش بعد‌ها توسط کلیولند و سوزان جی دولین (1988) توسعه یافت. LOWESS همچنین به عنوان رگرسیون چند جمله‌ای با وزن محلی نیز در دنیا معروف است.

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

## زیرمجموعه های محلی داده ها
**زیر مجموعه** داده‌های مورد استفاده برای هر حداقل مربعات وزنی که در الگوریتم مور استفاده LOESS قرار می‌گیرد توسط الگوریتم نزدیکترین همسایه محاسبه می‌شود."پهنای باند" یا " پارامتر هموارسازی" پارامتر است که مشخص می‌کند چه درصد از داده‌ها در  هر چند جمله‌ای محلی استفاده می‌شود. پارامتر هموارسازی که با علامت \alpha  بیان می‌شود، مشخص می کند که چه کسری از تعداد کل *n* داده‌ها در هر چند جمله محلی استفاده شود. بنابراین، زیرمجموعه داده‌های مورد استفاده در هر برازش حداقل مربعات خطا وزنی شامل  n\alpha  (به بزرگ‌ترین عدد صحیح بعدی گرد شده) از داده‌ها می‌شود که مقادیر متغیرهای توضیحی آن‌ها به نقطه‌ای که قرار است پاسخ تخمین زده شود کم‌ترین فاصله را داشته باشند. 

اگر که یک چند جمله‌ای از درجه *k*  باشد، حداقل به K+1 نقطه برای محاسبه نیاز دارد. مقدار پارامتر هموارسازی ( \alpha ) باید بین  \left(\lambda+1\right)/n و 1باشد تا بتواند که تعداد نقطه مورد نیاز ما را برای هر چند جمله‌ای فراهم کند.  \lambda نشان دهنده درجه چند جمله‌ای محلی است.

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

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

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

تابع محاسبه وزن سنتی برای LOESS ، تابع وزن سه مکعبی است که در زیر فرمول آن آمده است.

w(x) = (1 - |d|^3)^3


*d* فاصله یک نقطه معین از نقطه روی منحنی که از تابع بدست می آید است ، که مقدار آن در محدوده 0 تا 1 قرار دارد 

اما می توان از هر تابع دیگری که شرایط ذکر شده در   کلیولند (1979) را برآورده کند نیز می توان به عنوان تابع وزنی  استفاده کرد. وزن برای یک نقطه خاص در هر زیرمجموعه محلی از داده ها به وسیله محاسبه  تابع وزن در فاصله بین آن نقطه و نقطه تخمین به مورد استفاده قرار می گیرد به صورتی که حداکثر فاصله مطلق از تمام نقاط زیر مجموعه داده را برابر یک و بقیه فاصله ها را نسبت به آن حساب می کنیم.

مدل رگرسیون خطی با متریک w(x,z) در فضای \mathbb R^m که به دو پارامتر  x,z\in\mathbb R^n  وابسته است ، در نظر بگیرید . فرض کنید که فرضیه خطی بر اساس ورودی با  n پارامتر است و  فضای ورودی  \mathbb R^n به \mathbb R^{n+1}  تعمیم می دهیم ، مانند x\mapsto \hat x := (1,x) و *تابع هزینه* به صورت زیر تعریف شده است.

\operatorname{RSS}_x(A) = \sum_{i=1}^N(y_i-A\hat x_i)^Tw_i(x)(y_i-A\hat x_i).


A یک m\times(n+1) ماتریس از ضرایب حقیقی می باشد ، w_i(x):=w(x_i,x) و زیرنویس *i* بردارهای ورودی و خروجی را از یک مجموعه آموزشی حرکت می کند. از آنجا که w یک متریک است و  یک ماتریس متقارن و یک ماتریس معین است ، بنابراین  ماتریس متقارن دیگری مانند h وجود دارد که  که بتوان به صورت w=h^2  آن را نوشت. تابع هزینه بالا به وسیله استفاده اثر می توان به صورت معادله جدید در آورد :

y^Twy = (hy)^T(hy) = \operatorname{Tr}(hyy^Th) = \operatorname{Tr}(wyy^T) .

به وسیله تغییر ساختار y_i   به ستون های m\times N در ماتریس Y و \hat x_i بهستون های (n+1)\times N ماتریس \hat X ، می توان تابع هزینه را به فرم زیر نوشته :

\operatorname{Tr}(W(x)(Y-A\hat X)^T(Y-A\hat X))



مارتیس  W یک ماتریس مربع  N\times N است که اعضای آن w_i(x) هستند .با مشتق گرفتن نسبت به  A و صفر قرار دادن معادله به فرمول زیر می رسیم.

A\hat XW(x)\hat X^T = YW(x)\hat X^T.



با فرض اینکه ماتریس مربعی \hat XW(x)\hat X^T  یک ماتریس غیر منفرد تابع هزینه  \operatorname{RSS}_x(A)  زمانی به حداقل مقدار می رسد:

A(x) = YW(x)\hat X^T(\hat XW(x)\hat X^T)^{-1}.


یک انتخداب متداول برای w(x,z) ، می تواند وزن گاوسی است: 

w(x,z) = \exp\left(-\frac{\| x-z \|^2}{2\alpha^2}\right)


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

LOESS بیشتر مزایایی مدل‌های خطی با حداقل مربعات خطا را به همراه دارد. مهم‌ترین آن‌ها تئوری محاسبه عدم قطعیت برای پیش بینی و کالیبراسیون است. بسیاری از آزمون‌ها و روش‌های مورد استفاده برای اعتبارسنجی مدل‌های حداقل مربعات خطا را می‌توان برای مدل‌ LOESS نیز تعمیم داد. .

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

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

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

## همچنین ببینید

* درجات آزادی (آمار) در رگرسیون غیر استاندارد
* میانگین متحرک
* آمار ناپارامتریک

## منابع


## لینک های خارجی

* رگرسیون محلی و مدل سازی انتخابات
* هموارسازی با رگرسیون محلی: اصول و روش ها (سند پست اسکریپت)
* بخش راهنمای آمار مهندسی NIST در مورد LOESS
* نرم افزار اتصالات محلی
* صاف کردن پلات پراکنده
* R: برازش رگرسیون چند جمله ای محلی تابع لس در R
* R: Scatter Plot Smoothing تابع Lowess در R
* تابع supsmu (SuperSmoother فریدمن) در R
* Quantile LOESS - روشی برای انجام رگرسیون محلی بر روی یک پنجره متحرک **Quantile** (با کد R)
* نیت سیلور، نظر درباره ازدواج همجنس‌گرایان چگونه تغییر می‌کند و به چه معناست - نمونه‌ای از LOESS در مقابل رگرسیون خطی

## پیاده سازی ها

* پیاده سازی فرترن
* پیاده سازی C (از پروژه R)
* پیاده سازی Lowess در Cython توسط Carl Vogel
* پیاده سازی پایتون (در Statsmodels)
* LOESS صاف کردن در اکسل
* اجرای LOESS در جولیا خالص
* پیاده سازی جاوا اسکریپت
* پیاده سازی جاوا

این مقاله حاوی مطالب مربوط به حوزه عمومی از موسسه ملی استاندارد و فناوری است.
رده:خطاهای CS1: فاقد periodical
رده:CS1: مقدار volume طولانی