Lineární regrese
Termín lineární regrese může označovat dvě částečně odlišné věci:
- Lineární regrese představuje aproximaci daných hodnot polynomem prvního řádu (přímkou) metodou nejmenších čtverců. Jinak řečeno, jedná se o proložení několika bodů v grafu takovou přímkou, aby součet druhých mocnin odchylek jednotlivých bodů od přímky byl minimální.
- V obecnějším případě může lineární regrese znamenat aproximaci daných hodnot
takovou funkcí
, kterou lze vyjádřit jako lineární kombinaci
. Koeficienty
jsou vypočteny metodou nejmenších čtverců.
Homoscedastičnost (homogenita ve varianci) dat je běžným jevem. Avšak její předpoklad může vést k přecenění korelačního koeficientu. V jistých případech je tedy nutné uvážit heteroscedastičnost a použít váženou regresi.
Obsah |
Aproximace přímkou [editovat]
Uvažujme funkční závislost: 
Součet čtverců pak bude vypadat takto:
kde
jsou souřadnice aproximovaných bodů.
Abychom našli minimum součtu (našli koeficienty
,
tak, aby nalezená závislost vhodně aproximovala daná data), položíme obě parciální derivace součtu čtverců rovny nule:
Úpravami obdržíme soustavu:
Lze ukázat, že matice této soustavy je regulární pro všechna
, a má tedy právě jedno řešení. Obecně lze také ukázat, že v tomto bodě má součet čtverců minimum.
Jejím řešením pro konkrétní hodnoty
a
dostaneme konečně hledané hodnoty parametrů
a
.
Podobný postup lze aplikovat na jakýkoliv druh závislosti i více proměnných.
Pokud je každá hodnota zatížena jinou chybou
(např. měříme několika různými přístroji), je výhodné zahrnout i toto do aproximace. Označíme-li
, potom dostáváme
Přímka procházející počátkem [editovat]
Pokud je požadováno, aby přímka procházela počátkem, hledá se aproximace
. Pro konstantu
lze odvodit následující vztah:
Máme-li závislost
a hodnoty jsou zatíženy chybami
, pak pro odhad parametru
platí
(je užito označení
a
značí chybu (směrodatnou odchylku)
-tého měření).
Dále pro rozptyl parametru
platí
.
Výpočet na počítači [editovat]
Matlab umožňuje použít funkci P = POLYFIT(X, Y, 1), kde poslední parametr 1 udává, že hledáme koeficienty polynomu prvního řádu. [1] [2]
V Excelu lze koeficient a zjistit funkcí SLOPE(Y; X) [3] [4] a konstantu b funkcí INTERCEPT(Y; X) [5] [6]. Případně lze oba koeficienty zjistit maticově zadanou funkcí {=LINEST(Y;X)}. [7] [8] V českém Excelu se tato funkce nazývá LINREGRESE. [9]
Obecná lineární regrese [editovat]
V obecnějším případě je možné danými hodnotami
,
proložit funkci
sestavenou jako lineární kombinaci
funkcí
, kde
jsou libovolné (zpravidla lineárně nezávislé) funkce. Regrese se nazývá lineární, neboť funkční předpis
je lineární v proměnných
, tedy v koeficientech, které podrobujeme regresi. Jinými slovy, úlohu lze formulovat algebraicky jako (lineární) metoda nejmenších čtverců.
Lineární regresí je tedy i výše popsané proložení bodů přímkou (
,
,
), ale také parabolou (
,
,
,
) nebo obecným polynomem. Poznamenejme, že s proložením množiny bodů parabolou, resp. obecným polynomem se můžeme v literatuře setkat pod pojmem kvadratická, resp. polynomická (či polynomiální) regrese.[1]
Koeficienty
jsou vypočteny metodou nejmenších čtverců, tedy tak, aby součet druhých mocnin odchylek modelu od daných dat, tj.
byl minimální.
1. způsob výpočtu: parciální derivace [editovat]
Pro koeficienty, které minimalizují výše uvedené kritérium
, musí platit, že všechny první parciální derivace kritéria podle těchto koeficientů musí být rovny nule.
Dalšími úpravami se lze dostat k soustavě lineárních rovnic:
Kde jednotlivé prvky
a
znamenají:
Výše uvedenou soustavu rovnic lze řešit některou z metod uvedených v článku Soustava lineárních rovnic.
2. způsob výpočtu: přeurčená soustava rovnic [editovat]
Jiným způsobem, jak vypočítat hledané koeficienty, je sestavení přeurčené soustavy rovnic a její vyřešení, opět metodou nejmenších čtverců, ale poněkud odlišným postupem. Přeurčená soustava rovnic může vypadat následovně:
Hledané koeficienty, umístěné ve vektoru
, lze, za předpokladu lineární nezávislosti sloupců matice
, vyjádřit vztahem:
Výpočet na počítači [editovat]
Matlab umožňuje soustavu rovnic Ax=b řešit velmi snadno pomocí operátoru \ (zpětné lomítko), tedy x = A \ b. Ekvivalentní je funkce MLDIVIDE, tedy x = mldivide(A, b). [10]
V Excelu lze výše sestavenou přeurčenou soustavu rovnic řešit použitím maticové funkce {=LINEST(known_y's; known_x's; const)} [11] [12] (v českém Excelu LINREGRESE(pole_y; pole_x; b) [13]), kde první parametr known_y's (česky pole_y) je svislá oblast buněk obsahující složky vektoru b a druhý parametr known_x's (česky pole_x) je oblast obsahující prvky matice A. Výsledný vektor x se nachází ve vodorovné oblasti, přičemž jeho složky jsou umístěny v buňkách v opačném pořadí, tedy bk je v buňce nejvíce vlevo a b1 je nejvíce vpravo. Třetí parametr const (česky b) musí být v tomto příkladu roven nule, správné použití tedy je: {=LINEST(b; A; 0)}.
Ovšem nejjednodušším způsobem odhadu parametrů metodou nejmenších čtverců je použití ekonometrického softwaru jako např. STATA, Gretl, Eviews nebo R, kde existují obecné příkazy pro jejich výpočet. Zároveň i tyto programy umožňují jednoduše testovat předpoklady daného modelu.
Převod mocninné a exponenciální regrese na lineární [editovat]
Na lineární problém lze transformovat i aproximaci mocninnou funkcí
nebo aproximaci funkcí exponenciální
.
Mocninná funkce [editovat]
Problém, jak aproximovat původní data
křivkou
lze převést na podobný problém zlogaritmováním rovnice křivky.
,
přičemž místo
lze psát
.
Vznikl tak problém, jak aproximovat logaritmovaná původní data
přímkou
, který již problémem není. Koeficient
v mocninné funkci lze z koeficientu
vypočítat jako
.
Exponenciální funkce [editovat]
Problém, jak aproximovat původní data
křivkou
lze převést na podobný problém zlogaritmováním rovnice křivky.
,
přičemž místo konstant
a
lze psát
a
.
Na rozdíl od aproximace mocninnou funkcí, stačí z původních dat logaritmovat pouze hodnoty
a řešit problém, jak aproximovat data
přímkou
. Koeficienty
a
v exponenciální funkci lze z koeficientů
a
vypočítat jako
,
.
Reference [editovat]
- ↑ Jiří Likeš, Josef Machek, Matematická statistika, SNTL Praha 1988, s. 165-169
Související články [editovat]
- Aproximace
- Lineární funkce
- Kvadratická regrese
- Exponenciální regrese
- Metoda nejmenších čtverců
- Polynomická regrese
- Regresní analýza
Externí odkazy [editovat]
- Lineární regrese tak nebo jinak: http://www.kolej.mff.cuni.cz/~lmotm275/skripta/sbirka/html/node49.html
- Lineární regrese v Microsoft Excel: http://praktika.kvalitne.cz/index.php?clanek=text_navod&text=22
- Aproximace obecnou funkcí, přímkou, polynomem, statistika: http://amper.ped.muni.cz/…
![S(a, b) = \sum_{i=1}^{n} {[f(x_i)-y_i]^2} = \sum_{i=1}^{n} {(a x_i + b - y_i)^2 }](http://upload.wikimedia.org/math/a/e/2/ae22504e52be7b59d91bdd80959c2c9e.png)















![\bold A = \left[ \begin{matrix} f_1(x_1) & \ldots & f_k(x_1) \\ \vdots & & \vdots \\ f_1(x_n) & \cdots & f_k(x_n) \end{matrix} \right]
, \quad
\bold x = \left[ \begin{matrix} b_1 \\ \vdots \\ b_k \end{matrix} \right]
, \quad
\bold b = \left[ \begin{matrix} y_1 \\ \vdots \\ y_n \end{matrix} \right]
, \quad k \leq n.](http://upload.wikimedia.org/math/f/a/d/fad5b8cbb4893a5ca86a9ebf1d3428a5.png)

,
,