Learn R Programming

opera (version 1.0)

oracle: 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.

Plot an aggregation procedure

Usage

oracle(Y, experts, model = "convex", loss.type = "square", awake = NULL, lambda = NULL, niter = NULL, ...)
"plot"(x, sort = TRUE, col = 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 Y. It has as many columns as there are experts.
model
A character string specifying the oracle to use or a list with a component name specifying the oracle and any additional parameter needed. Currently available oracles are:
loss.type
A string or a list with a component 'name' specifying the loss function considered to evaluate the performance. It can be 'square', 'absolute', 'percentage', or 'pinball'. In the case of the pinball loss, the quantile can be provided by assigning to loss.type a list of two elements:
awake
A matrix specifying the activation coefficients of the experts. Its entries lie in [0,1]. Possible if some experts are specialists and do not always form and suggest prediction. If the expert number k at instance t does not form any prediction of observation Y_t, we can put awake[t,k]=0 so that the mixture does not consider expert k in the mixture to predict Y_t.
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 optim function is order to perform convex optimization (see parameter niter).
x
An object of class oracle.
sort
if set to TRUE (default), it sorts the experts by performance before the plots.
col
colors

Value

An object of class 'oracle' that contains: An object of class 'oracle' that contains:

Methods (by class)

  • oracle: plot. It has one optional arguments.