simple_ensemble {hubEnsembles} | R Documentation |
mean
, median
, quantile
, cdf
, and pmf
.Compute ensemble model outputs by summarizing component model outputs for
each combination of model task, output type, and output type id. Supported
output types include mean
, median
, quantile
, cdf
, and pmf
.
simple_ensemble(
model_out_tbl,
weights = NULL,
weights_col_name = "weight",
agg_fun = mean,
agg_args = list(),
model_id = "hub-ensemble",
task_id_cols = NULL
)
model_out_tbl |
an object of class |
weights |
an optional |
weights_col_name |
|
agg_fun |
a function or character string name of a function to use for aggregating component model outputs into the ensemble outputs. See the details for more information. |
agg_args |
a named list of any additional arguments that will be passed
to |
model_id |
|
task_id_cols |
|
The default for agg_fun
is "mean"
, in which case the ensemble's
output is the average of the component model outputs within each group
defined by a combination of values in the task id columns, output type, and
output type id. The provided agg_fun
should have an argument x
for the
vector of numeric values to summarize, and for weighted methods, an
argument w
with a numeric vector of weights. If it desired to use an
aggregation function that does not accept these arguments, a wrapper
would need to be written. For weighted methods, agg_fun = "mean"
and
agg_fun = "median"
are translated to use matrixStats::weightedMean
and
matrixStats::weightedMedian
respectively. For matrixStats::weightedMedian
,
the argument interpolate
is automatically set to FALSE to circumvent a
calculation issue that results in invalid distributions.
a model_out_tbl
object of ensemble predictions. Note that
any additional columns in the input model_out_tbl
are dropped.
# Calculate a weighted median in two ways
data(model_outputs)
data(fweights)
weighted_median1 <- simple_ensemble(model_outputs, weights = fweights,
agg_fun = stats::median)
weighted_median2 <- simple_ensemble(model_outputs, weights = fweights,
agg_fun = matrixStats::weightedMedian)
all.equal(weighted_median1, weighted_median2)