check_concurvity(), which returns GAM concurvity measures (comparable to collinearity checks).check_predictions(), check_collinearity() and check_outliers() now support (mixed) regression models from BayesFactor.
check_zeroinflation() now also works for lme4::glmer.nb() models.
check_collinearity() better supports GAM models.
test_performance() now calls test_lrt() or test_wald() instead of test_vuong() when package CompQuadForm is missing.
test_performance() and test_lrt() now compute the corrected log-likelihood when models with transformed response variables (such as log- or sqrt-transformations) are passed to the functions.
performance_aic() now corrects the AIC value for models with transformed response variables. This also means that comparing models using compare_performance() allows comparisons of AIC values for models with and without transformed response variables.
Also, model_performance() now corrects both AIC and BIC values for models with transformed response variables.
The print() method for binned_residuals() now prints a short summary of the results (and no longer generates a plot). A plot() method was added to generate plots.
The plot() output for check_model() was revised:
For binomial models, the constant variance plot was omitted, and a binned residuals plot included.
The density-plot that showed normality of residuals was replaced by the posterior predictive check plot.
model_performance() for models from lme4 did not report AICc when requested.
r2_nakagawa() messed up order of group levels when by_group was TRUE.
The ci-level in r2() for Bayesian models now defaults to 0.95, to be in line with the latest changes in the bayestestR package.
S3-method dispatch for pp_check() was revised, to avoid problems with the bayesplot package, where the generic is located.
Minor revisions to wording for messages from some of the check-functions.
posterior_predictive_check() and check_predictions() were added as aliases for pp_check().
check_multimodal() and check_heterogeneity_bias(). These functions will be removed from the parameters packages in the future.r2() for linear models can now compute confidence intervals, via the ci argument.Fixed issues in check_model() for Bayesian models.
Fixed issue in pp_check() for models with transformed response variables, so now predictions and observed response values are on the same (transformed) scale.
check_outliers() has new ci (or hdi, eti) method to filter based on Confidence/Credible intervals.
compare_performance() now also accepts a list of model objects.
performance_roc() now also works for binomial models from other classes than glm.
Several functions, like icc() or r2_nakagawa(), now have an as.data.frame() method.
check_collinearity() now correctly handles objects from forthcoming afex update.
performance_mae() to calculate the mean absolute error.Fixed issue with "data length differs from size of matrix" warnings in examples in forthcoming R 4.2.
Fixed issue in check_normality() for models with sample size larger than 5.000 observations.
Fixed issue in check_model() for glmmTMB models.
Fixed issue in check_collinearity() for glmmTMB models with zero-inflation, where the zero-inflated model was an intercept-only model.
Add support for model_fit (tidymodels).
model_performance supports kmeans models.
Give more informative warning when r2_bayes() for BFBayesFactor objects can’t be calculated.
Several check_*() functions now return informative messages for invalid model types as input.
r2() supports mhurdle (mhurdle) models.
Added print() methods for more classes of r2().
The performance_roc() and performance_accuracy() functions unfortunately had spelling mistakes in the output columns: Sensitivity was called Sensivity and Specificity was called Specifity. We think these are understandable mistakes :-)
check_model()check_model() gains more arguments, to customize plot appearance.
Added option to detrend QQ/PP plots in check_model().
model_performance()The metrics argument from model_performance() and compare_performance() gains a "AICc" option, to also compute the 2nd order AIC.
"R2_adj" is now an explicit option in the metrics argument from model_performance() and compare_performance().
The default-method for r2() now tries to compute an r-squared for all models that have no specific r2()-method yet, by using following formula: 1-sum((y-y_hat)^2)/sum((y-y_bar)^2))
The column name Parameter in check_collinearity() is now more appropriately named Term.
test_likelihoodratio() now correctly sorts models with identical fixed effects part, but different other model parts (like zero-inflation).
Fixed incorrect computation of models from inverse-Gaussian families, or Gaussian families fitted with glm().
Fixed issue in performance_roc() for models where outcome was not 0/1 coded.
Fixed issue in performance_accuracy() for logistic regression models when method = "boot".
cronbachs_alpha() did not work for matrix-objects, as stated in the docs. It now does.
compare_performance() doesn’t return the models’ Bayes Factors, now returned by test_performance() and test_bf().test_vuong(), to compare models using Vuong’s (1989) Test.
test_bf(), to compare models using Bayes factors.
test_likelihoodratio() as an alias for performance_lrt().
test_wald(), as a rough approximation for the LRT.
test_performance(), to run the most relevant and appropriate tests based on the input.
performance_lrt()performance_lrt() get an alias test_likelihoodratio().
Does not return AIC/BIC now (as they are not related to LRT per se and can be easily obtained with other functions).
Now contains a column with the difference in degrees of freedom between models.
Fixed column names for consistency.
model_performance()ivreg.Revised computation of performance_mse(), to ensure that it’s always based on response residuals.
performance_aic() is now more robust.
Fixed issue in icc() and variance_decomposition() for multivariate response models, where not all model parts contained random effects.
Fixed issue in compare_performance() with duplicated rows.
check_collinearity() no longer breaks for models with rank deficient model matrix, but gives a warning instead.
Fixed issue in check_homogeneity() for method = "auto", which wrongly tested the response variable, not the residuals.
Fixed issue in check_homogeneity() for edge cases where predictor had non-syntactic names.
check_collinearity() gains a verbose argument, to toggle warnings and messages.model_performance() now supports margins, gamlss, stanmvreg and semLme.r2_somers(), to compute Somers’ Dxy rank-correlation as R2-measure for logistic regression models.
display(), to print output from package-functions into different formats. print_md() is an alias for display(format = "markdown").
model_performance()model_performance() is now more robust and doesn’t fail if an index could not be computed. Instead, it returns all indices that were possible to calculate.
model_performance() gains a default-method that catches all model objects not previously supported. If model object is also not supported by the default-method, a warning is given.
model_performance() for metafor-models now includes the degrees of freedom for Cochran’s Q.
performance_mse() and performance_rmse() now always try to return the (R)MSE on the response scale.
performance_accuracy() now accepts all types of linear or logistic regression models, even if these are not of class lm or glm.
performance_roc() now accepts all types of logistic regression models, even if these are not of class glm.
r2() for mixed models and r2_nakagawa() gain a tolerance-argument, to set the tolerance level for singularity checks when computing random effect variances for the conditional r-squared.
Fixed issue in icc() introduced in the last update that make lme-models fail.
Fixed issue in performance_roc() for models with factors as response.
model_performance() and compare_performance() were changed to be in line with the easystats naming convention: LOGLOSS is now Log_loss, SCORE_LOG is Score_log and SCORE_SPHERICAL is now Score_spherical.r2_posterior() for Bayesian models to obtain posterior distributions of R-squared.r2_bayes() works with Bayesian models from BayesFactor ( #143 ).
model_performance() works with Bayesian models from BayesFactor ( #150 ).
model_performance() now also includes the residual standard deviation.
Improved formatting for Bayes factors in compare_performance().
compare_performance() with rank = TRUE doesn’t use the BF values when BIC are present, to prevent “double-dipping” of the BIC values (#144).
The method argument in check_homogeneity() gains a "levene" option, to use Levene’s Test for homogeneity.
compare_performance() when ... arguments were function calls to regression objects, instead of direct function calls.r2() and icc() support semLME models (package smicd).
check_heteroscedasticity() should now also work with zero-inflated mixed models from glmmTMB and GLMMadpative.
check_outliers() now returns a logical vector. Original numerical vector is still accessible via as.numeric().
pp_check() to compute posterior predictive checks for frequentist models.Fixed issue with incorrect labeling of groups from icc() when by_group = TRUE.
Fixed issue in check_heteroscedasticity() for mixed models where sigma could not be calculated in a straightforward way.
Fixed issues in check_zeroinflation() for MASS::glm.nb().
Fixed CRAN check issues.
icc() now also computes a “classical” ICC for brmsfit models. The former way of calculating an “ICC” for brmsfit models is now available as new function called variance_decomposition().Fix issue with new version of bigutilsr for check_outliers().
Fix issue with model order in performance_lrt().
model_performance.rma() now includes results from heterogeneity test for meta-analysis objects.
check_normality() now also works for mixed models (with the limitation that studentized residuals are used).
check_normality() gets an effects-argument for mixed models, to check random effects for normality.
Fixed issue in performance_accuracy() for binomial models when response variable had non-numeric factor levels.
Fixed issues in performance_roc(), which printed 1 - AUC instead of AUC.
Minor revisions to model_performance() to meet changes in mlogit package.
Support for bayesx models.
icc() gains a by_group argument, to compute ICCs per different group factors in mixed models with multiple levels or cross-classified design.
r2_nakagawa() gains a by_group argument, to compute explained variance at different levels (following the variance-reduction approach by Hox 2010).
performance_lrt() now works on lavaan objects.
Fix issues in some functions for models with logical dependent variable.
Fix bug in check_itemscale(), which caused multiple computations of skewness statistics.
Fix issues in r2() for gam models.
model_performance() and r2() now support rma-objects from package metafor, mlm and bife models.compare_performance() gets a bayesfactor argument, to include or exclude the Bayes factor for model comparisons in the output.
Added r2.aov().
Fixed issue in performance_aic() for models from package survey, which returned three different AIC values. Now only the AIC value is returned.
Fixed issue in check_collinearity() for glmmTMB models when zero-inflated formula only had one predictor.
Fixed issue in check_model() for lme models.
Fixed issue in check_distribution() for brmsfit models.
Fixed issue in check_heteroscedasticity() for aov objects.
Fixed issues for lmrob and glmrob objects.