Paprastoji tiesinė regresinė analizė
Paprastoji tiesinė regresija yra statistinis metodas, naudojamas analizuoti dviejų kiekybinių kintamųjų ryšį. Kintamasis, kurį bandome numatyti, vadinamas priklausomu arba atsako kintamuoju, o kintamasis, naudojamas prognozei atlikti, vadinamas nepriklausomu arba prognozuojamuoju kintamuoju. Paprastojoje tiesinėje regresijoje bandome rasti geriausią tiesę, apibūdinančią ryšį tarp šių dviejų kintamųjų.
Pagrindinės paprastosios tiesinės regresijos sąvokos
Paprastoji tiesinė regresija pagrįsta prielaida, kad tarp priklausomo kintamojo \(Y\) ir nepriklausomo kintamojo \(X\) yra tiesinis ryšys. Bendroji paprastojo tiesinės regresijos modelio forma yra:
[Y = β0 + β1 X + ε]
Kur:
– \(Y \) yra priklausomas kintamasis.
– \(X \) yra nepriklausomas kintamasis.
– \( \beta_0 \) yra intervalo taškas, kuris yra \(Y\) reikšmė, kai \(X = 0\).
– \( \beta_1 \) yra nuolydis arba gradientas, kuris yra vidutinis \(Y\) pokytis kiekvienam \(X\) pokyčio vienetui.
– \( \epsilon \) yra paklaida arba liekamasis narys, žymintis \(Y\) kintamumą, kurio negalima paaiškinti \(X\).
Paprastosios tiesinės regresijos tikslas yra įvertinti parametrus \(\beta_0\) ir \(\beta_1\) taip, kad modelį būtų galima panaudoti \(Y\) vertei, susijusiai su \(X\) verte, numatyti.
Mažiausių kvadratų metodas
Vienas iš dažniausiai naudojamų metodų paprastam tiesinės regresijos modeliui pritaikyti yra mažiausių kvadratų metodas. Šio metodo tikslas – sumažinti vertikalių nuokrypių tarp faktinių stebėjimų ir modelio numatytų verčių kvadratų sumą. Tarkime, kad turime n stebėjimų, susidedančių iš porų \(x_i, y_i)\), kai \(i = 1, 2, …, n\). Minimizuojama funkcija yra:
S(beta_0, beta_1) = ∫_{i=1}^{n} (y_i – (beta_0 + beta_1 x_i))^2]
Norint rasti \(\beta_0\) ir \(\beta_1\), kurie minimizuoja šią funkciją, imame \(S(\beta_0, \beta_1)\) dalines išvestines kiekvieno parametro atžvilgiu ir šias išvestines prilyginame nuliui. Matematinį skaičiavimą galima supaprastinti taip:
[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} \]
Kur:
– \(\bar{x}\) yra \(X\) vidurkis
– \(\bar{y}\) yra \(Y\) vidurkis
Gavus parametrus \(\beta_0\) ir \(\beta_1\), paprastas tiesinės regresijos modelis gali būti naudojamas \(Y\) reikšmei numatyti kiekvienai \(X\) reikšmei.
Paprastosios tiesinės regresijos prielaidos
Norint gauti pagrįstus ir patikimus rezultatus, paprastoji tiesinė regresija daro prielaidą iš kelių dalykų:
1. Tiesiškumas: priklausomo kintamojo ir nepriklausomo kintamojo santykis turi būti tiesinis.
2. Nepriklausomumas: stebėjimai turi būti nepriklausomi vienas nuo kito.
3. Homoskedastiškumas: Likęs kintamumas turi būti pastovus visame nepriklausomo kintamojo reikšmių diapazone.
4. Likučių normalumas: Likučiai (paklaidos) turi atitikti normalųjį skirstinį.
Jei šios prielaidos nebus įvykdytos, paprasto tiesinės regresijos modelio rezultatai bus nepatikimi ir gali būti neįmanoma pateikti tikslių prognozių.
Regresijos modelio vertinimas
Vienas iš būdų įvertinti, kaip tiksliai prognozavo paprastas tiesinės regresijos modelis, yra naudoti nustatymo koeficientą (\(R^2\)). Nustatymo koeficientas rodo priklausomo kintamojo kintamumo dalį, kurią galima paaiškinti nepriklausomų kintamųjų kintamumu.
[R^2 = \frac{\sum_{i=1}^{n} (\hat{y}_i – \bar{y})^2}{\sum_{i=1}^{n} (y_i – \bar{y})^2} \]
Kur:
– \(\hat{y}_i\) yra numatoma \(Y\) reikšmė.
– \(y_i\) yra tikroji \(Y\) reikšmė.
– \(\bar{y}\) yra \(Y\) reikšmių vidurkis.
\(R^2\) reikšmė svyruoja nuo 0 iki 1. \(R^2\) reikšmė, artima 1, rodo, kad modelis gali paaiškinti didžiąją dalį priklausomo kintamojo kintamumo.
Įgyvendinimas programavimo kalba
Paprastai tiesinei regresijai įgyvendinti galime naudoti įvairią statistinę programinę įrangą arba programavimo kalbas. Žemiau pateiktas įgyvendinimo pavyzdys Python kalba naudojant „scikit-learn“ biblioteką:
"" Python
importuoti numpy kaip np
importuoti matplotlib.pyplot kaip plt
iš sklearn.linear_model importuoti LinearRegression
iš sklearn.metrics importo mean_squared_error, r2_score
Duomenys
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)
Modelis
modelis = tiesinė regresija ()
modelis.fit (X, y)
Numatymas
y_pred = modelis.prognozuoti (X)
Koeficientas
beta_0 = modelis.intercept_
beta_1 = modelis.koef_[0]
print(f'Perimtis: {beta_0}')
print(f'Nuokrypis: {beta_1}')
print(f'Vidutinė kvadratinė paklaida: {mean_squared_error(y, y_pred)}')
print(f'Nustatymo koeficientas (R^2): {r2_score(y, y_pred)}')
Duomenų grafikas ir regresijos linija
plt.scatter(X, y, spalva = 'mėlyna')
plt.plot(X, y_pred, spalva = 'raudona')
plt.xlabel('X')
plt.ylabel('Y')
plt.show ()
„“
Aukščiau pateiktame pavyzdyje pirmiausia importuojame reikiamas bibliotekas, apibrėžiame duomenis \(X\) ir \(Y\), o tada naudojame „LinearRegression“ objektą iš „scikit-learn“, kad pritaikytume modelį duomenims. Kai modelis pritaikomas, atliekame prognozes ir apskaičiuojame koeficientus, taip pat vidutinę kvadratinę paklaidą ir determinacijos koeficientą. Galiausiai nubraižome duomenis ir regresijos liniją.
Išvada
Paprastoji tiesinė regresija yra galingas statistinės analizės įrankis, naudojamas dviejų kiekybinių kintamųjų ryšiui paaiškinti. Remiantis keliomis pagrindinėmis prielaidomis apie tiesiškumą, nepriklausomumą, homoskedastiškumą ir normalumą, galime numatyti priklausomo kintamojo vertę, remdamiesi nepriklausomų kintamųjų vertėmis. Mažiausių kvadratų metodas suteikia efektyvų būdą pritaikyti regresijos liniją ir nustatyti optimalius parametrus. Modelio vertinimas naudojant determinacijos koeficientą (R2) suteikia įžvalgų apie tai, kaip gerai veikia mūsų modelis.
Nors paprasta tiesinė regresija turi apribojimų, pavyzdžiui, gali apdoroti tik du kintamuosius ir turi būti įvykdytos prielaidos, ši technika išlieka svarbiu statistikos ir duomenų analizės pagrindu ir dažnai naudojama kaip pirmas žingsnis norint suprasti kintamųjų ryšį prieš pereinant prie sudėtingesnių metodų.