Polynomická regrese

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Ukázka aproximace zadaných bodů polynomem libovolného řádu.

Polynomická či polynomiální regrese představuje proložení (aproximaci) zadaných hodnot polynomem. 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í.

...

Odvození

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ů

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. +more (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.

: \mathbf A \mathbf x = \mathbf b + \mathbf e,

kde

: \mathbf 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 \mathbf x = \left[ \begin{matrix} p_k \\ \vdots \\ p_1 \\ p_0 \end{matrix} \right], \quad \mathbf b = \left[ \begin{matrix} y_1 \\ y_2 \\ \vdots \\ y_n \end{matrix} \right], \quad \mathbf 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 \mathbf e byla minimální. Úloha se řeší metodou nejmenších čtverců.

Minimum funkcionálu F

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. +more 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

: \mathbf A^T \mathbf A \mathbf 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] = \mathbf A^T \mathbf b.

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

:\mathbf x = \left( \mathbf A^T \mathbf A \right)^{-1} \mathbf A^T \mathbf 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 \mathbf A^T\mathbf A\mathbf x= \mathbf A^T\mathbf b, ale například QR faktorizací rozšířené matice [\mathbf b,\mathbf A] původního problému nejmenších čtverců.

Kvadratická regrese

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á. +more.

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. +more 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. +more 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

: \mathbf A^T\mathbf A\mathbf 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] = \mathbf A^T\mathbf b,

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

Reference

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top