Lineární regrese tak nebo jinak

Úkol: Urcete lineární funkci $ \phi \left(x \right)= ax + b$, tak aby pro funkci $ f \left(x\right)$ danou následující tabulkou byla aproximací metodou nejmenších čtverců.

$ i$ 0 1 2 3 4 5
$ x_{i}$ -2 0 2 4 6 8
$ f \left(x_{i}\right)$ 2 1 3 5 4 6


Řešení: Řešení této úlohy nalezneme třemi různými postupy. Nejprve budeme danou lineární funkci hledat jako kolmou projekci do podprostoru všech lineárních funkcí, druhý postup bude zalozen na hledání minima funkce více proměnných. Poslední postup vyuzije pseudoinverze matice a je proto zařazen jako samostatný příklad 18.4.

První způsob: Připomeňme si nejprve, co myslíme aproximací dané funkce metodou nejmenších čtverců. Ve zvolené třídě funkcí (v našem případě lineární funkce) hledáme takovou funkci $ \phi$, aby byl výraz

$\displaystyle D(\phi)\df=\sum \limits _{i=0}^{n}w_i\left(f(x_i) - \phi(x_i) \right)^2
$

minimální. $ w_{i}>0$ jsou pevně zadaná čísla a značí váhu daného bodu (v našem případě má kazdý bod váhu rovnou jedné). Nyní se jiz můzeme pustit do řešení.

Jak bylo řečeno, první postup vyuzije vlastností kolmé projekce. K tomu abychom vůbec mohli mluvit o kolmosti potřebujeme zavést skalární součin. Nuze, skalární součin dvou funkcí $ u,v$ (definovaných v bodech $ x_i$) definujeme jako

$\displaystyle \langle u\vert v~\rangle \df= \sum \limits _{i=0} ^n w_i u(x_i)v(x_i)\,.$ (28)

Uvědomme si, že funkce na bodech $ \{x_i\}_{i=0}^n$ není nic jiného než obyčejný vektor z  {\bb R}$ ^{n+1}$. Povšimněme si toho, jak vypadá norma, resp. definice vzdálenosti s pouzitím tohoto skalárního součinu

$\displaystyle \Vert u \Vert=\sqrt{\langle u\vert u \rangle}=\sqrt{ \sum \limits _{i=0} ^n w_i {u(x_i)}^2},
$

$\displaystyle \Vert u - v\Vert=\sqrt{\langle u - v\vert u - v \rangle}=\sqrt{\sum \limits _{i=0} ^n w_i \left(u(x_i)-v(x_i) \right)^2}
$

Označme ještě

$\displaystyle L=\mathcal{L} \left\{1,\ x
\right\}=\{a(1,\ldots,1)+b(x_0,\ldots,x_n)\,,\ a,b\in${\bb R}$\displaystyle \}$

lineární obal funkcí příslušné mnoziny. V $ L$ lezí všechny mozné lineární funkce (definované na bodech $ x_i$). Zbývá ocitovat následující větu:

$ V$ je prostor se skalárním součinem, $ L$ je jeho podprostor. Je-li $ f \in V$, pak $ \phi \in L$ je nejlepší aproximací $ f$$ L$ (tzn. $ \Vert f - \phi \Vert \leq \Vert f - m \Vert, \ \forall
m \in L $), právě kdyz $ \forall m \in L $ platí $ \langle f - \phi \vert
m \rangle = 0$.

Jinak řečeno: nejlepší aproximaci funkce $ f$ lineární funkcí (ve smyslu vzdálenosti, která pro náš skalární součin odpovídá součtu čtverců $ f(x_i)-\phi(x_i)$) získáme tak, ze promítneme (kolmo) $ f$ do $ L$. Kolmou projekci, označujme ji $ \phi$, najdeme uzitím podmínky $ \langle f - \phi \vert
m \rangle = 0$, která má platit pro všechny funkce v $ L$. Splníme-li danou podmínku na vektorech báze $ L$, bude pak automaticky splněna pro kazdou funkci z $ L$. Musí tedy platit:

$\displaystyle \langle f - \phi \vert 1 \rangle =0\,,\qquad \langle f - \phi \vert x \rangle =0\,.
$

Hledaná funkce $ \phi$ lezí v $ L$, proto ji lze napsat jako kombinaci bázových vektorů. Předchozí podmínky mají tvar
$\displaystyle \langle f - \left( ax +b \right) \vert x \rangle$ $\displaystyle =$ $\displaystyle \langle f \vert x \rangle -a \langle x \vert x \rangle - b \langle 1 \vert x \rangle = 0$  
$\displaystyle \langle f - \left( ax +b \right) \vert 1 \rangle$ $\displaystyle =$ $\displaystyle \langle f \vert 1 \rangle -a \langle x \vert 1 \rangle - b \langle 1 \vert 1 \rangle = 0\,.$  

