R-neliö
Mikä on R-squared
Olemme käsitelleet joitakin yleisimmin käytetyistä regressiomittareista Mittarit-luvussa. Näitä ovat MSE, RMSE ja MAE. Ne soveltuvat mallien vertailuun, mutta kun rakennat yhden mallin, et aina tiedä, onko tulos hyvä juuri sinun aineistossasi vai pitäisikö kokeilla muita malleja.
Onneksi on olemassa mittari nimeltä R-squared, joka mittaa mallin suorituskykyä asteikolla 0–1. R-squared laskee, kuinka suuren osuuden kohteen vaihtelusta malli pystyy selittämään.
Ongelma on, että selitettyä varianssia ei voida laskea suoraan. Selittämätön varianssi voidaan kuitenkin laskea, joten muunnamme yllä olevan yhtälön seuraavasti:
Kokonaisvaihtelu
Kokonaisvaihtelu tarkoittaa kohdemuuttujan varianssia, ja sen voi laskea tilastotieteestä tutulla otosvarianssin kaavalla (ȳ on kohdemuuttujan keskiarvo):
Tässä on esimerkki visualisoinnin kanssa. Erot todellisten kohdearvojen ja kohdemuuttujan keskiarvon välillä on merkitty oranssilla. Kuten SSR:n laskennassa, otetaan jokaisen oranssin viivan pituus, korotetaan se toiseen potenssiin ja lisätään summa, mutta nyt jaetaan tulos myös m-1:llä. Tässä kokonaisvaihteluksi saatiin 11,07.
Selittämätön vaihtelu
Nyt täytyy laskea mallin selittämättä jättämä vaihtelu. Jos malli selittäisi koko vaihtelun, kaikki pisteet olisivat regressiosuoran päällä. Näin ei kuitenkaan yleensä ole, joten haluamme laskea kohdemuuttujan vaihtelun nyt suhteessa regressiosuoraan keskiarvon sijaan. Käytämme samaa kaavaa, mutta korvaamme ȳ mallin ennusteilla.
Tässä on esimerkki visualisoinnilla:
Nyt tiedämme kaiken tarvittavan R-squared-arvon laskemiseen:
Saimme R-squared-arvoksi 0.92, mikä on lähellä arvoa 1, joten mallimme on erinomainen. Lasketaan R-squared myös yhdelle toiselle mallille.
R-squared on matalampi, koska malli alisovittaa dataa hieman.
R-squared Pythonissa
sm.OLS-luokka laskee R-squared-arvon puolestamme. Löydämme sen summary()-taulukosta täällä.
Yhteenvetona, R-squared on regressiomittari. Sen arvo voi olla välillä 0–1. Toisin kuin muut mittarit kuten MSE/MAE, suurempi arvo on parempi (ellei malli ylisopeudu). Löydät R-squared-arvon summary()-luokan sm.OLS-taulukosta.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain what a good R-squared value is?
How does R-squared compare to other regression metrics like MSE or MAE?
Can R-squared ever be negative?
Awesome!
Completion rate improved to 5.26
R-neliö
Pyyhkäise näyttääksesi valikon
Mikä on R-squared
Olemme käsitelleet joitakin yleisimmin käytetyistä regressiomittareista Mittarit-luvussa. Näitä ovat MSE, RMSE ja MAE. Ne soveltuvat mallien vertailuun, mutta kun rakennat yhden mallin, et aina tiedä, onko tulos hyvä juuri sinun aineistossasi vai pitäisikö kokeilla muita malleja.
Onneksi on olemassa mittari nimeltä R-squared, joka mittaa mallin suorituskykyä asteikolla 0–1. R-squared laskee, kuinka suuren osuuden kohteen vaihtelusta malli pystyy selittämään.
Ongelma on, että selitettyä varianssia ei voida laskea suoraan. Selittämätön varianssi voidaan kuitenkin laskea, joten muunnamme yllä olevan yhtälön seuraavasti:
Kokonaisvaihtelu
Kokonaisvaihtelu tarkoittaa kohdemuuttujan varianssia, ja sen voi laskea tilastotieteestä tutulla otosvarianssin kaavalla (ȳ on kohdemuuttujan keskiarvo):
Tässä on esimerkki visualisoinnin kanssa. Erot todellisten kohdearvojen ja kohdemuuttujan keskiarvon välillä on merkitty oranssilla. Kuten SSR:n laskennassa, otetaan jokaisen oranssin viivan pituus, korotetaan se toiseen potenssiin ja lisätään summa, mutta nyt jaetaan tulos myös m-1:llä. Tässä kokonaisvaihteluksi saatiin 11,07.
Selittämätön vaihtelu
Nyt täytyy laskea mallin selittämättä jättämä vaihtelu. Jos malli selittäisi koko vaihtelun, kaikki pisteet olisivat regressiosuoran päällä. Näin ei kuitenkaan yleensä ole, joten haluamme laskea kohdemuuttujan vaihtelun nyt suhteessa regressiosuoraan keskiarvon sijaan. Käytämme samaa kaavaa, mutta korvaamme ȳ mallin ennusteilla.
Tässä on esimerkki visualisoinnilla:
Nyt tiedämme kaiken tarvittavan R-squared-arvon laskemiseen:
Saimme R-squared-arvoksi 0.92, mikä on lähellä arvoa 1, joten mallimme on erinomainen. Lasketaan R-squared myös yhdelle toiselle mallille.
R-squared on matalampi, koska malli alisovittaa dataa hieman.
R-squared Pythonissa
sm.OLS-luokka laskee R-squared-arvon puolestamme. Löydämme sen summary()-taulukosta täällä.
Yhteenvetona, R-squared on regressiomittari. Sen arvo voi olla välillä 0–1. Toisin kuin muut mittarit kuten MSE/MAE, suurempi arvo on parempi (ellei malli ylisopeudu). Löydät R-squared-arvon summary()-luokan sm.OLS-taulukosta.
Kiitos palautteestasi!