Просты лінейны рэгрэсійны аналіз
Простая лінейная рэгрэсія — гэта статыстычны метад, які выкарыстоўваецца для аналізу сувязі паміж двума колькаснымі зменнымі. Зменная, якую мы спрабуем прадказаць, называецца залежнай або зменнай водгуку, а зменная, якая выкарыстоўваецца для прагнозу, называецца незалежнай або зменнай-прагназатарам. У простай лінейнай рэгрэсіі мы спрабуем знайсці найлепшую прамую лінію, якая апісвае сувязь паміж гэтымі двума зменнымі.
Асноўныя паняцці простай лінейнай рэгрэсіі
Простая лінейная рэгрэсія заснавана на здагадцы аб наяўнасці лінейнай залежнасці паміж залежнай зменнай \(Y\) і незалежнай зменнай \(X\). Агульная форма мадэлі простай лінейнай рэгрэсіі выглядае наступным чынам:
Y = \β_0 + \β_1 X + \эпсілон \]
Дзе:
– \(Y \) — залежная зменная.
– \(X\) — незалежная зменная.
– \( \beta_0 \) — гэта кропка перасячэння з воссю Y, якая з'яўляецца значэннем \(Y\) пры \(X = 0\).
– \( \beta_1 \) — гэта нахіл або градыент, які з'яўляецца сярэднім змяненнем \(Y\) для кожнага адзінкавага змянення \(X\).
– \( \epsilon \) — гэта памылка або рэшткавы член, які адлюстроўвае зменлівасць \(Y\), якую нельга растлумачыць з дапамогай \(X\).
Мэта простай лінейнай рэгрэсіі — ацаніць параметры \(\beta_0\) і \(\beta_1\), каб мадэль магла быць выкарыстана для прагназавання значэння \(Y\), звязанага са значэннем \(X\).
Метад найменшых квадратаў
Адзін з найбольш распаўсюджаных метадаў апраксімацыі простай мадэлі лінейнай рэгрэсіі — гэта метад найменшых квадратаў. Гэты метад накіраваны на мінімізацыю сумы квадратаў вертыкальных адхіленняў паміж фактычнымі назіраннямі і значэннямі, прадказанымі мадэллю. Дапусцім, у нас ёсць n назіранняў, якія складаюцца з пар \((x_i, y_i)\) для \(i = 1, 2, …, n\). Функцыя, якую трэба мінімізаваць, мае выгляд:
S(β0, β1) = sum_{i=1}^{n} (y_i – (β0 + β1x_i))^2]
Каб знайсці \(\beta_0\) і \(\beta_1\), якія мінімізуюць гэту функцыю, мы бярэм частковыя вытворныя \(S(\beta_0, \beta_1)\) адносна кожнага параметра і ўраўноўваем гэтыя вытворныя нулем. Матэматычны разлік можна спрасціць наступным чынам:
\[ \beta_1 = \frac{\sum_{i=1}^{n} (x_i – \bar{x})(y_i – \bar{y})}{\sum_{i=1}^{n} (x_i – \bar{x})^2} \]
\[ \beta_0 = \bar{y} – \beta_1 \bar{x} \]
Дзе:
– \(\bar{x}\) — сярэдняе значэнне \(X\)
– \(\bar{y}\) — сярэдняе значэнне \(Y\)
Пасля атрымання параметраў \(\beta_0\) і \(\beta_1\) можна выкарыстоўваць простую мадэль лінейнай рэгрэсіі для прагназавання значэння \(Y\) для кожнага значэння \(X\).
Дапушчэнні ў простай лінейнай рэгрэсіі
Для атрымання дакладных і надзейных вынікаў простая лінейная рэгрэсія прадугледжвае некалькі рэчаў:
1. Лінейнасць: сувязь паміж залежнай зменнай і незалежнай зменнай павінна быць лінейнай.
2. Незалежнасць: назіранні павінны быць незалежнымі адно ад аднаго.
3. Гамаскедастычнасць: Рэшткавая зменлівасць павінна быць пастаяннай ва ўсім дыяпазоне значэнняў незалежнай зменнай.
4. Рэшткавая нармальнасць: Рэшткі (памылкі) павінны адпавядаць нармальнаму размеркаванню.
Калі гэтыя дапушчэнні не будуць выкананы, вынікі простай лінейнай рэгрэсійнай мадэлі будуць ненадзейнымі і могуць не даць дакладных прагнозаў.
Ацэнка рэгрэсійнай мадэлі
Адзін са спосабаў ацаніць, наколькі добра прадказала простая мадэль лінейнай рэгрэсіі, - гэта выкарыстоўваць каэфіцыент дэтэрмінацыі (\(R^2\)). Каэфіцыент дэтэрмінацыі паказвае долю зменлівасці залежнай зменнай, якую можна растлумачыць зменлівасцю незалежных зменных.
\[ R^2 = \frac{\sum_{i=1}^{n} (\hat{y}_i – \bar{y})^2}{\sum_{i=1}^{n} (y_i – \bar{y})^2} \]
Дзе:
– \(\hat{y}_i\) — прагназаванае значэнне \(Y\).
– \(y_i\) — гэта сапраўднае значэнне \(Y\).
– \(\bar{y}\) — сярэдняе значэнне значэнняў \(Y\).
Значэнне \(R^2\) вагаецца ад 0 да 1. Значэнне \(R^2\), блізкае да 1, паказвае, што мадэль можа растлумачыць большую частку зменлівасці залежнай зменнай.
Рэалізацыя на мове праграмавання
Для рэалізацыі простай лінейнай рэгрэсіі можна выкарыстоўваць рознае статыстычнае праграмнае забеспячэнне або мовы праграмавання. Ніжэй прыведзены прыклад рэалізацыі на Python з выкарыстаннем бібліятэкі `scikit-learn`:
«пітон
імпартаваць numpy як np
імпартаваць matplotlib.pyplot як plt
з sklearn.linear_model імпартаваць LinearRegression
з sklearn.metrics імпартаваць mean_squared_error, r2_score
Дата
X = np.array([[1], [2], [3], [4], [5]]).astype(np.float64)
y = np.array([1.5, 3.6, 3.5, 2.9, 5.5]).astype(np.float64)
мадэль
мадэль = лінейная рэгрэсія ()
model.fit (X, y)
Прадказанне
y_pred = model.predict (X)
Каэфіцыент
бэта_0 = мадэль.перахоп_
бэта_1 = мадэль.каэфіцыент_[0]
print(f'Перахоп: {beta_0}')
print(f'Нахіл: {beta_1}')
print(f'Сярэднеквадратычная памылка: {mean_squared_error(y, y_pred)}')
print(f'Каэфіцыент дэтэрмінацыі (R^2): {r2_score(y, y_pred)}')
Графік дадзеных і лінія рэгрэсіі
plt.scatter(X, y, колер='сіні')
plt.plot(X, y_pred, колер='чырвоны')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
"
У прыведзеным вышэй прыкладзе мы спачатку імпартуем неабходныя бібліятэкі, вызначаем дадзеныя \(X\) і \(Y\), а затым выкарыстоўваем аб'ект `LinearRegression` з `scikit-learn` для падганяння мадэлі да дадзеных. Пасля падганяння мадэлі мы робім прагнозы і вылічваем каэфіцыенты, а таксама сярэднеквадратычную памылку і каэфіцыент дэтэрмінацыі. Нарэшце, мы будуем графік дадзеных і лінію рэгрэсіі.
Выснова
Простая лінейная рэгрэсія — гэта магутны інструмент статыстычнага аналізу, які выкарыстоўваецца для тлумачэння сувязі паміж двума колькаснымі зменнымі. Зыходзячы з некаторых асноўных здагадак аб лінейнасці, незалежнасці, гомаскедастычнасці і нармальнасці, мы можам прадказаць значэнне залежнай зменнай на аснове значэнняў незалежных зменных. Метад найменшых квадратаў забяспечвае эфектыўны спосаб апраксімацыі лініі рэгрэсіі і вызначэння аптымальных параметраў. Ацэнка мадэлі з дапамогай каэфіцыента дэтэрмінацыі (R2) дае ўяўленне аб тым, наколькі добра працуе наша мадэль.
Нягледзячы на тое, што простая лінейная рэгрэсія мае абмежаванні, такія як магчымасць апрацоўваць толькі дзве зменныя і дапушчэнні, якія павінны быць выкананы, гэты метад застаецца важнай асновай у статыстыцы і аналізе дадзеных і часта выкарыстоўваецца ў якасці першага кроку ў разуменні сувязі паміж зменнымі, перш чым пераходзіць да больш складаных метадаў.