R-kvadreret
Hvad er R-squared
Vi har allerede gennemgået MSE, RMSE og MAE. Disse hjælper med at sammenligne modeller, men en enkelt score er svær at vurdere uden kontekst. Det kan være uklart, om værdien er “tilstrækkelig god” for dit datasæt.
R-squared løser dette ved at måle, hvor meget af målets varians modellen forklarer. Dens værdi ligger mellem 0 og 1, hvilket gør fortolkningen enkel.
Problemet er, at vi ikke kan beregne den forklarede varians direkte. Men vi kan beregne den uforklarede varians, så vi omskriver ovenstående ligning til:
Total varians
Den totale varians er blot variansen af målet, og vi kan beregne målets varians ved hjælp af formelen for stikprøvevarians fra statistik (ȳ er målets gennemsnit):
I eksemplet kvadreres og summeres forskellene mellem de faktiske værdier og målets gennemsnit (orange linjer), og divideres derefter med m−1, hvilket giver en total varians på 11,07.
Uforklaret varians
Dernæst beregnes den varians, som modellen ikke forklarer. Hvis forudsigelserne var perfekte, ville alle punkter ligge præcist på regressionslinjen. Vi bruger den samme variansformel, men erstatter ȳ med de forudsagte værdier.
Her er et eksempel med visualisering:
Nu ved vi alt, hvad der skal til for at beregne R-squared:
Vi fik en R-squared score på 0,92, hvilket er tæt på 1, så vi har en fremragende model. Vi vil også beregne R-squared for endnu en model.
R-squared er lavere, da modellen underfitter dataene en smule.
R-squared i Python
sm.OLS-klassen beregner R-squared for os. Vi kan finde det i summary()-tabellen her.
R-squared varierer fra 0 til 1, og højere er bedre (medmindre modellen overfitter). summary()-outputtet fra sm.OLS inkluderer R-squared-scoren.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 5.26
R-kvadreret
Stryg for at vise menuen
Hvad er R-squared
Vi har allerede gennemgået MSE, RMSE og MAE. Disse hjælper med at sammenligne modeller, men en enkelt score er svær at vurdere uden kontekst. Det kan være uklart, om værdien er “tilstrækkelig god” for dit datasæt.
R-squared løser dette ved at måle, hvor meget af målets varians modellen forklarer. Dens værdi ligger mellem 0 og 1, hvilket gør fortolkningen enkel.
Problemet er, at vi ikke kan beregne den forklarede varians direkte. Men vi kan beregne den uforklarede varians, så vi omskriver ovenstående ligning til:
Total varians
Den totale varians er blot variansen af målet, og vi kan beregne målets varians ved hjælp af formelen for stikprøvevarians fra statistik (ȳ er målets gennemsnit):
I eksemplet kvadreres og summeres forskellene mellem de faktiske værdier og målets gennemsnit (orange linjer), og divideres derefter med m−1, hvilket giver en total varians på 11,07.
Uforklaret varians
Dernæst beregnes den varians, som modellen ikke forklarer. Hvis forudsigelserne var perfekte, ville alle punkter ligge præcist på regressionslinjen. Vi bruger den samme variansformel, men erstatter ȳ med de forudsagte værdier.
Her er et eksempel med visualisering:
Nu ved vi alt, hvad der skal til for at beregne R-squared:
Vi fik en R-squared score på 0,92, hvilket er tæt på 1, så vi har en fremragende model. Vi vil også beregne R-squared for endnu en model.
R-squared er lavere, da modellen underfitter dataene en smule.
R-squared i Python
sm.OLS-klassen beregner R-squared for os. Vi kan finde det i summary()-tabellen her.
R-squared varierer fra 0 til 1, og højere er bedre (medmindre modellen overfitter). summary()-outputtet fra sm.OLS inkluderer R-squared-scoren.
Tak for dine kommentarer!