Learn R Programming

rEDM (version 2.0.2)

Multiview: Multiview embedding forecast

Description

Multiview embedding forecast (Ye & Sugihara 2016): rank D-column views and average the best to find optimal combinations of variables that best represent the dynamics.

Usage

Multiview(dataFrame = NULL, columns, target, lib = numeric(0), pred = numeric(0),
          D = 0, E = 1, Tp = 1, knn = 0, tau = -1, multiview = 0,
          exclusionRadius = 0, trainLib = TRUE, excludeTarget = FALSE,
          ignoreNan = TRUE, numProcess = 4, backend = "RANN",
          pathIn = "./", dataFile = "", pathOut = "./", predictFile = "",
          parameterList = FALSE, showPlot = FALSE)

Value

Named list with data.frames [[View, Predictions]].

data.frame View columns:

Col_1column index
...column index
Col_Dcolumn index
rhoPearson correlation
MAEmean absolute error
RMSEroot mean square error
name_1column name
...column name
name_Dcolumn name

If parameterList = TRUE a named list "parameters" is added.

Arguments

dataFrame

A data.frame of input data. The first column is time unless noTime = TRUE.

columns

Column name(s) to build the embedding: character vector or space-separated string. If individual column names contain whitespace place names in a vector, or, append ',' to the name.

target

Target column name to predict.

lib

Library (training) index range as (start end) pairs.

pred

Prediction index range as (start end) pairs.

D

View dimension for Multiview (number of embedding columns combined).

E

Embedding dimension.

Tp

Forecast interval (prediction horizon).

knn

Number of nearest neighbours. 0 selects the method default.

tau

Embedding delay (negative selects past lags).

multiview

Number of top-ranked views to average (default floor(sqrt(nCombo))).

exclusionRadius

Temporal (Theiler) exclusion radius around each prediction point.

trainLib

Rank views on the library (in-sample) rather than the prediction set.

excludeTarget

Exclude the target variable from candidate views.

ignoreNan

Remove rows with NaN in the embedding from the library and prediction sets.

numProcess

Number of worker processes for the parameter sweep or task grid.

backend

Nearest-neighbour backend: "RANN" (default) or "brute".

pathIn

File path for input dataFile.

dataFile

Input dataFile, .csv format.

pathOut

Output file path for predictFile

predictFile

Output file name, .csv format.

parameterList

Append named list of parameters/values to return.

showPlot

If TRUE, draw a base-graphics plot of the result.

Details

Multiview embedding is a method to identify variables in a multivariate dynamical system that are most likely to contribute to the observed dynamics. It is a multistep algorithm with these general steps:

  1. Compute D-dimensional variable combination forecasts.

  2. Rank forecasts.

  3. Compute predictions of top combinations.

  4. Compute multiview averaged prediction.

If E>1, all variables are embedded to dimension E. If trainLib is TRUE initial forecasts and ranking are done in-sample (lib=pred) and predictions using the top ranked combinations use the specified lib and pred. If trainLib is FALSE initial forecasts and ranking use the specified lib and pred, the step of computing predictions of the top combinations is skipped.

References

Ye H., and G. Sugihara, 2016. Information leverage in interconnected ecosystems: Overcoming the curse of dimensionality. Science 353:922-925.

Examples

Run this code
data(block_3sp)
L = Multiview( dataFrame = block_3sp, lib = "1 100", pred = "101 190",
E = 2, columns = "x_t y_t z_t", target = "x_t" )

Run the code above in your browser using DataLab