Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära R-kvadrat | Välja Den Bästa Modellen
Linjär Regression med Python

bookR-kvadrat

Vad är R-kvadrat

Vi har redan gått igenom MSE, RMSE och MAE. Dessa hjälper till att jämföra modeller, men ett enskilt värde är svårt att bedöma utan kontext. Det kan vara oklart om värdet är "tillräckligt bra" för din datamängd.

R-kvadrat löser detta genom att mäta hur mycket av målvariabelns varians som modellen förklarar. Värdet ligger mellan 0 och 1, vilket gör tolkningen enkel.

Problemet är att vi inte kan beräkna den förklarade variansen direkt. Däremot kan vi beräkna oförklarad varians, så vi omvandlar ovanstående ekvation till:

Total varians

Den totala variansen är helt enkelt målvariabelns varians, och vi kan beräkna målvariabelns varians med hjälp av formeln för stickprovsvarians från statistiken ( är målvariabelns medelvärde):

I exemplet kvadreras och summeras skillnaderna mellan faktiska värden och målmedelvärdet (orange linjer), och delas sedan med m−1, vilket ger en total varians på 11,07.

Oförklarad varians

Nästa steg är att beräkna den varians som modellen inte förklarar. Om prediktionerna vore perfekta skulle alla punkter ligga exakt på regressionslinjen. Vi använder samma variansformel, men ersätter med de predikterade värdena.

Här är ett exempel med visualisering:

Nu har vi all information för att beräkna R-kvadrat:

Vi fick ett R-kvadratvärde på 0,92 vilket är nära 1, så vi har en utmärkt modell. Vi kommer även att beräkna R-kvadrat för en modell till.

R-kvadrat är lägre eftersom modellen underanpassar data något.

R-kvadrat i Python

Klassen sm.OLS beräknar R-kvadrat åt oss. Vi hittar det i tabellen summary() här.

R-kvadrat varierar från 0 till 1, och högre är bättre (såvida inte modellen överanpassar). Utdata från summary() för sm.OLS inkluderar R-kvadrat-värdet.

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 3

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Awesome!

Completion rate improved to 5.26

bookR-kvadrat

Svep för att visa menyn

Vad är R-kvadrat

Vi har redan gått igenom MSE, RMSE och MAE. Dessa hjälper till att jämföra modeller, men ett enskilt värde är svårt att bedöma utan kontext. Det kan vara oklart om värdet är "tillräckligt bra" för din datamängd.

R-kvadrat löser detta genom att mäta hur mycket av målvariabelns varians som modellen förklarar. Värdet ligger mellan 0 och 1, vilket gör tolkningen enkel.

Problemet är att vi inte kan beräkna den förklarade variansen direkt. Däremot kan vi beräkna oförklarad varians, så vi omvandlar ovanstående ekvation till:

Total varians

Den totala variansen är helt enkelt målvariabelns varians, och vi kan beräkna målvariabelns varians med hjälp av formeln för stickprovsvarians från statistiken ( är målvariabelns medelvärde):

I exemplet kvadreras och summeras skillnaderna mellan faktiska värden och målmedelvärdet (orange linjer), och delas sedan med m−1, vilket ger en total varians på 11,07.

Oförklarad varians

Nästa steg är att beräkna den varians som modellen inte förklarar. Om prediktionerna vore perfekta skulle alla punkter ligga exakt på regressionslinjen. Vi använder samma variansformel, men ersätter med de predikterade värdena.

Här är ett exempel med visualisering:

Nu har vi all information för att beräkna R-kvadrat:

Vi fick ett R-kvadratvärde på 0,92 vilket är nära 1, så vi har en utmärkt modell. Vi kommer även att beräkna R-kvadrat för en modell till.

R-kvadrat är lägre eftersom modellen underanpassar data något.

R-kvadrat i Python

Klassen sm.OLS beräknar R-kvadrat åt oss. Vi hittar det i tabellen summary() här.

R-kvadrat varierar från 0 till 1, och högre är bättre (såvida inte modellen överanpassar). Utdata från summary() för sm.OLS inkluderar R-kvadrat-värdet.

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 3
some-alt