KSGTEEstimator

KSGTEEstimator#

class infomeasure.estimators.transfer_entropy.KSGTEEstimator(source, dest, *, cond=None, k: int = 4, ksg_id: int = 1, noise_level=1e-08, minkowski_p=inf, prop_time: int = 0, step_size: int = 1, src_hist_len: int = 1, dest_hist_len: int = 1, cond_hist_len: int = 1, offset: int = None, base: int | float | str = 'e', **kwargs)[source]

Bases: BaseKSGTEEstimator, TransferEntropyEstimator

Estimator for transfer entropy using the Kraskov-Stoegbauer-Grassberger (KSG) method.

Attributes:
source, destarray_like

The source (X) and destination (Y) data used to estimate the transfer entropy.

kint

Number of nearest neighbors to consider.

noise_levelfloat, None or False

Standard deviation of Gaussian noise to add to the data. Adds \(\mathcal{N}(0, \text{noise}^2)\) to each data point.

minkowski_pfloat, \(1 \leq p \leq \infty\)

The power parameter for the Minkowski metric. Default is np.inf for maximum norm. Use 2 for Euclidean distance.

prop_timeint, optional

Number of positions to shift the data arrays relative to each other (multiple of step_size). Delay/lag/shift between the variables, representing propagation time. Assumed time taken by info to transfer from source to destination. Alternatively called offset.

step_sizeint, optional

Step size between elements for the state space reconstruction.

src_hist_len, dest_hist_lenint

Number of past observations to consider for the source and destination data.

Notes

Changing the number of nearest neighbors k can change the outcome, but the default value of \(k=4\) is recommended by [KSG11].