Forecast Averaging
Averaging schemes
To exploit the strong predictive performance of combining predictions from different forecasting models, PostForecasts.jl provides averaging schemes for both point and probabilistic forecasts:
PostForecasts.average — Function
average(pf; agg::Symbol=:mean)Average the pool of point pred from pf. Return PointForecasts containing averaged forecasts, keyword argument agg specifies whether to average using simple mean (:mean) or median (:median).
Methods
average(pf::PointForecasts)to average the pool of forecasts inpfaverage(pfs::AbstractVector{<:PointForecasts}to average all individual forecasts from everyPointForecastsinpfs- calling with multiple
PointForecastsobjects as consecutive arguments, e.g.average(pf1, pf2, pf3), is equivalent toaverage([pf1, pf2, pf3])
PostForecasts.qaverage — Function
qaverage(qfs::AbstractVector{<:QuantForecasts})Average probabilistic predictions from qfs by averaging the quantiles.
The function qaverage can also be called by passing QuantForecasts objects as consecutive arguments, e.g. qaverage(qf1, qf2, qf3) is equivalent to qaverage([qf1, qf2, qf3]).
Return QuantForecasts containing quantile predictions at the same quantile levels as QuantForecasts in qfs.
PostForecasts.paverage — Function
paverage(qfs::AbstractVector{<:QuantForecasts}[; quantiles])Average probabilistic predictions from qfs by averaging the distributions across probability.
Return QuantForecasts containing predictions of specified quantiles:
quantiles::AbstractVector{<:AbstractFloat}: vector of probabilitiesquantiles::AbstractFloat: a single probability valuequantiles::Integer: number of equidistant probability values (e.g. 99 for percentiles).
The function paverage can also be called by passing QuantForecasts objects as consecutive arguments, e.g. paverage(qf1, qf2, qf3) is equivalent to paverage([qf1, qf2, qf3]).
If quantiles argument is not provided, the function will default to the quantiles of the first QuantForecasts in qfs.