Transfer Entropy With Partitioning

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;]; 2000 (June 13).


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.


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

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.

Figure 1

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


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