The state-space of a multivariate dynamical system (not a purely
stochastic one) encodes coherent phase-space variable trajectories. If
enough information is available, one can infer the presence or absence
of cross-variable interactions associated with causal links between
variables. CCM
measures the extent to which states of
variable Y can reliably estimate states of variable X. This happens
only if X is causally influencing Y.
If cross-variable state predictability converges as more state-space
information is provided, this indicates a causal link. CCM
performs this cross-variable mapping using Simplex, with convergence
assessed across a range of observational library sizes as described in
Sugihara et al. 2012.
CCM(pathIn = "./", dataFile = "", dataFrame = NULL, pathOut = "./",
predictFile = "", E = 0, Tp = 0, knn = 0, tau = -1,
exclusionRadius = 0, columns = "", target = "",
libSizes = "", sample = 0, random = TRUE, replacement = FALSE, seed = 0,
includeData = FALSE, verbose = FALSE, showPlot = FALSE)
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.
path for predictFile
containing output predictions.
output file name.
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.
excludes vectors from the search space of nearest neighbors if their relative time index is within exclusionRadius.
string of whitespace separated column name(s) in the input data used to create the library.
column name in the input data used for prediction.
string of 3 whitespace separated integer values specifying the intial library size, the final library size, and the library size increment.
integer specifying the number of random samples to draw at each library size evaluation.
logical to specify random (TRUE
) or sequential
library sampling.
logical to specify sampling with replacement.
integer specifying the random sampler seed. If
seed=0
then a random seed is generated.
logical to include statistics and predictions for every prediction in the ensemble.
logical to produce additional console reporting.
logical to plot results.
A data.frame with 3 columns. The first column is LibSize
specifying the subsampled library size. Columns 2 and 3 report
Pearson correlation coefficients for the prediction of X from Y, and
Y from X.
CCM
computes the X:Y and Y:X cross-mappings in parallel
using threads.
Sugihara G., May R., Ye H., Hsieh C., Deyle E., Fogarty M., Munch S., 2012. Detecting Causality in Complex Ecosystems. Science 338:496-500.
# NOT RUN {
data(sardine_anchovy_sst)
df <- CCM( dataFrame=sardine_anchovy_sst, E=3, Tp=0, columns="anchovy",
target="np_sst", libSizes="10 70 10", sample=100 )
# }
Run the code above in your browser using DataLab