Dosazením definice skalárního součinu 28 dostaneme
$\displaystyle \sum \limits _{i=0} ^n f(x_i)x_i - a \sum \limits _{i=0} ^n {x_i}^2 - b \sum \limits _{i=0} ^n x_i$ $\displaystyle =$ 0  
$\displaystyle \sum \limits _{i=0} ^n f(x_i) - a \sum \limits _{i=0} ^n x_i - b \sum \limits _{i=0} ^n 1$ $\displaystyle =$ $\displaystyle 0\,,$  

neboli v maticovém zápisu

$\displaystyle \left(\begin{array}{cc}
(n+1) \langle x^2\rangle & (n+1)\langle ...
...langle xf(x)\rangle \\
(n+1) \langle f(x)\rangle \\
\end{array}\right)\,,
$

$\displaystyle \left(\begin{array}{cc}
\langle x^2\rangle & \langle x\rangle\\ ...
...{c}
\langle xf(x)\rangle \\
\langle f(x)\rangle \\
\end{array}\right)\,.
$

Pro zkrácení jsme označili průměry různých veličin

$\displaystyle \langle x\rangle=\frac{1}{n+1}\sum_{i=0}^n x_i\,,\
\langle x^2\rangle=\frac{1}{n+1}\sum_{i=0}^n x_i^2\,,
$

$\displaystyle \langle f(x)\rangle=\frac{1}{n+1}\sum_{i=0}^n f(x_i)\,,\
\langle xf(x)\rangle=\frac{1}{n+1}\sum_{i=0}^n x_if(x_i)\,.
$

Tuto soustavu rovnic vyřešíme např. uzitím Cramerova pravidla a výsledkem je:

$\displaystyle a=\frac{\langle f(x)\rangle\langle x\rangle - \langle xf(x)\rangl...
...gle
f(x)\rangle\langle x^2\rangle}{\langle x\rangle^2-\langle x^2\rangle}\,.
$

V našem případě je $ \sum _{i=0} ^n f\left( x_i \right)=21$, $ \sum
_{i=0} ^n f\left( x_i \right) x_i=94$, $ \sum _{i=0} ^n x_i=18$, $ \sum
_{i=0} ^n {x_i}^2=124$ a $ n+1=6$. Po dosazení do právě odvozených vzorců nalézáme $ a \doteq 0,44$ a $ b \doteq 2,17$.

Druhý způsob: Další způsob řešení vyuzívá metod analýzy funkce více proměných. Dívejme se na výraz, který chceme minimalizovat, jako na funkci v proměnných $ a$ a $ b$. Tedy

$\displaystyle F(a,b)=\sum \limits _{i=0} ^n w_i \left( f(x_i) -(ax_i + b)\right)^2.
$

Najděme body, ve kterých můze funkce $ F(a,b)$ nabývat extrému. Tyto body jsou řešením rovnic:

$\displaystyle \frac {\partial F(a,b)}{\partial a}=0\,,\qquad
\frac {\partial F(a,b)}{\partial b}=0\,.
$

V našem případě ($ w_i=1$) jsou tyto rovnice
$\displaystyle -2\sum \limits _{i=0} ^n \left(f(x_i)-\left(ax_i + b \right) \right)x_i$ $\displaystyle =$ 0  
$\displaystyle -2\sum \limits _{i=0} ^n \left(f(x_i)-\left(ax_i + b \right) \right)$ $\displaystyle =$ $\displaystyle 0\,,$  

coz je po rozepsání a převedení do maticového tvaru opět

\begin{displaymath}
\left(
\begin{array}{cc}
\sum \limits _{i=0} ^n {x_i}^2 &...
...)x_i \\
\sum \limits _{i=0} ^n f(x_i)
\end{array}
\right)
\end{displaymath}

Vidíme, ze jsme dospěli k stejné maticové úloze jako v předchozím případě. Abychom dosáhli naprosté matematické preciznosti, je třeba ověřit, ze právě nalezený stacionární bod je skutečně minimem. Musíme proto ukázat, ze kvadratická forma druhého diferenciálu je pozitivně definitní. Máme

\begin{displaymath}
\left(
\begin{array}{cc}
\ds\frac {\partial ^2 F(a,b)} {\...
...\
\sum \limits _{i=0} ^n {x_i} & n+1
\end{array}
\right).
\end{displaymath}

Vzpomeneme si na větu pánů Jacobiho a Sylvestra $ \ldots$


Reálná kvadratická forma s maticí $ A$ je pozitivně definitní, právě kdyz jsou všechny hlavní subdeterminanty matice $ A$ kladné.


$ \ldots$ a zkontrolujeme, ze pokud neuvazujeme degenerované případy, jako prokládání přímky jediným bodem, pak jest $ \sum _{i=0}
^n {x_i}^2 > 0$ a $ (n+1)\sum _{i=0} ^n {x_i}^2 -
\left( \sum _{i=0} ^n {x_i} \right)^2 > 0 $ (podle další vzpomínky, tentokráte ovšem na nerovnost pana Höldera).

Srovnejte oba postupy a uvedomte si, ze druhý postup je ve obecnejší, aplikovatelný i pro aproximace v nelinearních prostorech funkcí.

$ \ast$VP$ \ast$