Skip to content

Releases: easystats/performance

performance 0.12.1

15 Jul 17:00
c184e24

Choose a tag to compare

General

  • icc() and r2_nakagawa() get a null_model argument. This can be useful
    when computing R2 or ICC for mixed models, where the internal computation of
    the null model fails, or when you already have fit the null model and want
    to save time.

  • icc() and r2_nakagawa() get a approximation argument indicating the
    approximation method for the distribution-specific (residual) variance. See
    Nakagawa et al. 2017 for details.

  • icc() and r2_nakagawa() get a model_component argument indicating the
    component for zero-inflation or hurdle models.

  • performance_rmse() (resp. rmse()) can now compute analytical and
    bootstrapped confidence intervals. The function gains following new arguments:
    ci, ci_method and iterations.

  • New function r2_ferrari() to compute Ferrari & Cribari-Neto's R2 for
    generalized linear models, in particular beta-regression.

  • Improved documentation of some functions.

Bug fixes

  • Fixed issue in check_model() when model contained a transformed response
    variable that was named like a valid R function name (e.g., lm(log(lapply) ~ x),
    when data contained a variable named lapply).

  • Fixed issue in check_predictions() for linear models when response was
    transformed as ratio (e.g. lm(succes/trials ~ x)).

  • Fixed issue in r2_bayes() for mixed models from rstanarm.

performance 0.12.0

09 Jun 06:43
c897748

Choose a tag to compare

Breaking

  • Aliases posterior_predictive_check() and check_posterior_predictions() for
    check_predictions() are deprecated.

  • Arguments named group or group_by will be deprecated in a future release.
    Please use by instead. This affects check_heterogeneity_bias() in
    performance.

General

  • Improved documentation and new vignettes added.

  • check_model() gets a base_size argument, to set the base font size for plots.

  • check_predictions() for stanreg and brmsfit models now returns plots in
    the usual style as for other models and no longer returns plots from
    bayesplot::pp_check().

  • Updated the trained model that is used to prediction distributions in
    check_distribution().

Bug fixes

  • check_model() now falls back on normal Q-Q plots when a model is not supported
    by the DHARMa package and simulated residuals cannot be calculated.

performance 0.11.0

23 Mar 08:06
80b5b2f

Choose a tag to compare

New supported models

  • Rudimentary support for models of class serp from package serp.

New functions

  • simulate_residuals() and check_residuals(), to simulate and check residuals
    from generalized linear (mixed) models. Simulating residuals is based on the
    DHARMa package, and objects returned by simulate_residuals() inherit from
    the DHARMa class, and thus can be used with any functions from the DHARMa
    package. However, there are also implementations in the performance package,
    such as check_overdispersion(), check_zeroinflation(), check_outliers()
    or check_model().

  • Plots for check_model() have been improved. The Q-Q plots are now based
    on simulated residuals from the DHARMa package for non-Gaussian models, thus
    providing more accurate and informative plots. The half-normal QQ plot for
    generalized linear models can still be obtained by setting the new argument
    residual_type = "normal".

  • Following functions now support simulated residuals (from simulate_residuals())
    resp. objects returned from DHARMa::simulateResiduals():

    • check_overdispersion()
    • check_zeroinflation()
    • check_outliers()
    • check_model()

General

  • Improved error messages for check_model() when QQ-plots cannot be created.

  • check_distribution() is more stable for possibly sparse data.

Bug fixes

  • Fixed issue in check_normality() for t-tests.

  • Fixed issue in check_itemscale() for data frame inputs, when factor_index
    was not a named vector.

performance 0.10.9

17 Feb 18:09
76d02f1

Choose a tag to compare

Changes

  • r2() for models of class glmmTMB without random effects now returns the
    correct r-squared value for non-mixed models.

  • check_itemscale() now also accepts data frames as input. In this case,
    factor_index must be specified, which must be a numeric vector of same
    length as number of columns in x, where each element is the index of the
    factor to which the respective column in x.

  • check_itemscale() gets a print_html() method.

  • Clarification in the documentation of the estimator argument for
    performance_aic().

  • Improved plots for overdispersion-checks for negative-binomial models from
    package glmmTMB (affects check_overdispersion() and check_mnodel()).

  • Improved detection rates for singularity in check_singularity() for models
    from package glmmTMB.

  • For model of class glmmTMB, deviance residuals are now used in the
    check_model() plot.

  • Improved (better to understand) error messages for check_model(),
    check_collinearity() and check_outliers() for models with non-numeric
    response variables.

  • r2_kullback() now gives an informative error for non-supported models.

Bug fixes

  • Fixed issue in binned_residuals() for models with binary outcome, where
    in rare occasions empty bins could occur.

  • performance_score() should no longer fail for models where scoring rules
    can't be calculated. Instead, an informative message is returned.

  • check_outliers() now properly accept the percentage_central argument when
    using the "mcd" method.

  • Fixed edge cases in check_collinearity() and check_outliers() for models
    with response variables of classes Date, POSIXct, POSIXlt or difftime.

  • Fixed issue with check_model() for models of package quantreg.

