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.