oracle {opera} | R Documentation |
Compute oracle predictions
Description
The function oracle
performs a strategie that cannot be defined online
(in contrast to mixture). It requires in advance the knowledge of the whole
data set Y
and the expert advice to be well defined.
Examples of oracles are the best fixed expert, the best fixed convex
combination rule, the best linear combination rule, or the best expert
that can shift a few times.
Usage
oracle(
Y,
experts,
model = "convex",
loss.type = "square",
awake = NULL,
lambda = NULL,
niter = NULL,
...
)
Arguments
Y |
A vector containing the observations to be predicted. |
experts |
A matrix containing the experts
forecasts. Each column corresponds to the predictions proposed by an expert
to predict |
model |
A character string specifying the oracle to use or a list with a component
|
loss.type |
|
awake |
A matrix specifying the
activation coefficients of the experts. Its entries lie in |
lambda |
A positive number used by the 'linear' oracle only. A possible $L_2$ regularization parameter for computing the linear oracle (if the design matrix is not identifiable) |
niter |
A positive integer for 'convex' and 'linear' oracles if direct computation of the oracle is not implemented. It defines the number of optimization steps to perform in order to approximate the oracle (default value is 3). |
... |
Additional parameters
that are passed to |
Value
An object of class 'oracle' that contains:
loss |
The average loss suffered by the oracle. For the 'shifting' oracle,
it is a vector of length |
coefficients |
Not for the 'shifting' oracle. A vector containing the best weight vector corresponding to the oracle. |
prediction |
Not for the 'shifting' oracle. A vector containing the predictions of the oracle. |
rmse |
If loss.type is the square loss (default) only.
The root mean square error (i.e., it is the square root of |
Author(s)
Pierre Gaillard <pierre@gaillard.me>