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 can happen 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 .
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.
E: embedding dimension.
Tp: prediction horizon (number of time column rows).
knn: number of nearest neighbors. If knn=0, knn is set to E+1.
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.
libSizes: string of 3 whitespace separated integer values specifying the intial library size, the final library size, and the library size increment. Can also be a list of strictly increasing library sizes.
sample: integer specifying the number of random samples to draw at each library size evaluation.
random: logical to specify random (TRUE) or sequential library sampling. Note random = FALSE is not convergent cross mapping.
seed: integer specifying the random sampler seed. If seed=0 then a random seed is generated.
embedded: logical specifying if the input data are embedded.
includeData: logical to include statistics and predictions for every prediction in the ensemble.
parameterList: logical to add list of invoked parameters.
verbose: logical to produce additional console reporting.
showPlot: logical to plot results.
noTime: logical to allow input data with no time column.
Returns
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.
if includeData = TRUE a named list with the following data.frames data.frame Combo_rho columns:
LibMeans
CCM mean correlations for each library size
CCM1_PredictStat
Forward cross map prediction statistics
CCM1_Predictions
Forward cross map prediction values
CCM2_PredictStat
Reverse cross map prediction statistics
CCM2_Predictions
Reverse cross map prediction values
If includeData = TRUE and parameterList = TRUE a named list "parameters" is added.
References
Sugihara G., May R., Ye H., Hsieh C., Deyle E., Fogarty M., Munch S., 2012. Detecting Causality in Complex Ecosystems. Science 338:496-500.
Details
CCM computes the X:Y and Y:X cross-mappings in parallel using threads.