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
— Functionaverage(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 inpf
average(pfs::AbstractVector{<:PointForecasts}
to average all individual forecasts from everyPointForecasts
inpfs
- calling with multiple
PointForecasts
objects as consecutive arguments, e.g.average(pf1, pf2, pf3)
, is equivalent toaverage([pf1, pf2, pf3])
PostForecasts.qaverage
— Functionqaverage(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
— Functionpaverage(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
.