کمترین مربعات جزئی

**کمترین مربعات جزئی**  (انگلیسی: **Partial least squares regression** (**PLS regression**)) یکی از روش‌های تحلیل رگرسیون است. در این روش، راه حل حداقل مربعات بر روی تعدادی مؤلفه متعامد که ترکیبی خطی از متغیرهای مستقل هستند و به صورت متناوب و با هدف بیشینه‌کردن کوواریانسِ تبدیل خطیِ متغیرهای مستقل و متغیرهای وابسته ایجاد شده‌اند، اعمال می‌شود.

کمترین مربعات جزئی توسط آماردان سوئدی، Herman O. A. Wold معرفی‌شد که سپس آن را با پسرش Svante Wold توسعه‌داد. یک اصطلاح جایگزین برای «حداقل مربعات جزئی»، **نگاشت به ساختارهای پنهان** است، اما هوز «حداقل مربعات جزئی» در بسیاری از حوزه‌ها اصطلاح رایج است. اگرچه کاربردهای اصلی آن در علوم اجتماعی بود، اما امروزه PLS بیشترین کاربرد را در شیمیِ آماری و حوزه‌های مرتبط دارد. همچنین در بیوانفورماتیک، حس سنجی، علوم اعصاب و انسان‌شناسی نیز استفاده می‌شود.

## رابطه ریاضی
فرض می‌کنیم  n  داده داریم که هر کدام از یک متغیر وابسته و   p  متغیر مستقل تشکیل شده‌است؛ به کمک متغیرهای مستقل متغیر وابسته را پیش‌بینی می‌کنیم. مقادیر متغیرهای مستقل (به همراه یک بردار ثابت  1 ) و مقادیر متغیر وابسته را به ترتیب در ماتریس‌های  \mathbf {X} _{n\times (p+1)}  و  \mathbf {Y} _{n\times 1}  به شکل پایین نمایش می‌دهیم؛ در اینجا   \mathbf {X} _{i}  یک ماتریس  n\times 1  از مقادیر  i  امین متغیر مستقل است:
 \mathbf {X} _{n\times (p+1)}=\left(\mathbf {1} ,\mathbf {X} _{1},\ldots ,\mathbf {X} _{n}\right)^{\top} 
 \mathbf {Y} _{n\times 1}=\left(y_{1},\ldots ,y_{n}\right)^{\top} 
