Základní regresní model
Účelem regresní analýzy je studium vztahu mezi závisle proměnnou a nezávisle proměnnou. Nezávisle proměnných může být více. Podstatné je, že hodnoty nezávisle proměnných určují hodnotu proměnné závislé.
Při určování, které z proměnných jsou závislé a jak závisí na jiných proměnných, je nutné promyslet, zda mezi proměnnými existuje příčinný čili kauzální vztah. Změny nezávisle proměnných musí určovat změnu závisle proměnné.
Regresní model je kvantitativním vyjádřením vztahu příčinné závislosti. Lze ho použít tehdy, když jsou všechny proměnné kvantitavní, závisle proměnná je náhodná a má Gaussovo rozdělení.
Budeme se zabývat kvantitativními nezávislými proměnnými, které mají normální rozdělení.
Pro kvantitativní vyjádření závislosti se používá pojmu funkce, jak je definován v matematice. Je dána množina A a množina B, funkce je přiřazení právě jednoho prvku množiny B každému prvku množiny A. Funkce je tedy množina dvojic (a, b), kde a Є A a b Є B, přitom každé a Є A se vyskytuje právě jednou.
Pomocí funkcí se zapisují závislosti nejen v matematice, ale také v jiných vědách, například právě ve fyzice. Funkce jsou ale jen teoretickým modelem. Ve skutečnosti často bývá závislost mnohem složitější a jednoduchý model nevystihuje všechny působící vlivy. I kdybychom přidali další nezávisle proměnné a získali model ideální, stejně bychom nebyli schopni postihnout působení vlivů náhodných. Nikdy proto nemůžeme čekat, že bude splněn přesný funkční vztah.
Předpokládejme, že spojitá náhodná veličina Y je vyjádřena jako funkce f(x) nějaké nezávislé veličiny x, která není náhodná a k níž musíme tedy přidat náhodnou veličinu ε, abychom ještě vystihli chybu měření, případně další náhodné vlivy. Model pak vypadá takto
`Y = f(x) + ε`.
Předpokládá se, že funkce f závisí ještě na nějakých parametrech, jinak by nebylo celkem co zkoumat. Model v nejobecnějším tvaru se tudíž zapíše následujícím způsobem:
`Y = f(α, x) + ε`,
kde navíc α označuje neznámé parametry, které určují funkci f.
Rozlišujeme formálně dva typy regresních modelů: lineární a nelineární.
Lineární model se obecně zapisuje jako
`Y = α_0 + α_1x_1 + α_2x_2 + α_3x_3 + … + α_nx_n+ ε`,
Kde `x_1`, `x_2`, `x_3`, …, `x_n` značí nezávisle proměnné, kterých je celkem n.
K jednotlivým proměnným patří regresní koeficienty `α_1`, `α_2`, `α_3`, …, `α_n`. Regresní koeficient `α_0` se nazývá absolutní člen a nepatří k žádné nezávisle proměnné. Absolutní člen vyjadřuje posuv náhodné veličiny Y směrem k větším či menším hodnotám.
Pokud například Y závisí jen na dvou nezávisle proměnných, označíme je spíš jako X a Z a regresní koeficienty řeckými písmeny α, β, γ. Model potom má tvar
`Y = α + β x + γ z + ε`.
Jednoduchý lineární regresní model
Nejjednodušší je model, který má název jednoduchý lineární regresní model
`Y = α + β x + ε`.
Regresní model se nazývá lineární, když je lineární ve svých parametrech. Není důležité jaký je tvar zápisu nezávisle proměnné.
Příklad 1: Model `Y = α + β x + γx^2 + ε` je lineární také ve vztahu k parametru γ. To, že v modelu vystupuje jako nezávisle proměnná kvadrát proměnné x na věci nic nemění.
Příklad 2: Model `Y = α + β x^{(-γ x)}+ ε` , je lineární v parametrech α a β ale nelineární v parametru γ (protože tento parametr se nedá vytknout ze členu, ve kterém je obsažen). Je to tudíž nelineární model.
Příklad 3: Model `Y = α + β /(γ+x) + ε` je lineární v parametrech `α` a `β`, ale nelineární v parametru `γ`.
Linearita modelu je důležitá z hlediska praktických výpočtů, jejichž účelem je odhadnout hodnoty parametrů. Pokud se jedná o lineární model, je to mnohem snadnější než u modelu nelineárního, kdy někdy ani odhady parametrů vypočítat není možné.
Odhady parametrů
Vztah mezi závislou a nezávislou veličinou se v rámci regresní analýzy snažíme popsat nějakým funkčním vztahem. Teoretické hodnoty parametrů, které se ve vyjádření závislosti vyskytují, značíme malými řeckými písmeny. Jejich přesnou hodnotu nevíme, ale pokusíme se ji odhadnout na základě experimentů. Návrh experimentu provedeme tak, že zvolíme hodnoty nezávisle proměnné `X`, provedeme experiment a změříme hodnoty závisle proměnné `Y`. Tyto experimenty opakujeme nezávisle `n` krát. Zjištěné hodnoty označme (`y_1`, `x_1`), (`y_2`, `x_2`), …, (`y_n`, `x_n`). V případě dvou nezávislých proměnných `X` a `Z` bychom mohli použít pro výsledky experimentů označení (`y_i`, `x_i`, `z_i`). (Jedná se o realizace náhodné veličiny `Y`, tedy o konkrétní numerickou hodnotu `y_i`, proto se použije malé písmeno.)
V obecném případě se k odhadu parametrů použije tzv. metody nejmenších čtverců.
Představme si soustavu souřadnic a v ní vyznačené body [`x_i`, `y_i`]. Zakreslíme do grafu ještě nějakou přímku `y = a + bx`. Ptáme se, zda je to vhodná přímka, která by co nejlépe vystihovala hodnoty yi . K tomu je třeba nejdříve mít kritérium pro hodnocení toho, kdy je nějaká přímka lepší než jiná.
Bod na přímce má hodnotu `a + bx_i` a tu porovnáváme se skutečnými hodnotami `y_i`. Zjišťujeme tedy rozdíl `d_i = y_i - a - bx_i`. Tento rozdíl může být záporný, nulový nebo kladný.
Jestliže rozdíly `d_i = y_i - a - bx_i` mohou být jak kladné, tak záporné, mohou se v součtu vyrušit. Proto by součet odchylek `d_i` nebyl vhodým kritériem. Vhodnější bude použít součet druhých mocnin odchylek `d_i`, neboť ten bude vždy nezáporný. Kritériem pro to, jak těsně přímka vystihuje data, tedy bude velikost součtu čtverců odchylek
`d_i^2 = (yi - a - bx_i)^2`.
Úkolem je nalézt takové hodnoty `a,b`, které minimalizují tento součet čtverců odchylek. Tato metoda má proto vžitý název metoda nejmenších čtverců.
Pokud se jedná o lineární model, je možné určit, které hodnoty parametrů minimalizují součet čtverců. Pokud je model nelineární, není to vždy možné a numerický výpočet bývá často velmi obtížný. I to je jedním z důvodů pro odlišení modelů lineárních od nelineárních.
Odvození vzorců pro jednoduchou lineární regresi (nepovinné)
Eliminace jednoho parametru
Začneme průměrem. Zvolme libovolná čísla `r_1`, `r_2`,…, `r_N`, kde `N >1`. Je známo, že průměr minimalizuje součet čtverců odchylek, neboli `(r_i - a)^2` . To je možné ukázat takto:
`\sum (r_i - a)^2 = \sum (r_i - \overline r + \overline r - a)^2 = \sum ((r_i - \overline r) + (\overline r - a))^2`
`\sum (r_i - \overline r)^2 + 2 \sum (r_i - \overline r) (\overline r - a) + \sum (\overline r - a)^2 = \sum (r_i - \overline r)^2 + 2 \sum (\overline r - a) \sum (r_i \overline r) + \sum (\overline r - a)^2 = \sum (r_i - \overline r)^2 + \sum (\overline r - a)^2`
Poslední úprava se dala udělat proto, že
`\sum (r_i - \overline r) = \sum r_i - N \overline r = \sum r_i - \sum r_i = 0`
Abychom minimalizovali součet čtverců odchylek, stačí minimalizovat
`\sum (\overline r - a)^2` Čtverec nabývá svého minima, je-li čtvercem nuly, tedy `a = \overline r`.
Právě ukázaný postup můžeme použít ihned pro jednoduchou lineární regresi. Nechť jsou dány `y_1`, `y_2`, …, `y_N` a `x_1`, `x_2`, …, `x_N`, kde `N >1` a `x_i` nabývají alespoň dvou různých hodnot. Naším úkolem je minimalizovat součet čtverců odchylek
`\sum (y_i - bx_i - a)^2` vzhledem k parametrům `a` a `b`. Předpokládejme, že je dáno pevné, i když libovolné `b` a najděme vzorec pro `a`.
Položíme `r_i = y_i - bx_i` a minimalizujeme `\sum (r_i - a)^2`. Jak jsme ukázali výše, tento výraz nabývá svého minima pro `a = \overline r = \overline y - b \overline x`, neboť o průměru již víme, že minimalizuje součet čtverců odchylek.
Dosazení a minimalizace
Po dosazení za `a` máme
`\sum (y_i - bx_i - a)^2 = \sum (y_i - bx_i - \overline y + b \overline x)^2 = \sum (y_i - \overline y - b (x_i - \overline x))^2`.
Píšeme-li
`z_i = y_i - \overline y` a `u_i = x_i - \overline x`, pak máme minimalizovat `∑ (z_i - bu_i)^2` jako funkci jedné proměnné `b`.
`∑(z_i - b u_i)2= ∑z_i^2 - ∑2bz_iu_i + ∑b^2u_i^2 = ∑z_i^2 + ∑u_i^2(b^2 – 2b∑z_iu_i / ∑u_i^2)`=
`∑z_i^2 + ∑u_i^2(b^2 – 2b∑z_iu_i / ∑u_i^2+(∑z_iu_i / ∑u_i^2)^2-(∑z_iu_i / ∑u_i^2)^2)` =
`∑z_i^2 + ∑u_i^2((b - ∑z_iu_i / ∑u_i^2)^2 – (∑z_iu_i / ∑u_i^2)^2)`=
`∑z_i^2 + ∑u_i^2(b - ∑z_iu_i / ∑u_i^2)2 – (∑z_iu_i)^2/ ∑u_i^2`
Součet čtverců odchylek je minimální, když sčítanec obsahující b, tj. `∑u_i^2(b - ∑z_iu_i / ∑u_i^2)^2`, je co nejmenší. Zápornou hodnotu mít nemůže (jedná se o čtverec), ale může být roven nule. V takovém případě bude `b = ∑z_iu_i /∑u_i^2`, což dává požadované řešení.
Při celém postupu nebyly použity derivace a matice. Tím se celý důkaz dostává na přijatelnou úroveň.
Po výpočtu regresních koeficientů `a`, `b` je ještě dobré ověřit, zda vypočtený jednoduchý lineární model (tedy přímka daná parametry `a`, `b`) skutečně ukazuje trend daný daty. Proto je vždy vhodné data ještě graficky znázornit. Tak snadno odhalíme, zda se nejedná o závislost úplně jiného druhu než jednoduchou lineární.
Pro numerické vystižení těsnosti závislosti se používá koeficient determinace. Jeho definice je založena na postupu, který se nazývá rozklad součtu čtverců.
Základem je teoretický model `Y = α + β x + ε`. Parametry modelu odhadujeme tak, že nejprve pro zadané hodnoty xi naměříme hodnoty `y_i` a metodou nejmenších čtverců vypočteme odhady `a`, `b` neznámých parametrů `α`, `β`. Tím dostaneme funkci `a + bx`, která je odhadem funkce `α + βx`. Body na přímce `a + bx_i` nazýváme vypočtené hodnoty a označíme `v_i = a + bx_i`.
Z vypočtených hodnot vi spočítáme průměr a označíme jej
`\overline v = ( \sum v_i) / N = ( \sum (a + bx_i)) / N`.
Bude nás zajímat také rozdíl `d_i` naměřených a vypočtených hodnot.
`d_i = y_i - v_i = y_i - a - bx_i`. Rozdíly `d_i` jsou rozdíly, jejichž součet čtverců jsme minimalizovali.
Ať `y_i` vzniklo z jakéhokoliv modelu, můžeme vypočítat průměr
`\overline y = ( \sum y_i)/N`
Z naměřených hodnot a jejich průměru lze spočítat součet čtverců odchylek od průměru, neboli součet čtverců úplný,
`SCU = \sum (y_i - \overline y)^2`.
Ten je zajímavý proto, že se dá rozložit na dva sčítance. První sčítanec je součet čtverců odchylek vypočtených hodnot `v_i` od jejich průměru. Tento součet se nazývá součet čtverců regresní,
`SCR = \sum (v_i - \overline)^2`.
Přitom je důležité, aby `v_i` byla vypočtena metodou nejmenších čtverců.
Druhý sčítanec je součet čtverců odchylek `d_i` (tj. rozdílů naměřených a vypočtených hodnot). Víme, že metoda nejmenších čtverců zajišťuje, že součet odchylek je nulový `Σd_i = 0`, tudíž `\bar{d}=\sum d_i/N=0`. Tento součet čtverců odchylek se nazývá chybový
`SCC = \sum (d_i - \overline d)^2 = \sum d_i^2`.
Rozklad součtu čtverců odchylek se dá psát takto
`SCU = SCR + SCC`.
Můžeme se nyní zeptat, jakou část součtu čtverců úplného je možné přisoudit regresní přímce a jakou část je možné přisoudit odchylkám. To můžeme měřit pomocí poměru
`R^2 = SCR/SCU`, který se nazývá koeficient determinace.
Jestliže čitatele i jmenovatele dělíme číslem `(N-1)` dostáváme v čitateli rozptyl vypočtených hodnot `S_v^2 = SCR/(N-1)` a ve jmenovateli rozptyl hodnot závisle proměnné `S_y^2 = SCU/(N-1)`. Čili `R^2 = S_v^2 / S_y^2`. Když navíc tento podíl uvedeme v procentech, což je běžným zvykem, nazýváme koeficient determinace procentem vysvětleného rozptylu.
Z definice vidíme, že koeficient determinace je vždy nezáporný a nejvýše roven jedné `0 ≤ R^2 ≤ 1`. Pokud regresní přímka přesně vystihuje všechny body [`x_i`, `y_i`], tj. všemi body [`x_i`, `y_i`] prochází, je koeficient determinace roven jedné, neboť `Σd_i = 0` a rozklad součtu čtverců dává `SCU = SCR`.
V praktických příkladech se pokládá koeficient determinace za dostatečně vysoký, když je v horní čtvrtině intervalu < 0;1 >, tedy přesahuje 0,75. To znamená, že více než tři čtvrtiny rozptylu jsou vysvětleny regresí, zbývající čtvrtina rozptylu je způsobena chybami `d_i`.
(Pro zobrazení odpovědi klikni na otázku.)
1) Rozhodněte, v kterém z následujících případů je vhodné použít regresní analýzu: