Multiview: Multiview embedding forecast

View source: R/EDM_Multiview.R

MultiviewR Documentation

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)

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.

Value

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

data.frame View columns:

Col_1 column index
... column index
Col_D column index
rho Pearson correlation
MAE mean absolute error
RMSE root mean square error
name_1 column name
... column name
name_D column name

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

References

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

Examples

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" )

rEDM documentation built on Aug. 30, 2026, 9:07 a.m.