هدف از رگرسیون خطی بدست آوردن پارامتر  {\boldsymbol {\beta }}\in \mathbb {R} ^{p+1}  است به شکلی که  \mathbf {Y} =\mathbf {X} {\boldsymbol {\beta }}+{\boldsymbol {\varepsilon }}  در اینجا  \varepsilon   یک متغیر تصادفی است که خطای مدل را نشان می‌دهد. این خطا از توزیع طبیعی با میانگین صفر و واریانس ثابت برای تمامی ابعاد پیروی می‌کند به این معنی که  \operatorname {E} \left({\boldsymbol {\varepsilon }}\right)=\mathbf {0} \;   و  \;\operatorname {Var} \left({\boldsymbol {\varepsilon }}\right)=\sigma ^{2}I_{n\times n} . از طریق روش حداقل مربعات می‌توان  ||\mathbf {Y} -\mathbf {X} {\boldsymbol {\beta }}||^{2}   یعنی مربع میزان خطاها را کمینه کرد و به پارامتر بهینه رسید. این پارامتر با  {\widehat {\boldsymbol {\beta }}}_{\mathrm {ols} }=(\mathbf {X} ^{\top}\mathbf {X} )^{-1}\mathbf {X} ^{\top}\mathbf {Y}   برابراست. یکی از مشکلات اصلی این روش عدم وارونپذیری  (\mathbf {X} ^{\top}\mathbf {X} )^{-1}  است. برای حل این مشکل، حداقل مربعات جزئی، متناوباً مولفه‌هایی متعامد ( \mathbf {Z_{m}}    در پایین) که ترکیبی خطی از متغیرهای مستقل هستند تولید می‌کند و در نهایت راه حل حداقل مربعات را بر روی این مولفه‌ها اعمال می‌کند. ضرایب متغیرهای مستقل در مولفه‌ها با ضرب نقطه‌ایِ متغیرهای وابسته و مستقل برابر است. متغیرهای مستقل در ابتدای کار استاندارد شده‌اند یعنی میانگین صفر و واریانس یک دارند. در پایان هر مرحله متغیرهای مستقل نسبت به مولفه آن مرحله متعامد می‌شوند. این کار باعث می‌شود که در پایان تمام مولفه‌ها نسبت به هم متعامد باشند. الگوریتم تولید مولفه‌ها برای  k\leq p   به شکل پایین است ( k   از روش اعتبارسنجی متقابل محاسبه می‌شود):

 {\begin{cases}\,\,{\mbox{ for }}\,\,j\,\,=\,\,1,\cdots ,p:\\\,\,\,\,\,\,\,\,\,\,\mathbf {X} _{j}^{(0)}=\mathbf {X} _{j}\\\,\,{\mbox{ for }}\,\,m=\,\,1,\cdots ,k:\\\,\,\,\,\,\,\,\,\,\,\mathbf {Z} _{m}=\sum _{j=1}^{p}\left\langle \mathbf {X} _{j}^{(m-1)},\mathbf {Y} \right\rangle \mathbf {X} _{j}^{(m-1)}\\\,\,\,\,\,\,\,\,\,{\mbox{ for }}\,\,j\,\,=\,\,1,\cdots ,p:\\\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\mathbf {X} _{j}^{(m)}=\mathbf {X} _{j}^{(m)}-{\frac {\langle \mathbf {Z} _{m}\,,\,\mathbf {Y} \rangle }{\langle \mathbf {Z} _{m}\,,\,\mathbf {Z} _{m}\rangle }}\mathbf {Z} _{m}\\\,\,{\hat {\mathbf {Y} }}={\bar {\mathbf {Y} }}\mathbf {1} +\sum _{m=1}^{k}{\frac {\langle \mathbf {Z} _{m}\,,\,\mathbf {Y} \rangle }{\langle \mathbf {Z} _{m}\,,\,\mathbf {Z} _{m}\rangle }}\mathbf {Z} _{m}\\\end{cases}} 

از آنجا که  {\hat {\mathbf {Y} }}   یا همان مقدار پیش‌بینی شده، ترکیبی خطی از  \mathbf {Z} _{m} ‌ها است و خود  \mathbf {Z} _{m} ‌ها هم ترکیبی خطی از متغیرهای مستقل هستند، در نهایت مدل رگرسیون ترکیبی خطی از متغیرهای مستقل خواهد بود.

## الگوریتم PLS1
PLS1 یک الگوریتم پرکاربرد است که وقتی از آن استفاده می‌شود که Y یک بردار باشد. این الگوریتم در شبه‌کد زیر بیان می‌شود (حروف بزرگ ماتریس هستند، حروف کوچک اگر بالانویس داشته باشند بردار، و اگر اندیس داشته‌باشند اسکالر هستند):

  
  1 
  2 
  3 , an initial estimate of .
  4 
  5 
  6 ^\mathrm{T} t^{(k)} (note this is a scalar)}}
  7 
  8 ^\mathrm{T} t^{(k)}}}
  9 
 10 
 11 
 12 
 13 ^\mathrm{T}}}
 14 ^\mathrm{T} y }}
 15 
 16 **define**  to be the matrix 
  Do the same to form the  matrix and  vector.
 17 
 18 ^\mathrm{T} B}}
 19 

این شکل از الگوریتم نیازی به مرکزیت ورودی X و Y (کم کردن میانگین هر ستون از تک تک درایه‌های آن ستون در ماتریس) ندارد، زیرا این کار به‌طور ضمنی توسط الگوریتم انجام می‌شود. متغیر *l* (فراهم‌شده توسط کاربر) محدودیتی برای تعداد متغییرهای پنهان در رگرسیون است و اگر با رتبه ماتریس *X* برابر باشد، الگوریتم تخمین‌های رگرسیون کمترین مربعات را برای *B و* B_0 به دست می‌دهد.

## جستارهای وابسته
تحلیل مولفه‌های اصلی

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

رگرسیون خطی

## یادداشت‌ها

## منابع

رده:کمترین مربعات
رده:مدل‌های متغییرهای پنهان