Transfer Entropy With Partitioning

Our new website is in development. Try it out at: https://alpha.physionet.org and give us feedback

These algorithms are used and described in:

Lee et al.: “Transfer Entropy Estimation and Directional Coupling Change Detection in Biomedical Time Series.” Biomedical Engineering Online 2012 11:19.

Please cite the above publication when referencing this material, and also include the standard citation for PhysioNet: Goldberger AL, Amaral LAN, Glass L, Hausdorff JM, Ivanov PCh, Mark RG, Mietus JE, Moody GB, Peng C-K, Stanley HE. "PhysioBank, PhysioToolkit, and PhysioNet: Components of a New Research Resource for Complex Physiologic Signals," Circulation 101(23):e215-e220 [Circulation Electronic Pages; http://circ.ahajournals.org/content/101/23/e215.full]; 2000 (June 13).

Description

This is a repository of MATLAB functions that can estimate transfer entropy (information flow) from one time series to another using a non-parametric partitioning algorithm. Also included is an example data set that the implemented algorithms can be applied to.

The functions have been tested in MATLAB R2016b on 03 March 2016.

Usage

There are three functions used to calculate transfer entropy between time series using different methods of probability density estimation:

• [T] = transferEntropyKDE(X,Y,t,w,N,bw_coeff)
• Based on Guassian kernel density estimation.
• Calls function mdKDE
• [T nPar dimPar]=transferEntropyPartition(X,Y,t,w)
• Based on the Darbellay-Vajda partitioning algorithm
• Calls function DVpartition3D
• [T] = transferEntropyRank(X,Y,l,k,t,w,Q)
• Based on bin counting with fixed and equally-spaced bins.
• Calls function quantentr

The MAT file 'example_data.mat' contains a 1-D structure array of example data that harnesses an information flow from X to Y at a lag of 2 according to: y(i)=[(1+a)*x(i-2)]^2
Different values of the coupling constant 'a' were simulated, along with associated levels of Laplacian noise given by SNR levels.

• For a demonstration, run 'demoscript.m'. The plotted results should look like figure 1.
• See the individual .m function files for information on how to call them.
• See readme_example_data.txt for information on the example data parameters.
• See Measuring Information Transfer, Physical Review Letters, 85(2):461-464, 2000 for more details on the methods.

Figure 1: Transfer entropy between time series with different coupling constants.Comparison of all 3 algorithms.

Acknowledgments

This package was developed by J. Lee, S. Nemati, and I. Silvia.

``` Name                       Last modified      Size  Description Parent Directory                                -
DVpartition3D.m            2016-03-03 19:22  3.7K
demoscript.m               2016-03-03 19:22  606
mdKDE.m                    2016-03-03 19:22  1.6K
quantentr.m                2016-03-03 19:22  1.3K
transferEntropyKDE.m       2016-03-03 19:22  2.5K
transferEntropyPartition.m 2016-03-03 19:22  2.4K
transferEntropyRank.m      2016-03-03 19:22  2.4K
example_data.mat           2016-03-03 19:22   84K
demoresults.jpg            2016-03-03 19:56   18K
COPYING                    2016-04-06 19:05   34K  GNU General Public License