mixture_from_samples.Rd
The function takes a data.frame with predictive samples generated from different models as well as weights corresponding to these models as input. It then returns predictive samples from a mixture model generated by stacking the original models using these weights.
mixture_from_samples(data, weights = NULL, ...)
a data.frame with the following entries:
observed, the true observed values (optional)
predicted, predicted values corresponding to the true values in observed
model, the name of the model used to generate the correspondig predictions
geography (optional), the regions for which predictions are generated. If geography is missing, it will be assumed there are no geographical differenes to take into account. Internally, regions will be ordered alphabetically
date (the date of the corresponding prediction / true value). Also works with numbers to indicate timesteps
stacking weights used to combine the original model to a mixture model. If NULL (default), weights will first be estimated using [crps_weights()].
any additional parameters to pass to [crps_weights()] if `weights` is NULL.
data.frame with samples from the mixture model. The following columns are returned:
observed, the true observed values, if they were given as input
predicted, predicted values corresponding to the true values in observed
model, the name of the model used to generate the correspondig predictions
geography (optional), the regions for which predictions are generated. If geography is missing, it will be assumed there are no geographical differenes to take into account. Internally, regions will be ordered alphabetically
date (the date of the corresponding prediction / true value). Also works with numbers to indicate timesteps
Using Stacking to Average Bayesian Predictive Distributions, Yuling Yao, Aki Vehtari, Daniel Simpson, and Andrew Gelman, 2018, Bayesian Analysis 13, Number 3, pp. 917–1003
if (FALSE) { # \dontrun{
library("data.table")
data <- setDT(example_data)
weights <- c(0.2, 0.3, 0.4, 0.1)
mix <- mixture_from_samples(data, weights = weights)
} # }