Multiview
applies the method of Ye & Sugihara
to find optimal combinations of variables that best represent the
dynamics.
Multiview(pathIn = "./", dataFile = "", dataFrame = NULL,
lib = "", pred = "", D = 0, E = 1, Tp = 1, knn = 0,
tau = -1, columns = "", target = "", multiview = 0, exclusionRadius = 0,
trainLib = TRUE, excludeTarget = FALSE, parameterList = FALSE,
verbose = FALSE, numThreads = 4, showPlot = FALSE)
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.
path to dataFile
.
.csv format data file name. The first column must be a time index or time values. The first row must be column names.
input data.frame. The first column must be a time index or time values. The columns must be named.
a 2-column matrix, data.frame, 2-element vector or string of row indice pairs, where each pair specifies the first and last *rows* of the time series to create the library.
(same format as lib), but specifying the sections of the time series to forecast.
multivariate dimension.
embedding dimension.
prediction horizon (number of time column rows).
number of nearest neighbors. If knn=0, knn is set to E+1.
lag of time delay embedding specified as number of time column rows.
string of whitespace separated column name(s) in the input data used to create multivariable data sets.
column name in the input data used for prediction.
number of multiview ensembles to average for the final prediction estimate.
number of adjacent observation vector rows to exclude as nearest neighbors in prediction.
logical to use in-sample (lib=pred) projections for the ranking of column combinations.
logical to exclude embedded target column from combinations.
logical to add list of invoked parameters.
logical to produce additional console reporting.
number of CPU threads to use in multiview processing.
logical to plot results.
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:
Compute D-dimensional variable combination forecasts.
Rank forecasts.
Compute predictions of top combinations.
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.
Ye H., and G. Sugihara, 2016. Information leverage in interconnected ecosystems: Overcoming the curse of dimensionality. Science 353:922-925.
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