Entire package now leverages distributions3
for object-oriented computations
on distributions fitted/predicted by various kinds of models.
In particular, procast()
first obtains prodist()
(probability distribution)
and then applies the standard methods for computing densities, probabilities,
quantiles, and moments.
Similarly, proresiduals()
obtains the predicted distributions and compares
with the newresponse()
to obtain (randomized) quantile residuals by default.
Alternatively, PIT residuals or Pearson residuals as well as raw response
residuals are available. The function proresiduals()
also replaces both
pitresiduals()
and qresiduals()
which were provided by earler versions of
topmodels
.
Via the same approach proscore()
implements various kinds of scoring rules,
in particular log-score (negative log-likelihood), (continuous) ranked
probability score (CRPS), mean absolute error (MAE), mean squared error (MSE),
and the Dawid-Sebastiani-Score (DSS). The standard log-likelihood (without
sign change) is also available.
For the CRPS one can either leverage the functions from the scoringRules
package (if available) or the new crps.distribution()
method for numeric
approximation/numeric integration to calculate the CRPS for univariate
distributions. This is also used when no analytic solution is available in the
scoringRules
package.
The graphical functions rootogram()
, pithist()
, qqrplot()
, wormplot()
,
and reliagram()
are also switched to the new infrastructure based on
distributions3
, notably via procast()
and proresiduals()
.
The pointwise and simultaneous confidence intervals in rootogram()
now rely
on the exact PoissonBinomial()
distribution (now available in distributions3
)
rather than its binomial approximation.
In addition to pointwise and simultaneous confidence intervals for rootogram()
,
"tukey"
confidence intervals are now available which simply correspond to
limits of -1 and 1 for hanging or suspended rootograms. For other flavors of
rootograms these limits are transformed correspondingly.
New distribution/model interfaces were added first in topmodels
but some
subsequently moved to other packages: GAMLSS()
is now in gamlss.dist
,
BAMLSS()
is now in bamlss
, and Empirical()
is still in topmodels
for
now.
New wrapper function promodel()
that adds the class "promodel"
(for
probabilistic model) to an existing model object so that predict()
dispatches to procast()
and residuals()
dispatches to proresiduals()
.
This facilitates using model functionality based on the standard predict()
and residuals()
methods like marginaleffects
.
New version, presented at DAGStat 2022 and at useR! 2022 (together with
distributions3
).
Some conceptual changes in the generation of graphical evaluation tools for
both base R and ggplot2
style graphics.
autoplot()
builds now on newly written geom_*()
and stat_*()
functions.
First version, presented at useR! 2021.
Diagnostic graphics for Q-Q plots of randomized residuals, PIT (probability
integral transform) histograms, reliability diagrams, wormplots, and
rootograms. All graphical evaluations can be rendered both in base R graphics
and ggplot2
.
Basic probabilistic forecasting infrastructure for lm
, crch
, disttree
and glm
model classes. Not all families and forecasting types are fully
supported yet.