Polynomická regrese

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání
Ukázka aproximace zadaných bodů polynomem libovolného řádu.

Polynomická či polynomiální regrese představuje proložení (aproximaci) zadaných hodnot polynomem a jde o zvláštní případ lineární regrese. Koeficienty hledaného polynomu jsou metodou nejmenších čtverců vypočteny tak, aby součet druhých mocnin odchylek původních hodnot od získaného polynomu byl minimální.[1]

Odvození[editovat | editovat zdroj]

Cílem je proložit hodnotami x_i,\,y_i, i=1,\ldots,n polynom k-tého stupně P_k(x) = p_0 + p_1 x + \ldots + p_k x^k. Koeficienty p_0, \ldots , p_k jsou přitom voleny tak, aby součet druhých mocnin odchylek

e_i \equiv y_i - P_k(x_i)

byl minimální, tj.

F = \sum_{i=1}^{n}{e_i^2} \longrightarrow \min.

Úloha vede na problém nejmenších čtverců.

Problém nejmenších čtverců[editovat | editovat zdroj]

Dosazením hodnot x_i,\,y_i do polynomiálního modelu y=P_k(x) přímo dostaneme aproximační problém. Z definice odchylky e_i zřejmě platí y_i = P_k(x_i) + e_i. (Uvědomme si, že e_i tak vlastně reprezentuje chybu vzniklou při měření veličiny y_i přičemž předpokládáme, že veličiny x_i jsou známy přesně.) V maticovém zápisu


\bold A \bold x = \bold b + \bold e,

kde


\bold A = \left[ \begin{matrix} x_1^k & \cdots & x_1 & 1 \\  x_2^k & \cdots & x_2 & 1 \\ \vdots & & \vdots & \vdots \\  x_n^k & \cdots & x_n & 1 \end{matrix} \right], \quad
\bold x = \left[ \begin{matrix} p_k \\ \vdots \\ p_1 \\ p_0 \end{matrix} \right], \quad
\bold b = \left[ \begin{matrix} y_1 \\ y_2 \\ \vdots \\ y_n \end{matrix} \right], \quad
\bold e = \left[ \begin{matrix} e_1 \\ e_2 \\ \vdots \\ e_n \end{matrix} \right],

p_0, p_1, \ldots, p_k jsou neznámé koeficienty hledaného polynomu a cílem je dosáhnout takového řešení, aby norma vektoru \bold e byla minimální. Úloha se řeší metodou nejmenších čtverců.

Minimum funkcionálu F[editovat | editovat zdroj]

Minimum (pozitivně semidefinitního) funkcionálu F můžeme hledat klasicky pomocí derivací. Protože veličiny x_i, y_i jsou předem známy, odchylka e_i je funkcí koeficientů polynomu P_k, tj. e_i = e_i(p_0,\ldots,p_k). Minimalizace součtu kvadrátů odchylek e_i vede na hledání minima funkcionálu


F(p_0,\ldots,p_k)\equiv
\sum_{i=1}^n\ e_i^2(p_0,\ldots,p_k)=
\sum_{i=1}^n\ (y_i - \sum_{j=0}^k p_j x_i^j)^2.

Funkcionál tvoří součet druhých mocnin, je tedy zřejmě nezáporný a nemůže obsahovat žádná lokální maxima ani sedlové body. Bod splňující podmínky

\frac{\partial F}{\partial {p_j}}=0, \qquad j=0,\ldots,k.

je tedy vždy lokálním minimem, které je zároveň minimem globálním. Vyjádříme-li jednotlivé parciální derivace, dostáváme soustavu lineárních algebraických rovnic, kterou můžeme maticově zapsat ve tvaru


\bold A^T \bold A \bold x = \left[ \begin{matrix}
\sum{x_i^{2k}}  &  \cdots  &  \sum{x_i^{k+1}} & \sum{x_i^k}  \\
\vdots          &  \ddots  &  \vdots          & \vdots       \\
\sum{x_i^{k+1}} &  \cdots  &  \sum{x_i^2}     & \sum{x_i}   \\
\sum{x_i^k}     &  \cdots  &  \sum{x_i}       & n     
\end{matrix} \right] \left[ \begin{matrix}
p_k  \\  \vdots  \\  p_1  \\ p_0
\end{matrix} \right] = \left[ \begin{matrix}
\sum{y_i x_i^k}  \\  \vdots  \\  \sum{y_i x_i}  \\  \sum{y_i}
\end{matrix} \right] = \bold A^T \bold b.

Řešením této soustavy jsou hledané koeficienty p_j. Pokud má matice \bold A lineárně nezávislé sloupce, koeficienty polynomu jsou dány jednoznačně a lze je formálně vypočítat podle vztahu

\bold x = \left( \bold A^T \bold A \right)^{-1} \bold A^T \bold b.

Jak vidíme, soustava získaná z parciálních derivací funkcionálu F není nic jiného než soustava normálních rovnic odpovídající problému nejmenších čtverců z předchozího odstavce. Poznamenejme, že se úloha zpravidla (z numerických důvodů) neřeší pomocí soustavy normálních rovnic \bold A^T\bold A\bold x= \bold A^T\bold b, ale například QR faktorizací rozšířené matice [\bold b,\bold A] původního problému nejmenších čtverců.

Kvadratická regrese[editovat | editovat zdroj]

Graf, na kterém byla experimentální data zjištěna s obrovskou chybou, přičemž daná závislost (nalezená metodou nejmenších čtverců) proměnné y na x je kvadratická.

Kvadratická regrese je případ polynomické regrese, kdy stupeň polynomu P_k je roven dvěma. Jako taková je tedy speciálním případem lineární regrese. Soubor daných hodnot je proložen (aproximován) kvadratickou funkcí (parabolou). Koeficienty polynomu (paraboly) jsou opět vypočteny metodou nejmenších čtverců.

Odvození problému nejmenších čtverců i nalezení minima funkcionálu je zcela analogické předchozímu případu. Místo obecným polynomem P_k(x) prokládáme data parabolou, tedy polynomem druhého řádu P_2(x) = a x^2 + b x + c. Součet čtverců odchylek e_i=y_i-P_2(x_i) (funkcionál F) závisí na parametrech a,\,b,\,c, konkrétně

F(a,b,c) = \sum_{i=1}^{n}{\left(y_i - a x_i^2 - b x_i - c\right)^2}.

Minimum funkcionálu F opět nalezneme pomocí parciálních derivací (v místě lokálního extrému jsou rovny nule),


\frac{\partial F}{\partial a} = 
\frac{\partial F}{\partial b} = 
\frac{\partial F}{\partial c} = 0

Spočtením derivací dostaneme soustavu normálních rovnic


\bold A^T\bold A\bold x =
\left[\begin{array}{ccc}
\sum{x_i^4} & \sum{x_i^3} & \sum{x_i^2} \\
\sum{x_i^3} & \sum{x_i^2} & \sum{x_i} \\
\sum{x_i^2} & \sum{x_i}   & n 
\end{array}\right]
\left[\begin{array}{c}a\\ b\\ c\end{array}\right] = 
\left[\begin{array}{c}\sum{y_i x_i^2}\\ \sum{y_i x_i}\\ \sum{y_i}\end{array}\right]
 = \bold A^T\bold b,

ze které již formálně není problém (za předpokladu regularity matice soustavy) vypočítat koeficienty a,\,b,\,c.

Reference[editovat | editovat zdroj]

  1. Jiří Likeš, Josef Machek, Matematická statistika, SNTL Praha 1988, s. 165-169

Související články[editovat | editovat zdroj]