CCM | R Documentation |
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.
CCM(pathIn = "./", dataFile = "", dataFrame = NULL,
E = 0, Tp = 0, knn = 0, tau = -1,
exclusionRadius = 0, columns = "", target = "", libSizes = "",
sample = 0, random = TRUE, seed = 0,
embedded = FALSE, includeData = FALSE, parameterList = FALSE,
verbose = FALSE, showPlot = FALSE, noTime = FALSE)
pathIn |
path to |
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 ( |
seed |
integer specifying the random sampler seed. If
|
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. |
CCM
computes the X:Y and Y:X cross-mappings in parallel
using threads.
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.
Sugihara G., May R., Ye H., Hsieh C., Deyle E., Fogarty M., Munch S., 2012. Detecting Causality in Complex Ecosystems. Science 338:496-500.
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 )
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.