Jednoduchá lineární regresní analýza
Jednoduchá lineární regrese je statistická technika používaná k analýze vztahu mezi dvěma kvantitativními proměnnými. Proměnná, kterou se snažíme předpovědět, se nazývá závislá nebo odezvová proměnná, zatímco proměnná použitá k provedení predikce se nazývá nezávislá nebo prediktorová proměnná. V jednoduché lineární regresi se snažíme najít nejlepší přímku, která popisuje vztah mezi těmito dvěma proměnnými.
Základní pojmy jednoduché lineární regrese
Jednoduchá lineární regrese je založena na předpokladu, že mezi závislou proměnnou \(Y\) a nezávislou proměnnou \(X\) existuje lineární vztah. Obecný tvar modelu jednoduché lineární regrese je:
Y = \beta_0 + \beta_1 X + \epsilon \]
Ruka:
– \( Y \) je závislá proměnná.
– \( X \) je nezávislá proměnná.
– \( \beta_0 \) je průsečík s osou Y, což je hodnota \(Y\) při \(X = 0\).
– \( \beta_1 \) je sklon nebo gradient, což je průměrná změna \(Y\) pro každou jednotkovou změnu \(X\).
– \( \epsilon \) je chyba nebo reziduální člen, který představuje variabilitu v \(Y\), kterou nelze vysvětlit pomocí \(X\).
Cílem jednoduché lineární regrese je odhadnout parametry \(\beta_0\) a \(\beta_1\) tak, aby model mohl být použit k predikci hodnoty \(Y\) spojené s hodnotou \(X\).
Metoda nejmenších čtverců
Jednou z nejčastěji používaných metod pro fitování jednoduchého lineárního regresního modelu je metoda nejmenších čtverců. Tato metoda si klade za cíl minimalizovat součet čtverců vertikálních odchylek mezi skutečnými pozorováními a hodnotami předpovězenými modelem. Předpokládejme, že máme n pozorování sestávajících z dvojic \((x_i, y_i)\) pro \(i = 1, 2, …, n\). Funkce, která má být minimalizována, je:
S(β0, β1) = suma i=1 n (yi – (β0 + β1 xi))²
Abychom našli \(\beta_0\) a \(\beta_1\), které minimalizují tuto funkci, vezmeme parciální derivace \(S(\beta_0, \beta_1)\) vzhledem k každému parametru a nastavíme tyto derivace na nulu. Matematický výpočet lze zjednodušit následovně:
\[ \beta_1 = \frac{\suma_{i=1}^{n} (x_i – \bar{x})(y_i – \bar{y})}{\suma_{i=1}^{n} (x_i – \bar{x})^2} \]
\[ \beta_0 = \bar{y} – \beta_1 \bar{x} \]
Ruka:
– \(\bar{x}\) je průměr \(X\)
– \(\bar{y}\) je průměr \(Y\)
Po získání parametrů \(\beta_0\) a \(\beta_1\) lze k predikci hodnoty \(Y\) pro každou hodnotu \(X\) použít jednoduchý lineární regresní model.
Předpoklady v jednoduché lineární regresi
Pro platné a spolehlivé výsledky předpokládá jednoduchá lineární regrese několik věcí:
1. Linearita: Vztah mezi závislou a nezávislou proměnnou musí být lineární.
2. Nezávislost: Pozorování musí být na sobě nezávislá.
3. Homoskedasticita: Reziduální variabilita musí být konstantní v celém rozsahu hodnot nezávislé proměnné.
4. Normálnost reziduí: Rezidua (chyby) musí odpovídat normálnímu rozdělení.
Pokud tyto předpoklady nejsou splněny, výsledky jednoduchého lineárního regresního modelu budou nespolehlivé a nemusí být schopny poskytnout přesné předpovědi.
Hodnocení regresního modelu
Jedním ze způsobů, jak posoudit, jak dobře jednoduchý lineární regresní model předpovídal, je použití koeficientu determinace (\(R^2\)). Koeficient determinace ukazuje podíl variability závislé proměnné, který lze vysvětlit variabilitou nezávislých proměnných.
\[ R^2 = \frac{\suma_{i=1}^{n} (\hat{y}_i – \bar{y})^2}{\suma_{i=1}^{n} (y_i – \bar{y})^2} \]
Ruka:
– \(\hat{y}_i\) je předpokládaná hodnota \(Y\).
– \(y_i\) je skutečná hodnota \(Y\).
– \(\bar{y}\) je průměr hodnot \(Y\).
Hodnota \(R^2\) se pohybuje od 0 do 1. Hodnota \(R^2\) blízká 1 znamená, že model dokáže vysvětlit většinu variability závislé proměnné.
Implementace v programovacím jazyce
Pro implementaci jednoduché lineární regrese můžeme použít různé statistické programy nebo programovací jazyky. Níže je uveden příklad implementace v Pythonu s využitím knihovny `scikit-learn`:
"Python."
importovat numpy jako np
importovat matplotlib.pyplot jako plt
ze sklearn.linear_model import LinearRegression
ze sklearn.metrics import mean_squared_error, r2_score
Data
X = np.array([[1], [2], [3], [4], [5]]).atype(np.float64)
y = np.array([1.5, 3.6, 3.5, 2.9, 5.5]).atype(np.float64)
Model
model = lineární regrese ()
model.fit (X, y)
Předpověď
y_pred = model.predict (X)
Součinitel
beta_0 = model.intercept_
beta_1 = model.coef_[0]
print(f'Zachycení: {beta_0}')
print(f'Sklon: {beta_1}')
print(f'Střední kvadratická chyba: {mean_squared_error(y, y_pred)}')
print(f'Koeficient determinace (R^2): {r2_score(y, y_pred)}')
Datový graf a regresní přímka
plt.scatter(X, y, barva='modrá')
plt.plot(X, y_pred, barva='červená')
plt.xlabel('X')
plt.ylabel('Y')
plt.show ()
"."
Ve výše uvedeném příkladu nejprve importujeme potřebné knihovny, definujeme data \(X\) a \(Y\) a poté použijeme objekt `LinearRegression` ze `scikit-learn` k přizpůsobení modelu datům. Jakmile je model přizpůsoben, provedeme predikce a vypočítáme koeficienty, stejně jako střední kvadratickou chybu a koeficient determinace. Nakonec vykreslíme data a regresní přímku.
Závěr
Jednoduchá lineární regrese je výkonný nástroj statistické analýzy používaný k vysvětlení vztahu mezi dvěma kvantitativními proměnnými. S několika základními předpoklady o linearitě, nezávislosti, homoskedasticitě a normality můžeme předpovědět hodnotu závislé proměnné na základě hodnot nezávislých proměnných. Metoda nejmenších čtverců poskytuje efektivní způsob, jak fitovat regresní přímku a určit optimální parametry. Vyhodnocení modelu pomocí koeficientu determinace (R2) poskytuje vhled do toho, jak dobře si náš model vede.
Ačkoli jednoduchá lineární regrese má svá omezení, jako je například schopnost zpracovat pouze dvě proměnné a předpoklady, které musí být splněny, tato technika zůstává důležitým základem ve statistice a analýze dat a často se používá jako první krok k pochopení vztahu mezi proměnnými před přechodem ke složitějším metodám.