PredictNonlinear: Test for nonlinear dynamics

View source: R/EDM.R

PredictNonlinearR Documentation

Test for nonlinear dynamics

Description

PredictNonlinear uses SMap to evaluate prediction accuracy as a function of the localisation parameter theta.

Usage

PredictNonlinear(pathIn = "./", dataFile = "", dataFrame = NULL,
  pathOut = "./",  predictFile = "", lib = "", pred = "", theta = "",
  E = 1, Tp = 1, knn = 0, tau = -1, exclusionRadius = 0,
  columns = "", target = "", embedded = FALSE, verbose = FALSE,
  validLib = vector(), ignoreNan = TRUE, numThreads = 4,
  showPlot = TRUE, noTime = FALSE )  

Arguments

pathIn

path to dataFile.

dataFile

.csv format data file name. The first column must be a time index or time values unless noTime is TRUE. The first row must be column names.

dataFrame

input data.frame. The first column must be a time index or time values unless noTime is TRUE. The columns must be named.

pathOut

path for predictFile containing output predictions.

predictFile

output file name.

lib

string or vector with start and stop indices of input data rows used to create the library from observations. Mulitple row index pairs can be specified with each pair defining the first and last rows of time series observation segments used to create the library.

pred

string with start and stop indices of input data rows used for predictions. A single contiguous range is supported.

theta

A whitespace delimeted string with values of the S-map localisation parameter. An empty string will use default values of [0.01 0.1 0.3 0.5 0.75 1 1.5 2 3 4 5 6 7 8 9].

E

embedding dimension.

Tp

prediction horizon (number of time column rows).

knn

number of nearest neighbors. If knn=0, knn is set to the library size.

tau

lag of time delay embedding specified as number of time column rows.

exclusionRadius

excludes vectors from the search space of nearest neighbors if their relative time index is within exclusionRadius.

columns

string of whitespace separated column name(s), or vector of column names used to create the library. If individual column names contain whitespace place names in a vector, or, append ',' to the name.

target

column name used for prediction.

embedded

logical specifying if the input data are embedded.

verbose

logical to produce additional console reporting.

validLib

logical vector the same length as the number of data rows. Any data row represented in this vector as FALSE, will not be included in the library.

ignoreNan

logical to internally redefine library to avoid nan.

numThreads

number of parallel threads for computation.

showPlot

logical to plot results.

noTime

logical to allow input data with no time column.

Details

The localisation parameter theta weights nearest neighbors according to exp( (-theta D / D_avg) ) where D is the distance between the observation vector and neighbor, D_avg the mean distance. If theta = 0, weights are uniformally unity corresponding to a global autoregressive model. As theta increases, neighbors in closer proximity to the observation are considered.

Value

A data.frame with columns Theta, rho.

Examples

data(TentMapNoise)
theta.rho = PredictNonlinear( dataFrame = TentMapNoise, E = 2,
lib = "1 100", pred = "201 500", columns = "TentMap",
target = "TentMap", showPlot = FALSE )

rEDM documentation built on May 29, 2024, 12:02 p.m.