Skip to contents

This function calculates the predictive accuracy of linear or logistic regression models.

Usage

performance_accuracy(
  model,
  method = c("cv", "boot"),
  k = 5,
  n = 1000,
  ci = 0.95,
  verbose = TRUE
)

Arguments

model

A linear or logistic regression model. A mixed-effects model is also accepted.

method

Character string, indicating whether cross-validation (method = "cv") or bootstrapping (method = "boot") is used to compute the accuracy values.

k

The number of folds for the k-fold cross-validation.

n

Number of bootstrap-samples.

ci

The level of the confidence interval.

verbose

Toggle warnings.

Value

A list with three values: The Accuracy of the model predictions, i.e. the proportion of accurately predicted values from the model, its standard error, SE, and the Method used to compute the accuracy.

Details

For linear models, the accuracy is the correlation coefficient between the actual and the predicted value of the outcome. For logistic regression models, the accuracy corresponds to the AUC-value, calculated with the bayestestR::auc()-function.

The accuracy is the mean value of multiple correlation resp. AUC-values, which are either computed with cross-validation or non-parametric bootstrapping (see argument method). The standard error is the standard deviation of the computed correlation resp. AUC-values.

Examples

model <- lm(mpg ~ wt + cyl, data = mtcars)
performance_accuracy(model)
#> # Accuracy of Model Predictions
#> 
#> Accuracy (95% CI): 95.79% [92.14%, 99.11%]
#> Method: Correlation between observed and predicted

model <- glm(vs ~ wt + mpg, data = mtcars, family = "binomial")
performance_accuracy(model)
#> # Accuracy of Model Predictions
#> 
#> Accuracy (95% CI): 87.56% [78.00%, 100.00%]
#> Method: Area under Curve