performance 0.10.8

30 Oct 09:25
90eb9fc

Choose a tag to compare

Changes

  • Changed behaviour of check_predictions() for models from binomial family,
    to get comparable plots for different ways of outcome specification. Now,
    if the outcome is a proportion, or defined as matrix of trials and successes,
    the produced plots are the same (because the models should be the same, too).

Bug fixes

  • Fixed CRAN check errors.

  • Fixed issue with binned_residuals() for models with binomial family, where
    the outcome was a proportion.

performance 0.10.7

28 Oct 06:47
8af9e4e

Choose a tag to compare

Breaking changes

  • binned_residuals() gains a few new arguments to control the residuals used
    for the test, as well as different options to calculate confidence intervals
    (namely, ci_type, residuals, ci and iterations). The default values
    to compute binned residuals have changed. Default residuals are now "deviance"
    residuals (and no longer "response" residuals). Default confidence intervals
    are now "exact" intervals (and no longer based on Gaussian approximation).
    Use ci_type = "gaussian" and residuals = "response" to get the old defaults.

Changes to functions

  • binned_residuals() - like check_model() - gains a show_dots argument to
    show or hide data points that lie inside error bounds. This is particular
    useful for models with many observations, where generating the plot would be
    very slow.

performance 0.10.6

05 Oct 15:02
187ab58

Choose a tag to compare

General

  • Support for nestedLogit models.

Changes to functions

  • check_outliers() for method "ics" now detects number of available cores
    for parallel computing via the "mc.cores" option. This is more robust than
    the previous method, which used parallel::detectCores(). Now you should
    set the number of cores via options(mc.cores = 4).

Bug fixes

  • Fixed issues is check_model() for models that used data sets with
    variables of class "haven_labelled".

performance 0.10.5

12 Sep 09:28
e507c52

Choose a tag to compare

Changes to functions

  • More informative message for test_*() functions that "nesting" only refers
    to fixed effects parameters and currently ignores random effects when detecting
    nested models.

  • check_outliers() for "ICS" method is now more stable and less likely to
    fail.

  • check_convergence() now works for parsnip _glm models.

Bug fixes

  • check_collinearity() did not work for hurdle- or zero-inflated models of
    package pscl when model had no explicitly defined formula for the
    zero-inflation model.

performance 0.10.4

02 Jun 11:43
b382504

Choose a tag to compare

  • icc() and r2_nakagawa() gain a ci_method argument, to either calculate
    confidence intervals using boot::boot() (instead of lmer::bootMer()) when
    ci_method = "boot" or analytical confidence intervals
    (ci_method = "analytical"). Use ci_method = "boot" when the default method
    fails to compute confidence intervals and use ci_method = "analytical" if
    bootstrapped intervals cannot be calculated at all. Note that the default
    computation method is preferred.

  • check_predictions() accepts a bandwidth argument (smoothing bandwidth),
    which is passed down to the plot() methods density-estimation.

  • check_predictions() gains a type argument, which is passed down to the
    plot() method to change plot-type (density or discrete dots/intervals).
    By default, type is set to "default" for models without discrete outcomes,
    and else type = "discrete_interval".

  • performance_accuracy() now includes confidence intervals, and reports those
    by default (the standard error is no longer reported, but still included).

Bug fixes

  • Fixed issue in check_collinearity() for fixest models that used i()
    to create interactions in formulas.

performance 0.10.3

07 Apr 18:30
f044649

Choose a tag to compare

New functions

  • item_discrimination(), to calculate the discrimination of a scale's items.

Support for new models

  • model_performance(), check_overdispersion(), check_outliers() and r2()
    now work with objects of class fixest_multi (@etiennebacher, #554).

  • model_performance() can now return the "Weak instruments" statistic and
    p-value for models of class ivreg with metrics = "weak_instruments"
    (@etiennebacher, #560).

  • Support for mclogit models.

Changes to functions

  • test_*() functions now automatically fit a null-model when only one model
    objects was provided for testing multiple models.

  • Warnings in model_performance() for unsupported objects of class
    BFBayesFactor can now be suppressed with verbose = FALSE.

  • check_predictions() no longer fails with issues when re_formula = NULL
    for mixed models, but instead gives a warning and tries to compute posterior
    predictive checks with re_formuka = NA.

  • check_outliers() now also works for meta-analysis models from packages
    metafor and meta.

  • plot() for performance::check_model() no longer produces a normal QQ plot
    for GLMs. Instead, it now shows a half-normal QQ plot of the absolute value
    of the standardized deviance residuals.

Bug fixes

  • Fixed issue in print() method for check_collinearity(), which could mix
    up the correct order of parameters.