calc_ete {RTransferEntropy} | R Documentation |
Calculates the Effective Transfer Entropy for two time series
Description
Calculates the Effective Transfer Entropy for two time series
Usage
calc_ete(
x,
y,
lx = 1,
ly = 1,
q = 0.1,
entropy = "Shannon",
shuffles = 100,
type = "quantiles",
quantiles = c(5, 95),
bins = NULL,
limits = NULL,
burn = 50,
seed = NULL,
na.rm = TRUE
)
Arguments
x |
a vector of numeric values, ordered by time.
Also allowed are |
y |
a vector of numeric values, ordered by time.
Also allowed are |
lx |
Markov order of x, i.e. the number of lagged values affecting the
current value of x. Default is |
ly |
Markov order of y, i.e. the number of lagged values affecting the
current value of y. Default is |
q |
a weighting parameter used to estimate Renyi transfer entropy,
parameter is between 0 and 1. For |
entropy |
specifies the transfer entropy measure that is estimated,
either 'Shannon' or 'Renyi'. The first character can be used
to specify the type of transfer entropy as well. Default is
|
shuffles |
the number of shuffles used to calculate the effective
transfer entropy. Default is |
type |
specifies the type of discretization applied to the observed time
series:'quantiles', 'bins' or 'limits'. Default is
|
quantiles |
specifies the quantiles of the empirical distribution of the
respective time series used for discretization.
Default is |
bins |
specifies the number of bins with equal width used for
discretization. Default is |
limits |
specifies the limits on values used for discretization.
Default is |
burn |
the number of observations that are dropped from the beginning of
the bootstrapped Markov chain. Default is |
seed |
a seed that seeds the PRNG (will internally just call set.seed),
default is |
na.rm |
if missing values should be removed (will remove the values at
the same point in the other series as well). Default is |
Value
a single numerical value for the effective transfer entropy
See Also
Examples
# construct two time-series
set.seed(1234567890)
n <- 1000
x <- rep(0, n + 1)
y <- rep(0, n + 1)
for (i in seq(n)) {
x[i + 1] <- 0.2 * x[i] + rnorm(1, 0, 2)
y[i + 1] <- x[i] + rnorm(1, 0, 2)
}
x <- x[-1]
y <- y[-1]
# calculate the X->Y transfer entropy value
calc_ete(x, y)
# calculate the Y->X transfer entropy value
calc_ete(y, x)
# Compare the results
# even with the same seed, transfer_entropy might return slightly different
# results from calc_ete
calc_ete(x, y, seed = 123)
calc_ete(y, x, seed = 123)
transfer_entropy(x, y, nboot = 0, seed = 123)