Average Mutual Information (AMI)
Functions for estimating the Average Mutual Information (AMI) of a time series.
mutualInformation( time.series, lag.max = NULL, n.partitions = NULL, units = c("Nats", "Bits", "Bans"), do.plot = TRUE, ... ) ## S3 method for class 'mutualInf' plot( x, main = "Average Mutual Information (AMI)", xlab = "Time lag", ylab = NULL, type = "h", ... ) ## S3 method for class 'mutualInf' as.numeric(x, ...) ## S3 method for class 'mutualInf' x[i] ## S3 method for class 'mutualInf' x[[i]]
time.series |
The observed time series. |
lag.max |
Largest lag at which to calculate the AMI. |
n.partitions |
Number of bins used to compute the probability distribution of the time series. |
units |
The units for the mutual information. Allowed units are "Nats", "Bits" or "Bans" (somethings called Hartleys). Default is "Nats". |
do.plot |
Logical value. If TRUE, the AMI is plotted |
... |
Further arguments for the plotting function. |
x |
A mutualInf object. |
main |
Title for the plot. |
xlab |
Title for the x axis. |
ylab |
Title for the y axis. |
type |
Type of plot to be drawn. |
i |
Indices specifying elements to extract. |
The Average Mutual Information (AMI) measures how much one random variable tells us about another. In the context of time series analysis, AMI helps to quantify the amount of knowledge gained about the value of x(t+tau) when observing x(t).
To measure the AMI iof a time series, we create a histogram of the data using bins. Let Pi the probability that the signal has a value inside the ith bin, and let Pij(tau) be the probability that x(t) is in bin i ans x(t+tau) is in bin j. Then, AMI for time delay tau is defined as
AMI(tau) = sum( Pij log( Pij / (Pi*Pj) ) )
Depending on the base of the logarithm used to define AMI, the AMI is measured in bits (base 2, also called shannons), nats (base e) or bans (base 10, also called hartleys).
A mutualInf object that consist of a list containing all the relevant information of the AMI computation: time.lag, mutual.information, units and n.partitions.
Constantino A. Garcia
H. Kantz and T. Schreiber: Nonlinear Time series Analysis (Cambridge university press) H. Abarbanel: Analysis of observed chaotic data (Springer, 1996).
## Not run: sx = sinaiMap(a=0.3,n.sample=5000,start=c(0.23489,0.8923),do.plot=FALSE)$x mutinf = mutualInformation(sx, n.partitions = 20, units = "Bits") ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.