Ukážeme si, jak statistici, ekonomové, inženýři a jiní hledají závislosti mezi zdánlivě nesouvisejícími věcmi. My si například předvedeme, jak zjistit, jestli z Vašich současných studijních výsledků lze odhadnout Váš budoucí plat. Kromě tohoto fiktivního příkladu si ukážeme trochu složitější model ze skutečného života a naznačíme si, jak se s ním matematicky poprat.
Metodu nejmenších čtverců, kterou k tomu použijeme, si trochu rozpitváme. Uvidíte, že pro pochopení Vám bude stačit několik základních pojmů ze základní a střední školy, které si také připomeneme.
Na závěr si ukážeme, jak úplně stejnou metodu používají GPS navigace a jak to všechno souvisí s řešením soustav lineárních rovnic.
Abyste pochopili, jak funguje metoda nejmenších čtverců (v jednorozměrném případě), potřebujete znát pouze dvě věci:
Pro obšírnější a názornější vysvětlení zhlédněte video 1 dole, případně si pohrajte s hejblátkem 1.
Libovolnou přímku lze napsat ve tvaru $$ y = ax + b, $$ kde $a$ a $b$ jsou libovolná (reálná) čísla. Číslo $a$ (tzv. směrnice) určuje sklon přímky: když půjdete po přímce zleva doprava, tak to bude do kopce, pokud $a > 0$, rovně, pokud $a = 0$, a z kopce, pokud $a < 0$. Na obrázku 1 je znázorněno, proč tomu tak je: číslo $a$ vlastně vyjadřuje, o kolik přímka naroste/poklesne, pokud $x$ zvětším o jedna. Pro fajnšmekry: číslo $a$ je tangetou úhlu, který přímka svírá s osou $x$. Číslo $b$ vyjadřuje vertikální posun, přesněji průsečík s osou $y$: pokud za $x$ dosadím do rovnice přímky $0$, dostanu $y = b$.
Parabola je jednou z tzv. kuželoseček. Každou parabolu lze popsat rovnicí $$ y = cx^2 + dx + e, $$ kde $c,d,e$ jsou opět libovolná (reálná) čísla s tím, že $c$ je nenulové (jinak bychom měli místo paraboly přímku). O parabolách bychom toho mohli napsat hodně, ale my budeme potřebovat pouze dvě důležité vlastnosti.
Budeme potřebovat znát $x$-ovou souřadnici minima resp. maxima paraboly, tedy nejnižšího resp. nejvyššího bodu grafu. Pokud víme, co je derivace a jak zderivovat mnohočlen, snadno tuto souřadnici najdeme:
Pokud nevíme, co je derivace, můžeme stejný výsledek odvodit jinak. Nejdříve předpokládejme, že parabola protíná osu $x$ ve dvou bodech $x_1$ a $x_2$. Pokud tomu tak je, pak díky symetrii paraboly víme, že $x$-ová souřadnice minima resp. maxima bude přesně uprostřed těchto bodů, tedy v bodě $(x_1 + x_2)/2$. My ale víme, jak body $x_1$ a $x_2$ najít, jsou to kořeny kvadratické rovnice $cx^2 + dx + e$: $$ x_1 = \frac{-d - \sqrt{d^2 - 4ce}}{2c} \quad \text{a} \quad x_2 = \frac{-d + \sqrt{d^2 - 4ce}}{2c}. $$ a tedy hledaná souřadnice je $$ \frac{x_1 + x_2}{2} = \frac{-d - \sqrt{d^2 - 4ce} + -d + \sqrt{d^2 - 4ce}}{4c} = \frac{-2d}{4c} = -\frac{d}{2c}. $$ Co když ale parabola žádné průsečíky s osou $x$ nemá a celá leží nad ní nebo pod ní? To se projeví tak, že diskriminant $d^2 - 4ce$ je záporný a kořeny komplexní. Co s tím? Využijeme zjevného faktu, že když parabolu šoupneme nahoru nebo dolů, $x$-ová souřadnice minima resp. maxima se nemění. Šoupání nahoru a dolů znamená zvětšování a zmenšovíní hodnoty parametru $e$ v rovnici paraboly (vyzkoušejte si to pomocí hejblátka 1). Z této úvahy plyne, že paraboly $$ y = cx^2 + dx + e \quad \text{a} \quad y = cx^2 + dx $$ mají stejnou $x$-ovou souřadnici minima resp. maxima. Druhá parabola má ovšem diskriminant $d^2$ kladný, a tedy pro ni platí předchozí úvaha: $$ x-\text{ová souřadnice minima resp. maxima libovolné paraboly je }\quad x = -\frac{d}{2c}. $$
Poslední věc, kterou budeme potřebovat, je vcelku triviální fakt, že součtem dvou parabol získáme opět parabolu. Skutečně, pokud sečteme dvě paraboly $y = c_1x^2 + d_1 x + e_1$ a $y = c_2x^2 + d_2 x + e_2$, získáme novou parabolu $$ y = (c_1 + c_2)x^2 + (d_1 + d_2) x + e_1 + e_2, $$ jejíž minimum resp. maximum se nachází (pokud $c_1 + c_2 \neq 0$, to by výsledná parabola zdegenerovala na přímku) v bodě $$ x = -\frac{d_1+d_2}{2(c_1 + c_2)}. $$
Kdybychom přičítali další a další paraboly $y = c_3x^2 + d_3 x + e_3$, $y = c_4x^2 + d_4 x + e_4$ až $y = c_nx^2 + d_n x + e_n$, kde $n$ je nějaké přirozené číslo, dostali bychom zase parabolu. Dle stejných pravidel by pak platilo, že její minimum resp. maximum má $x$-ovou souřadnici $$ x = -\frac{d_1+d_2+d_3+\cdots+d_n}{2(c_1 + c_2 + c_3 +\cdots+c_n)}. $$ Tento vzoreček využijeme v další části.
Abychom si vysvětlili, jak funguje jedna z nejpoužívanějších metod statistiky, tzv. regresní analýza a s ní spojená metoda nejmenších čtverců, uvažujme následující problém.
Učitel nám namluvil, že výše našeho budoucího platu (řekněme naše hrubá mzda v tisících ve věku 30 let) je přímo úměrná průměrnému počtu jedniček na vysvědčeních ze střední školy. Tvářil se dost přesvědčivě, a tak máme pochybnosti, jestli to přeci jen není pravda. Jak to ověřit?
Označme si výši hrubého platu v tisících korun ve věku 30 let jako $y$ a průměrný počet jedniček na vysvědčeních ze střední školy jako $x$. Jetliže učitel tvrdí, že tyto dvě veličiny jsou úměrné, musí existovat $a$ tak, že platí vztah $$ y = ax, $$ kde $a$ je koeficient úměrnosti.
Je jasné, že ani učitel nemyslel, že vztah $y = ax$ platí zcela přesně, ale jenom přibližně. Jak si s pojmem "přibližně platí" poradí matematika, resp. statistika? Využije jednoho ze základních a nejdůležitějších pojmů teorie pravděpodobnosti, pojmu náhodná veličina. Abychom si přesně vyjádřili, co je náhodná veličina, museli bychom zavést spoustu poměrně složitých pojmů (na FIT se s náhodnou veličinou seznámíte v předmětu BI-PST: Pravděpodobnost a statistika). K tomu zde nemáme prostor, a tak si vystačíme s intuitivním chápáním. Představte si, že desetkrát hodíte dobře vyváženou kostkou s hodnotami 1 až 6 a poté změříte průměr hozených hodnot. Je jasné, že při každých dalších deseti hodech může vyjít jiný výsledek, ale dá se tušit, že bude velmi blízko hodnoty $3,5$. To lze vyjádřit takto: $$ \text{průměrná hodnota z deseti hodů } = 3,5 + e, $$ kde $e$ je náhodné číslo s velkou pravděpodobností velmi blízké nule.
Přesně takovouto náhodnou chybu očekáváme i u našeho vztahu mezi platem $y$ a počtem jedniček $x$ vynásobeným $a$, platí tedy: $$ y = ax + e, $$ kde $e$ je náhodná chyba s velkou pravděpodobností blízká nule.
Abychom mohli ověřit, jestli je náš model dobrý a skutečně dobře popisuje realitu (tzn. náhodná chyba $e$ je skutečně blízká nule), musíme nejdříve nastavit parametr $a$. Základní myšlenka statistiky (a tedy i naše) je tato: nasbíráme reálná data, která má náš model popisovat, a hodnotu parametru $a$ zvolíme tak, aby náš model tato reálná data popisoval co nejpřesněji (tzn. s co nejmenší chybou).
Začněme tedy se sběrem dat. Zjistíme, že náš otec vydělával ve věku 30 let 36 tisíc měsíčně. Poté z něho vyloudíme jeho vysvědčení a spočítáme, že měl v průměru 9 jedniček. Máme tedy jedno měření veličiny $y$, označme jej $y_1 = 36$, a veličiny $x$, označme jej $x_1 = 9$. Jetliže má platit vztah $y = ax$, dostáváme z rovnice $y_1 = ax_1$, že $a = \frac{y_1}{x_1} = 4$. Parametr $a = 4$ tedy přesně popisuje případ našeho otce, ale tušíme, že postavit nastavení modelu pouze na jednom měření je diletanství, a tak se zeptáme strejdy Járy. Ten měl plat $y_2 = 13$ tisíc a jedniček měl v průměru $x_2 = 2,1$ (tělocvik a výtvarka). Kdybychom použili hodnotu $a = 4$, tak vzniklá chyba pro strejdu Járu je $y_2 - 4x_2 = 13 - 8,4 = 4,6$. Naopak, kdybychom nstavili parametr podle druhého měření na $a = \frac{y_2}{x_2} = 6,2$, tak chyba u otce bude $y_1 - 6,2x_1 = 36 - 6,2\cdot 9 = -13,6$. V obou případech nic moc přesnost. Otázka tedy je: Jak nastavit parametr $a$ tak, aby vyhovoval co nejvíce oběma měřením současně?
Ideálně by měly pro hledané $a$ platit následující dvě rovnice: \begin{eqnarray} y_1 & = & ax_1 \\ y_2 & = & ax_2, \end{eqnarray} tedy soustava dvou lineárních rovnic. My ale víme, že lineární rovnice má vždy nejvýše jedno řešení, a v předchozím odstavci jsme viděli, že tato řešení jsou pro tyto dvě rovnice jiná (4 a 6,2). Co tedy s tím? Budeme se muset smířit s tím, že rovnice nevyřešíme přesně, ale s nějakou chybou, samozřejmě co nejmenší.
Jak budeme měřit chybu pro danou hodnotu $a$? Jistě by měla vycházet z hodnoty rozdílu $y - ax$, nezáleží nám však na znaménku, chyby -3 a 3 jsou vlastně rovnocenné. Můžeme tedy vzít absolutní hodnotu $|y - ax|$. Takto měřená chyba je smysluplná a funkční, bohužel vede na složité a těžko řešitelné výpočty. Proto se v praxi používá spíše čtverec výrazu $y - ax$, kdy chyby jednotlivých měření definujeme takto: \begin{eqnarray} \text{chyba}_1(a) & = & (y_1 - ax_1)^2 \\ \text{chyba}_2(a) & = & (y_2 - ax_2)^2. \end{eqnarray}
A teď se konečně dostáváme k hlavní myšlence metody
nejmenších čtverců:
Hledáme hodnotu parametru
$a$ tak, aby součet chyb $$ \text{chyba}_1(a) + \text{chyba}_2(a) =
(y_1 - ax_1)^2 + (y_2 - ax_2)^2 $$ byl co nejmenší. Jak takové $a$
najít? Stačí si uvědomit, že $\text{chyba}_1(a)$ jako funkce $a$ je
parabola $y_1^2 - 2y_1x_1a + x_1^2a^2$. A jak víme z části výše,
součet parabol je opět parabola: $$ \text{chyba}_1(a) +
\text{chyba}_2(a) = y^2_1 + y_2^2 - 2(y_1x_1 + y_2x_2) a + (x_1^2 +
x_2^2)a^2 $$ a bod jejího minima je $$ a_{\text{min}} = \frac{x_1y_1 +
x_2y_2}{x_1^2 + x_2^2}. $$ Po dosazení našich dvou měření dostaneme
$a_{\text{min}} = 4,1$. Pro libovolnou jinou hodnotu parametru $a$
bude součet čtverců výrazu $y - ax$ všech měření vyšší!
Představme si, že jsme ještě se sběrem dat pokračovali a získali nakonec 7 měření, které uvádíme jako dvojice $(x,y)$: $$ (9, 36), (2.1, 13), (4, 25), (6, 28), (10, 45), (12, 55), (1.3, 9). $$ Tato měření lze zobrazit jako body v kartézské soustavě souřadnic: na obrázku 2 jsou zobrazeny jako červené tečky. Na tomto obrázku je z estetických důvodů plat v tisících vydělený čtyřmi (místo 36 tedy bereme 36/4 = 9 atd.).
Na hledání minima výrazu $$ \text{chyba}_1(a) + \text{chyba}_2(a) + \cdots + \text{chyba}_7(a) = (y_1 - ax_1)^2 + (y_2 - ax_2)^2 + \cdots + (y_7 - ax_7)^2 $$ můžeme nahlížet jako na hledání minima paraboly (na obrázku 2 graf vpravo), přesně jak jsme učinili výše, a výsledek je $$ a_{\text{min}} = \frac{x_1y_1 + x_2y_2 + \cdots + x_7y_7}{x_1^2 + x_2^2 + \cdots + x_7^2}. $$ Existuje ale i jiný pohled, který dal metodě nejmenších čtverců jméno. Rovnice $y = ax$ je vlastně rovnicí přímky se směrnicí $a$, která prochází bodem $(0,0)$. Výraz $y_1 - ax_1$ můžeme tedy chápat jako vertikální vzdálenost přímky se směrnicí $a$ v bodě $x_1$ od bodu $(x_1,y_1)$, proto je $(y_1 - ax_1)^2$ vlastně obsah čtverce o straně $y_1 - ax_1$. Tyto čtverce jsou na obrázku 2 znázorněny červeně. Hledání minima $a$ si tedy lze představit také jako hledání takové směrnice (tzv. regresní) přímky $y = ax$ tak, aby součet čtverců vertikální vzdálenosti od jednotlivých měření byl minimální. Jak se tyto čtverce mění pro jiné hodnoty směrnice $a$ si můžete vyzkoušet na hejblátku 2.
V předchozím jsme předpokládali závislost veličin $y$ a $x$ ve tvaru $y = ax$. Tím jsme vlastně říkali, že očekáváme, že pokud měl někdo nula jedniček, tak má nutně nulový plat. Neboli předpokládali jsme, že přímka, kterou data prokládáme, prochází počátkem $(0,0)$. Jelikož každý člověk má nárok na minimální mzdu, nebo alespoň na životní minimum. Je tedy rozumnější zvolit model $$ y = ax + b, $$ kde parametr $b$ se obvykle nazývá intercept, a zde právě vyjadřuje vliv minimální mzdy a životního minima. Jak víme z přípravy, $y= ax + b$ je rovnice přímky, takže stále je naším cílem zvolit parametry $a$ a $b$ tak, abychom minimalizovali čtverce odchylek této přímky od našich sedmi měření. Stejně jako v předchozím případě to znamená hledat minimum součtu čtverců chyb $$ (y_1 - ax_1 - b)^2 + (y_2 - ax_2 - b)^2 + \cdots + (y_7 - ax_7 - b)^2. $$ Nyní se už ovšem jedná o funkci dvou proměnných, tedy něco, s čímž se studenti středních škol často nesetkávají. Grafem již není čára ve tvaru paraboly, ale plocha: viz obrázek 3 vpravo. Abychom našli optimální hodnoty parametrů $a$ a $b$, potřebujeme ovládat vícerozměrnou optimalizaci, tedy pojmy jako parciální derivace, Hasseova matice atp. S těmi se na FIT setkáte v předmětech BI-ZMA: Základy matematické analýzy a MI-MPI: Matematika pro informatiku. Nyní čtenáře jenom poprosíme, aby nám uvěřili, že hledané optimální hodnoty lze nalézt. Pokud se nepoužije kompaktní značení součtu ($\sum$), jsou výsledné vzorečky poněkud strašidelné, a proto zde pouze odkazujeme na příslušnou stránku na wikipedii (anglicky).
Regresní analýza a metoda nejmenších čtverců nachází aplikace prakticky ve všech oborech: od měkké sociologie až po exaktní vědy, jako jsou fyzika a chemie. Zadáme-li do Googlu řetězec "least squares", dostaneme skoro 10 miliónů výsledků. Velmi typickým použitím jsou např. ekonomické modely. V tomto dokumentu (anglicky) jsme na straně 14 nalezli reálný model závislosti platu na vzdělání a věku: $$ \text{plat} = b_1 + b_2\cdot \text{stupeň vzdělání} + b_3\cdot \text{věk} + b_4\cdot \text{věk}^2. $$ Zde máme dokonce 4 neznámé parametry $b_1, b_2, b_3$ a $b_4$. Matematicky se tento případ příliš neliší od předchozího, kde jsme měli neznámé parametry pouze dva. Abychom se ale nezbláznili z dlouhých a komplikovaných vzorečků, použijeme maticový zápis. Podrobnější výklad toho, co je to matice, najdete na videu 3. Označme si opět jednotlivá měření platu jako čísla $y_1, y_2, \ldots, y_n$. Dále si zavedeme označení $u_1, u_2, \ldots, u_n$ pro stupně vzdělání a $v_1, v_2, \ldots, v_n$ pro věk. Příslušnou soustavu rovnic tedy můžeme pomocí skalárního součinu vektorů zapsat takto $$ y_i = (1, v_i, u_i, u_i^2)\cdot(b_1, b_2, b_3, b_4). $$ Pokud navíc ovládáme věci, jako je matice, transpozice matice, násobení matic a inverze matice, lze metodu nejmenších čtverců popsat na pár řádcích. Všech $n$ měření uspořádáme do vektoru $Y$ a matice $X$ následovně: $$ Y = \begin{pmatrix} y_1 \\ y_2 \\ \vdots \\ y_n \end{pmatrix} \quad \text{a} \quad X = \begin{pmatrix} 1 & v_1 & u_1 & u_1^2 \\ 1 & v_2 & u_2 & u_2^2 \\ \vdots & \vdots & \vdots & \vdots\\ 1 & v_n & u_n & u_n^2 \end{pmatrix}. $$ S tímto značením lze soustavu rovnic zapsat jako $$ Y = X\cdot b, $$ kde $b$ je sloupcový vektor s prvky $b_1, b_2, b_3, b_4$ a operace $\cdot$ značí maticové násobení. Hledané hodnoty parametrů $b_1, b_2, b_3, b_4$ lze pak vyjádřit jednoduše jako $$ b_{\text{min}} = (X^TX)^{-1}X^T Y^T. $$ Vše potřebné k tomu, abyste porozuměli, co všechny tyto značky znamenají, se naučíte v předmětu BI-LIN: Lineární algebra.
Jako Přílohy přikládáme tři tzv. hejblátka, tedy interaktivní obsah vytvořený v programu Wolfram Mathematica, který mají na FIT dostupný studenti zdarma. Abyste mohli tato hejblátka rozhýbat, je potřeba si nainstalovat CDF player (něco jako flash player). Další přílohy jsou pak tři krátká videa, která doplňnují a občas rozšiřují tento textový příspěvek.
Pomocí hejbládka si můžete vyzkoušet, co se děje s přímkou $y = ax + b$ a parabolou $y = cx^2 + dx + e$, pokud měníte hodnotu parametrů $a,b,c,d,e$.
Hejblátko 2 ukazuje, jak se mění obsah čtverců chyb $(y_i - ax_1)^2$, měníme-li parametr $a$ v modelu $y = ax$. Obrázek napravo pak ukazuje, v jakém bodě paraboly vzniklá jako součet těchto čtverců chyb se nacházíme.
Hejblátko 3 funguje podobně jako hejblátko 2, pouze odpovícá modelu $y = ax + b$ s interceptem $b$. Je tedy možné měnit dva parametry a také funkce vpravo již není parabola ale funkce dvou proměnných $a, b$, tedy plocha.
Na tomto videu si zopakujeme, jak vypadá rovnice přímky a paraboly a uvedeme si pro nás důležité vlastnosti.
Toto video je pro ty, kteří preferují barevné pohyblivé obrázky před textem: pouze si převyprávíme, co je uvedeno výše.
V tomto videu si ukážeme, co je to matice a jak tento pojem souvisí s metodou nejmenších čtverců a soustavou lineárních rovnic.