Yksinkertainen lineaarinen regressioanalyysi
Yksinkertainen lineaarinen regressio on tilastollinen menetelmä, jota käytetään kahden kvantitatiivisen muuttujan välisen suhteen analysointiin. Ennustamaani muuttujaa kutsutaan riippuvaksi eli vastemuuttujaksi, kun taas ennusteen tekemiseen käytettyä muuttujaa kutsutaan riippumattomaksi eli ennustavaksi muuttujaksi. Yksinkertaisessa lineaarisessa regressiossa yritämme löytää parhaan suoran, joka kuvaa näiden kahden muuttujan välistä suhdetta.
Yksinkertaisen lineaarisen regression peruskäsitteet
Yksinkertainen lineaarinen regressio perustuu oletukseen, että riippuvan muuttujan \(Y\) ja riippumattoman muuttujan \(X\) välillä on lineaarinen suhde. Yksinkertaisen lineaarisen regressiomallin yleinen muoto on:
\[Y = \beta_0 + \beta_1 X + \epsilon \]
Di mana:
– \(Y \) on riippuva muuttuja.
– \(X \) on riippumaton muuttuja.
– \( \beta_0 \) on leikkauspiste, joka on \(Y\):n arvo, kun \(X = 0\).
– \( \beta_1 \) on kulmakerroin tai gradientti, joka on keskimääräinen muutos \(Y\):ssä jokaista \(X\):n yksikkömuutosta kohden.
– \( \epsilon \) on virhe- tai jäännöstermi, joka edustaa \(Y\):n vaihtelua, jota ei voida selittää \(X\):llä.
Yksinkertaisen lineaarisen regression tavoitteena on estimoida parametrit \(\beta_0\) ja \(\beta_1\) siten, että mallia voidaan käyttää \(X\)-arvoon liittyvän \(Y\)-arvon ennustamiseen.
Pienimmän neliösumman menetelmä
Yksi yleisimmin käytetyistä menetelmistä yksinkertaisen lineaarisen regressiomallin sovittamiseen on pienimmän neliösumman menetelmä. Tämän menetelmän tavoitteena on minimoida todellisten havaintojen ja mallin ennustamien arvojen välisten pystysuuntaisten poikkeamien neliöiden summa. Oletetaan, että meillä on n havaintoa, jotka koostuvat pareista \(x_i, y_i)\), kun \(i = 1, 2, …, n\). Minimoitava funktio on:
S(beta_0, beta_1) = summa_{i=1}^{n} (y_i – (beta_0 + beta_1 x_i))^2]
Jotta löydettäisiin \(\beta_0\) ja \(\beta_1\), jotka minimoivat tämän funktion, otamme \(S(\beta_0, \beta_1)\) -funktion osittaisderivaattojen kunkin parametrin suhteen ja asetamme nämä derivaattoja nollaksi. Matemaattista laskutoimitusta voidaan yksinkertaistaa seuraavasti:
\[ \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} \]
Di mana:
– \(\bar{x}\) on \(X\):n keskiarvo
– \(\bar{y}\) on \(Y\):n keskiarvo
Kun parametrit \(\beta_0\) ja \(\beta_1\) on saatu, yksinkertaista lineaarista regressiomallia voidaan käyttää \(Y\):n arvon ennustamiseen kullekin \(X\):n arvolle.
Oletukset yksinkertaisessa lineaarisessa regressiossa
Jotta tulokset olisivat päteviä ja luotettavia, yksinkertainen lineaarinen regressio olettaa useita asioita:
1. Lineaarisuus: Riippuvan muuttujan ja riippumattoman muuttujan välisen suhteen on oltava lineaarinen.
2. Riippumattomuus: Havaintojen on oltava toisistaan riippumattomia.
3. Homoskedastisuus: Jäännösvaihteluiden on oltava vakio koko riippumattoman muuttujan arvoalueella.
4. Jäännösnormaalisuus: Jäännösten (virheiden) on noudatettava normaalijakaumaa.
Jos näitä oletuksia ei täytetä, yksinkertaisen lineaarisen regressiomallin tulokset ovat epäluotettavia eivätkä välttämättä pysty tekemään tarkkoja ennusteita.
Regressiomallin arviointi
Yksi tapa arvioida, kuinka hyvin yksinkertainen lineaarinen regressiomalli on ennustanut, on käyttää määrityskerrointa (\(R^2\)). Määrityskerroin osoittaa riippuvan muuttujan vaihtelun osuuden, joka voidaan selittää riippumattomien muuttujien vaihtelulla.
\[ R^2 = \frac{\sum_{i=1}^{n} (\hat{y}_i – \bar{y})^2}{\sum_{i=1}^{n} (y_i – \bar{y})^2} \]
Di mana:
– \(\hat{y}_i\) on \(Y\):n ennustettu arvo.
– \(y_i\) on \(Y\):n todellinen arvo.
– \(\bar{y}\) on \(Y\)-arvojen keskiarvo.
R^2:n arvo vaihtelee välillä 0–1. Lähellä yhtä oleva R^2:n arvo osoittaa, että malli pystyy selittämään suurimman osan riippuvan muuttujan vaihtelusta.
Toteutus ohjelmointikielellä
Yksinkertaisen lineaarisen regression toteuttamiseksi voimme käyttää erilaisia tilastollisia ohjelmistoja tai ohjelmointikieliä. Alla on esimerkki toteutuksesta Pythonissa käyttäen `scikit-learn`-kirjastoa:
"" Python
Tuo numerot kuin np
Tuo matplotlib.pyplot plt
osoitteesta sklearn.linear_model import LinearRegression
from sklearn.metrics tuo keskiarvo_neliövirhe, r2_pisteet
Päiväys
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)
Malli
malli = Lineaarinen regressio ()
malli.fit (X, y)
Ennustus
y_pred = malli.ennustus (X)
Kerroin
beta_0 = malli.leikkauspiste_
beta_1 = malli.kerroin_[0]
tulosta(f'Siirto: {beta_0}')
tulosta(f'Kulmakerroin: {beta_1}')
print(f'Keskimääräinen neliövirhe: {mean_squared_error(y, y_pred)}')
tulosta(f'Määrityskerroin (R^2): {r2_score(y, y_pred)}')
Datakuvaaja ja regressiosuora
plt.scatter(X, y, väri='sininen')
plt.plot(X, y_pred, väri='punainen')
plt.xlabel('X')
plt.ylabel('Y')
plt.show ()
”`
Yllä olevassa esimerkissä tuomme ensin tarvittavat kirjastot, määrittelemme datan \(X\) ja \(Y\) ja käytämme sitten `scikit-learn`-kirjaston `LinearRegression`-objektia mallin sovittamiseen dataan. Kun malli on sovitettu, teemme ennusteita ja laskemme kertoimet, sekä keskineliövirheen ja määrityskertoimen. Lopuksi piirrämme datan ja regressiosuoran.
Johtopäätös
Yksinkertainen lineaarinen regressio on tehokas tilastollinen analyysityökalu, jota käytetään selittämään kahden kvantitatiivisen muuttujan välistä suhdetta. Joidenkin lineaarisuutta, riippumattomuutta, homoskedastisuutta ja normaaliutta koskevien perusoletusten avulla voimme ennustaa riippuvan muuttujan arvon riippumattomien muuttujien arvojen perusteella. Pienimmän neliösumman menetelmä tarjoaa tehokkaan tavan sovittaa regressiosuora ja määrittää optimaaliset parametrit. Mallin arviointi määrityskertoimen (R2) avulla antaa käsityksen siitä, kuinka hyvin mallimme toimii.
Vaikka yksinkertaisella lineaarisella regressiolla on rajoituksensa, kuten kyky käsitellä vain kahta muuttujaa ja täytettävät oletukset, tämä tekniikka on edelleen tärkeä perusta tilastotieteessä ja data-analyysissä, ja sitä käytetään usein ensimmäisenä askeleena muuttujien välisen suhteen ymmärtämisessä ennen siirtymistä monimutkaisempiin menetelmiin.