Skip to contents

Compute indices of model performance for regression models.

Usage

# S3 method for lm
model_performance(model, metrics = "all", verbose = TRUE, ...)

Arguments

model

A model.

metrics

Can be "all", "common" or a character vector of metrics to be computed (one or more of "AIC", "AICc", "BIC", "R2", "R2_adj", "RMSE", "SIGMA", "LOGLOSS", "PCP", "SCORE"). "common" will compute AIC, BIC, R2 and RMSE.

verbose

Toggle off warnings.

...

Arguments passed to or from other methods.

Value

A data frame (with one row) and one column per "index" (see metrics).

Details

Depending on model, following indices are computed:

model_performance() correctly detects transformed response and returns the "corrected" AIC and BIC value on the original scale. To get back to the original scale, the likelihood of the model is multiplied by the Jacobian/derivative of the transformation.

Examples

model <- lm(mpg ~ wt + cyl, data = mtcars)
model_performance(model)
#> # Indices of model performance
#> 
#> AIC     |     BIC |    R2 | R2 (adj.) |  RMSE | Sigma
#> -----------------------------------------------------
#> 156.010 | 161.873 | 0.830 |     0.819 | 2.444 | 2.568

model <- glm(vs ~ wt + mpg, data = mtcars, family = "binomial")
model_performance(model)
#> # Indices of model performance
#> 
#> AIC    |    BIC | Tjur's R2 |  RMSE | Sigma | Log_loss | Score_log | Score_spherical |   PCP
#> --------------------------------------------------------------------------------------------
#> 31.298 | 35.695 |     0.478 | 0.359 | 0.934 |    0.395 |   -14.903 |           0.095 | 0.743