pyhctsa.operations.correlation.add_noise

pyhctsa.operations.correlation.add_noise(y, tau=1, ami_method='even', extra_param=None, random_seed=None)

Changes in the automutual information with the addition of noise.

Adds Gaussian-distributed noise to the time series with increasing standard deviation, eta, across the range eta = 0, 0.1, …, 2, and measures the mutual information at each point. Can be measured using histograms with extra_param bins or using the Information Dynamics Toolkit. The output is a set of statistics on the resulting set of automutual information estimates, including a fit to an exponential decay, since the automutual information decreases with the added white noise. This algorithm is quite different, but was based on the idea in [1].

References

Parameters:
y : ArrayLike

Input time series (should be z-scored prior to analysis).

tau : int or str, optional

Time delay used to compute AMI.

  • If an int, computes AMI at that lag.

  • If "ac" or "tau", uses the first zero-crossing of the

autocorrelation function.

Default is 1.

ami_method : str, optional

Estimation method for AMI.

Histogram-based estimators:

  • "std1"

  • "std2"

  • "quantiles"

  • "even"

JIDT-based estimators:

  • "gaussian"

  • "kernel"

  • "kraskov1"

  • "kraskov2"

Default is "even".

extra_param : int, optional

Additional parameter for the AMI estimator.

  • For histogram methods: number of bins.

  • For JIDT methods: estimator-specific parameter.

Default is 10.

random_seed : int or None, optional

Seed controlling noise realisations. If None, defaults internally to 0.

Returns:

Summary statistics of the AMI–noise curve, including exponential decay fit parameters and descriptive measures.

Return type:

dict