Kom igångKom igång gratis

Beräkna R-kvadrat

Nu när du har beräknat RMSE för modellens förutsägelser ska du undersöka hur väl modellen passar data – det vill säga hur mycket varians den förklarar. Det gör du med hjälp av \(R^2\).

Anta att \(y\) är det verkliga utfallet, \(p\) är modellens förutsägelse och \(res = y - p\) är förutsägelsernas residualer.

Den totala kvadratsumman \(tss\) ("total varians") för data är:

$$ tss = \sum{(y - \overline{y})^2} $$

där \(\overline{y}\) är medelvärdet av \(y\).

Modellens residuala kvadratsumma \(rss\) är: $$ rss = \sum{res^2} $$

\(R^2\) (R-kvadrat), den varians som förklaras av modellen, beräknas sedan som:

$$ 1 - \frac{rss}{tss} $$

När du har beräknat \(R^2\) jämför du ditt resultat med det \(R^2\)-värde som glance() rapporterar (docs). glance() returnerar en dataram med en rad; för en linjär regressionsmodell är en av kolumnerna modellens \(R^2\) på träningsdata.

Dataramen unemployment är inläst och innehåller kolumnerna predictions och residuals som du beräknade i en tidigare övning. unemployment_model är också tillgänglig att använda.

Den här övningen är en del av kursen

Övervakad inlärning i R: Regression

Visa kurs

Övningsinstruktioner

  • Beräkna medelvärdet för female_unemployment och tilldela det till variabeln fe_mean.
  • Beräkna den totala kvadratsumman och tilldela den till variabeln tss.
  • Beräkna den residuala kvadratsumman och tilldela den till variabeln rss.
  • Beräkna \(R^2\). Är det en bra anpassning (\(R^2\) nära 1)?
  • Använd glance() för att hämta \(R^2\) från modellen. Stämmer det överens med ditt beräknade värde?

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# unemployment is available
summary(unemployment)

# unemployment_model is available
summary(unemployment_model)

# Calculate and print the mean female_unemployment: fe_mean
(fe_mean <- ___)

# Calculate and print the total sum of squares: tss
(tss <- ___((___ - ___)^2))

# Calculate and print residual sum of squares: rss
(rss <- ___)

# Calculate and print the R-squared: rsq
(rsq <- ___)

# Get R-squared from glance and print it
(rsq_glance <- ___(___)$___)
Redigera och kör kod