Cumulant Based Inference of higher-order Correlation (CuBIC)

CuBIC is a statistical method for the detection of higher order of correlations in parallel spike trains based on the analysis of the cumulants of the population count. Given a list sts of SpikeTrains, the analysis comprises the following steps:

  1. compute the population histogram (PSTH) with the desired bin size
    >>> bin_size = 5 * pq.ms
    >>> pop_count = elephant.statistics.time_histogram(sts, bin_size)
    
  2. apply CuBIC to the population count
    >>> alpha = 0.05  # significance level of the tests used
    >>> xi, p_val, k = cubic(data, max_iterations=100, alpha=0.05,
    ... errorval=4.):
    
elephant.cubic.cubic(histogram, max_iterations=100, alpha=0.05)[source]

Performs the CuBIC analysis [1] on a population histogram, calculated from a population of spiking neurons.

The null hypothesis H_0: k_3(data)<=k^*_{3,\xi} is iteratively tested with increasing correlation order \xi until it is possible to accept, with a significance level alpha, that \hat{\xi} is the minimum order of correlation necessary to explain the third cumulant k_3(data).

k^*_{3,\xi} is the maximized third cumulant, supposing a Compound Poisson Process (CPP) model for correlated spike trains (see [1]) with maximum order of correlation equal to \xi.

Parameters:
histogramneo.AnalogSignal

The population histogram (count of spikes per time bin) of the entire population of neurons.

max_iterationsint, optional

The maximum number of iterations of the hypothesis test. Corresponds to the \hat{\xi_{\text{max}}} in [1]. If it is not possible to compute the \hat{\xi} before max_iterations iteration, the CuBIC procedure is aborted. Default: 100.

alphafloat, optional

The significance level of the hypothesis tests performed. Default: 0.05.

Returns:
xi_hatint

The minimum correlation order estimated by CuBIC, necessary to explain the value of the third cumulant calculated from the population.

plist

The ordered list of all the p-values of the hypothesis tests that have been performed. If the maximum number of iteration max_iterations is reached, the last p-value is set to -4.

kappalist

The list of the first three cumulants of the data.

test_abortedbool

Whether the test was aborted because reached the maximum number of iteration, max_iterations.

References

[1](1, 2, 3) Staude, Rotter, Gruen, (2009) J. Comp. Neurosci