Polynomická regrese

ikona
Tento článek potřebuje úpravy.
Můžete Wikipedii pomoci tím, že ho vylepšíte. Jak by měly články vypadat, popisují stránky Vzhled a styl, Encyklopedický styl a Odkazy.

Konkrétní problémy: Toto je víc sada vzorců než encyklopedický článek, informace nejsou strukturované, chybí souvislý text, využití, historie, příklady, názornost, pointa, přehled. Navíc porušuje co wikipedie není
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í.[1]

Odvození

Cílem je proložit hodnotami x i , y i {\displaystyle x_{i},\,y_{i}} , i = 1 , , n {\displaystyle i=1,\ldots ,n} polynom k {\displaystyle k} -tého stupně P k ( x ) = p 0 + p 1 x + + p k x k {\displaystyle P_{k}(x)=p_{0}+p_{1}x+\ldots +p_{k}x^{k}} . Koeficienty p 0 , , p k {\displaystyle p_{0},\ldots ,p_{k}} jsou přitom voleny tak, aby součet druhých mocnin odchylek

e i y i P k ( x i ) {\displaystyle e_{i}\equiv y_{i}-P_{k}(x_{i})}

byl minimální, tj.

F = i = 1 n e i 2 min . {\displaystyle 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 {\displaystyle x_{i},\,y_{i}} do polynomiálního modelu y = P k ( x ) {\displaystyle y=P_{k}(x)} přímo dostaneme aproximační problém. Z definice odchylky e i {\displaystyle e_{i}} zřejmě platí y i = P k ( x i ) + e i {\displaystyle y_{i}=P_{k}(x_{i})+e_{i}} . (Uvědomme si, že e i {\displaystyle e_{i}} tak vlastně reprezentuje chybu vzniklou při měření veličiny y i {\displaystyle y_{i}} přičemž předpokládáme, že veličiny x i {\displaystyle x_{i}} jsou známy přesně.) V maticovém zápisu

A x = b + e , {\displaystyle \mathbf {A} \mathbf {x} =\mathbf {b} +\mathbf {e} ,}

kde

A = [ x 1 k x 1 1 x 2 k x 2 1 x n k x n 1 ] , x = [ p k p 1 p 0 ] , b = [ y 1 y 2 y n ] , e = [ e 1 e 2 e n ] , {\displaystyle \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 , , p k {\displaystyle 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 e {\displaystyle \mathbf {e} } byla minimální. Úloha se řeší metodou nejmenších čtverců.

Minimum funkcionálu F {\displaystyle F}

Minimum (pozitivně semidefinitního) funkcionálu F {\displaystyle F} můžeme hledat klasicky pomocí derivací. Protože veličiny x i {\displaystyle x_{i}} , y i {\displaystyle y_{i}} jsou předem známy, odchylka e i {\displaystyle e_{i}} je funkcí koeficientů polynomu P k {\displaystyle P_{k}} , tj. e i = e i ( p 0 , , p k ) {\displaystyle e_{i}=e_{i}(p_{0},\ldots ,p_{k})} . Minimalizace součtu kvadrátů odchylek e i {\displaystyle e_{i}} vede na hledání minima funkcionálu

F ( p 0 , , p k ) i = 1 n   e i 2 ( p 0 , , p k ) = i = 1 n   ( y i j = 0 k p j x i j ) 2 . {\displaystyle 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

F p j = 0 , j = 0 , , k . {\displaystyle {\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

A T A x = [ x i 2 k x i k + 1 x i k x i k + 1 x i 2 x i x i k x i n ] [ p k p 1 p 0 ] = [ y i x i k y i x i y i ] = A T b . {\displaystyle \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 {\displaystyle p_{j}} . Pokud má matice A {\displaystyle \mathbf {A} } lineárně nezávislé sloupce, koeficienty polynomu jsou dány jednoznačně a lze je formálně vypočítat podle vztahu

x = ( A T A ) 1 A T b . {\displaystyle \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 {\displaystyle 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 A T A x = A T b {\displaystyle \mathbf {A} ^{T}\mathbf {A} \mathbf {x} =\mathbf {A} ^{T}\mathbf {b} } , ale například QR faktorizací rozšířené matice [ b , A ] {\displaystyle [\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á.

Kvadratická regrese je případ polynomické regrese, kdy stupeň polynomu P k {\displaystyle 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 ) {\displaystyle P_{k}(x)} prokládáme data parabolou, tedy polynomem druhého řádu P 2 ( x ) = a x 2 + b x + c {\displaystyle P_{2}(x)=ax^{2}+bx+c} . Součet čtverců odchylek e i = y i P 2 ( x i ) {\displaystyle e_{i}=y_{i}-P_{2}(x_{i})} (funkcionál F {\displaystyle F} ) závisí na parametrech a , b , c {\displaystyle a,\,b,\,c} , konkrétně

F ( a , b , c ) = i = 1 n ( y i a x i 2 b x i c ) 2 . {\displaystyle F(a,b,c)=\sum _{i=1}^{n}{\left(y_{i}-ax_{i}^{2}-bx_{i}-c\right)^{2}}.}

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

F a = F b = F c = 0 {\displaystyle {\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

A T A x = [ x i 4 x i 3 x i 2 x i 3 x i 2 x i x i 2 x i n ] [ a b c ] = [ y i x i 2 y i x i y i ] = A T b , {\displaystyle \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 {\displaystyle a,\,b,\,c} .

Reference

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

Související články