Algorithms for network inference

Multivariate Transfer Entropy (mTE)

class idtxl.multivariate_te.MultivariateTE[source]

Perform network inference using multivariate transfer entropy.

Perform network inference using multivariate transfer entropy (TE). To perform network inference call analyse_network() on the whole network or a set of nodes or call analyse_single_target() to estimate TE for a single target. See docstrings of the two functions for more information.

References:

Attributes:
source_setlist

indices of source processes tested for their influence on the target

targetlist

index of target process

settingsdict

analysis settings

current_valuetuple

index of the current value in TE estimation, (idx process, idx sample)

selected_vars_fulllist of tuples

samples in the full conditional set, (idx process, idx sample)

selected_vars_sourceslist of tuples

source samples in the conditional set, (idx process, idx sample)

selected_vars_targetlist of tuples

target samples in the conditional set, (idx process, idx sample)

pvalue_omnibusfloat

p-value of the omnibus test

pvalues_sign_sourcesnumpy array

array of p-values for TE from individual sources to the target

statistic_omnibusfloat

joint TE from all sources to the target

statistic_sign_sourcesnumpy array

raw TE values from individual sources to the target

sign_ominbusbool

statistical significance of the over-all TE

analyse_network(settings, data, targets='all', sources='all')[source]

Find multivariate transfer entropy between all nodes in the network.

Estimate multivariate transfer entropy (TE) between all nodes in the network or between selected sources and targets.

Note:

For a detailed description of the algorithm and settings see documentation of the analyse_single_target() method and references in the class docstring.

Example:
>>> data = Data()
>>> data.generate_mute_data(100, 5)
>>> settings = {
>>>     'cmi_estimator':  'JidtKraskovCMI',
>>>     'n_perm_max_stat': 200,
>>>     'n_perm_min_stat': 200,
>>>     'n_perm_omnibus': 500,
>>>     'n_perm_max_seq': 500,
>>>     'max_lag_sources': 5,
>>>     'min_lag_sources': 2
>>>     }
>>> network_analysis = MultivariateTE()
>>> results = network_analysis.analyse_network(settings, data)
Args:
settingsdict

parameters for estimation and statistical testing, see documentation of analyse_single_target() for details, settings can further contain

  • verbose : bool [optional] - toggle console output (default=True)

  • fdr_correction : bool [optional] - correct results on the network level, see documentation of stats.network_fdr() for details (default=True)

dataData instance

raw data for analysis

targetslist of int | ‘all’ [optional]

index of target processes (default=’all’)

sourceslist of int | list of list | ‘all’ [optional]

indices of source processes for each target (default=’all’); if ‘all’, all network nodes excluding the target node are considered as potential sources and tested; if list of int, the source specified by each int is tested as a potential source for the target with the same index or a single target; if list of list, sources specified in each inner list are tested for the target with the same index

Returns:
ResultsNetworkInference instance

results of network inference, see documentation of ResultsNetworkInference()

analyse_single_target(settings, data, target, sources='all')[source]

Find multivariate transfer entropy between sources and a target.

Find multivariate transfer entropy (TE) between all source processes and the target process. Uses multivariate, non-uniform embedding found through information maximisation. Multivariate TE is calculated in four steps:

  1. find all relevant variables in the target processes’ own past, by iteratively adding candidate variables that have significant conditional mutual information (CMI) with the current value (conditional on all variables that were added previously)

  2. find all relevant variables in the source processes’ pasts (again by finding all candidates with significant CMI)

  3. prune the final conditional set by testing the CMI between each variable in the final set and the current value, conditional on all other variables in the final set

  4. statistics on the final set of sources (test for over-all transfer between the final conditional set and the current value, and for significant transfer of all individual variables in the set)

Note:

For a further description of the algorithm see references in the class docstring.

Example:

>>> data = Data()
>>> data.generate_mute_data(100, 5)
>>> settings = {
>>>     'cmi_estimator':  'JidtKraskovCMI',
>>>     'n_perm_max_stat': 200,
>>>     'n_perm_min_stat': 200,
>>>     'n_perm_omnibus': 500,
>>>     'n_perm_max_seq': 500,
>>>     'max_lag_sources': 5,
>>>     'min_lag_sources': 2
>>>     }
>>> target = 0
>>> sources = [1, 2, 3]
>>> network_analysis = MultivariateTE()
>>> results = network_analysis.analyse_single_target(settings,
>>>                                                  data, target,
>>>                                                  sources)
Args:
settingsdict

parameters for estimation and statistical testing:

  • cmi_estimator : str - estimator to be used for CMI calculation (for estimator settings see the documentation in the estimators_* modules)

  • max_lag_sources : int - maximum temporal search depth for candidates in the sources’ past in samples

  • min_lag_sources : int - minimum temporal search depth for candidates in the sources’ past in samples

  • max_lag_target : int [optional] - maximum temporal search depth for candidates in the target’s past in samples (default=same as max_lag_sources)

  • tau_sources : int [optional] - spacing between candidates in the sources’ past in samples (default=1)

  • tau_target : int [optional] - spacing between candidates in the target’s past in samples (default=1)

  • n_perm_* : int [optional] - number of permutations, where * can be ‘max_stat’, ‘min_stat’, ‘omnibus’, and ‘max_seq’ (default=500)

  • alpha_* : float [optional] - critical alpha level for statistical significance, where * can be ‘max_stats’, ‘min_stats’, ‘omnibus’, and ‘max_seq’ (default=0.05)

  • add_conditionals : list of tuples | str [optional] - force the estimator to add these conditionals when estimating TE; can either be a list of variables, where each variable is described as (idx process, lag wrt to current value) or can be a string: ‘faes’ for Faes-Method (see references)

  • permute_in_time : bool [optional] - force surrogate creation by shuffling realisations in time instead of shuffling replications; see documentation of Data.permute_samples() for further settings (default=False)

  • verbose : bool [optional] - toggle console output (default=True)

  • write_ckp : bool [optional] - enable checkpointing, writes analysis state to disk every time a variable is selected; resume crashed analysis using network_analysis.resume_checkpoint() (default=False)

  • filename_ckp : str [optional] - checkpoint file name (without extension) (default=’./idtxl_checkpoint’)

dataData instance

raw data for analysis

targetint

index of target process

sourceslist of int | int | ‘all’ [optional]

single index or list of indices of source processes (default=’all’), if ‘all’, all network nodes excluding the target node are considered as potential sources

Returns:
ResultsNetworkInference instance

results of network inference, see documentation of ResultsNetworkInference()

Bivariate Transfer Entropy (bTE)

class idtxl.bivariate_te.BivariateTE[source]

Perform network inference using bivariate transfer entropy.

Perform network inference using bivariate transfer entropy (TE). To perform network inference call analyse_network() on the whole network or a set of nodes or call analyse_single_target() to estimate TE for a single target. See docstrings of the two functions for more information.

References:

Attributes:
source_setlist

indices of source processes tested for their influence on the target

targetlist

index of target process

settingsdict

analysis settings

current_valuetuple

index of the current value in TE estimation, (idx process, idx sample)

selected_vars_fulllist of tuples

samples in the full conditional set, (idx process, idx sample)

selected_vars_sourceslist of tuples

source samples in the conditional set, (idx process, idx sample)

selected_vars_targetlist of tuples

target samples in the conditional set, (idx process, idx sample)

pvalue_omnibusfloat

p-value of the omnibus test

pvalues_sign_sourcesnumpy array

array of p-values for TE from individual sources to the target

statistic_omnibusfloat

joint TE from all sources to the target

statistic_sign_sourcesnumpy array

raw TE values from individual sources to the target

sign_ominbusbool

statistical significance of the over-all TE

analyse_network(settings, data, targets='all', sources='all')[source]

Find bivariate transfer entropy between all nodes in the network.

Estimate bivariate transfer entropy (TE) between all nodes in the network or between selected sources and targets.

Note:

For a detailed description of the algorithm and settings see documentation of the analyse_single_target() method and references in the class docstring.

Example:

>>> data = Data()
>>> data.generate_mute_data(100, 5)
>>> settings = {
>>>     'cmi_estimator':  'JidtKraskovCMI',
>>>     'n_perm_max_stat': 200,
>>>     'n_perm_min_stat': 200,
>>>     'n_perm_omnibus': 500,
>>>     'n_perm_max_seq': 500,
>>>     'max_lag': 5,
>>>     'min_lag': 4
>>>     }
>>> network_analysis = BivariateTE()
>>> results = network_analysis.analyse_network(settings, data)
Args:
settingsdict

parameters for estimation and statistical testing, see documentation of analyse_single_target() for details, settings can further contain

  • verbose : bool [optional] - toggle console output (default=True)

dataData instance

raw data for analysis

targetslist of int | ‘all’ [optional]

index of target processes (default=’all’)

sourceslist of int | list of list | ‘all’ [optional]

indices of source processes for each target (default=’all’); if ‘all’, all network nodes excluding the target node are considered as potential sources and tested; if list of int, the source specified by each int is tested as a potential source for the target with the same index or a single target; if list of list, sources specified in each inner list are tested for the target with the same index

Returns:
ResultsNetworkInference instance

results of network inference, see documentation of ResultsNetworkInference()

analyse_single_target(settings, data, target, sources='all')[source]

Find bivariate transfer entropy between sources and a target.

Find bivariate transfer entropy (TE) between all potential source processes and the target process. Uses bivariate, non-uniform embedding found through information maximisation.

Bivariate TE is calculated in four steps:

  1. find all relevant variables in the target processes’ own past, by iteratively adding candidate variables that have significant conditional mutual information (CMI) with the current value (conditional on all variables that were added previously)

  2. find all relevant variables in the single source processes’ pasts (again by finding all candidates with significant CMI); treat each potential source process separately, i.e., the CMI is calculated with respect to already selected variables from the target’s past and from the current processes’ past only

  3. prune the final conditional set for each link (i.e., each process-target pairing): test the CMI between each variable in the final set and the current value, conditional on all other variables in the final set of the current link

  4. statistics on the final set of sources (test for over-all transfer between the final conditional set and the current value, and for significant transfer of all individual variables in the set)

Note:

For a further description of the algorithm see references in the class docstring.

Example:

>>> data = Data()
>>> data.generate_mute_data(100, 5)
>>> settings = {
>>>     'cmi_estimator':  'JidtKraskovCMI',
>>>     'n_perm_max_stat': 200,
>>>     'n_perm_min_stat': 200,
>>>     'n_perm_omnibus': 500,
>>>     'n_perm_max_seq': 500,
>>>     'max_lag': 5,
>>>     'min_lag': 4
>>>     }
>>> target = 0
>>> sources = [1, 2, 3]
>>> network_analysis = BivariateTE()
>>> results = network_analysis.analyse_single_target(settings,
>>>                                                  data, target,
>>>                                                  sources)
Args:
settingsdict

parameters for estimation and statistical testing:

  • cmi_estimator : str - estimator to be used for CMI calculation (for estimator settings see the documentation in the estimators_* modules)

  • max_lag_sources : int - maximum temporal search depth for candidates in the sources’ past in samples

  • min_lag_sources : int - minimum temporal search depth for candidates in the sources’ past in samples

  • max_lag_target : int [optional] - maximum temporal search depth for candidates in the target’s past in samples (default=same as max_lag_sources)

  • tau_sources : int [optional] - spacing between candidates in the sources’ past in samples (default=1)

  • tau_target : int [optional] - spacing between candidates in the target’s past in samples (default=1)

  • n_perm_* : int - number of permutations, where * can be ‘max_stat’, ‘min_stat’, ‘omnibus’, and ‘max_seq’ (default=500)

  • alpha_* : float - critical alpha level for statistical significance, where * can be ‘max_stats’, ‘min_stats’, and ‘omnibus’ (default=0.05)

  • add_conditionals : list of tuples | str [optional] - force the estimator to add these conditionals when estimating TE; can either be a list of variables, where each variable is described as (idx process, lag wrt to current value) or can be a string: ‘faes’ for Faes-Method (see references)

  • permute_in_time : bool [optional] - force surrogate creation by shuffling realisations in time instead of shuffling replications; see documentation of Data.permute_samples() for further settings (default=False)

  • verbose : bool [optional] - toggle console output (default=True)

  • write_ckp : bool [optional] - enable checkpointing, writes analysis state to disk every time a variable is selected; resume crashed analysis using network_analysis.resume_checkpoint() (default=False)

  • filename_ckp : str [optional] - checkpoint file name (without extension) (default=’./idtxl_checkpoint’)

dataData instance

raw data for analysis

targetint

index of target process

sourceslist of int | int | ‘all’ [optional]

single index or list of indices of source processes (default=’all’), if ‘all’, all network nodes excluding the target node are considered as potential sources

Returns:
ResultsNetworkInference instance

results of network inference, see documentation of ResultsNetworkInference()

Multivariate Mutual Information (mMI)

class idtxl.multivariate_mi.MultivariateMI[source]

Perform network inference using multivariate mutual information.

Perform network inference using multivariate mutual information (MI). To perform network inference call analyse_network() on the whole network or a set of nodes or call analyse_single_target() to estimate MI for a single target. See docstrings of the two functions for more information.

References:

Attributes:
source_setlist

indices of source processes tested for their influence on the target

targetlist

index of target process

settingsdict

analysis settings

current_valuetuple

index of the current value in MI estimation, (idx process, idx sample)

selected_vars_fulllist of tuples

samples in the full conditional set, (idx process, idx sample)

selected_vars_sourceslist of tuples

source samples in the conditional set, (idx process, idx sample)

pvalue_omnibusfloat

p-value of the omnibus test

pvalues_sign_sourcesnumpy array

array of p-values for MI from individual sources to the target

mi_omnibusfloat

joint MI from all sources to the target

mi_sign_sourcesnumpy array

raw MI values from individual sources to the target

sign_ominbusbool

statistical significance of the over-all MI

analyse_network(settings, data, targets='all', sources='all')[source]

Find multivariate mutual information between nodes in the network.

Estimate multivariate mutual information (MI) between all nodes in the network or between selected sources and targets.

Note:

For a detailed description of the algorithm and settings see documentation of the analyse_single_target() method and references in the class docstring.

Example:

>>> data = Data()
>>> data.generate_mute_data(100, 5)
>>> # The algorithm uses a conditional mutual information to
>>> # construct a non-uniform embedding, hence a CMI- not MI-
>>> # estimator has to be specified:
>>> settings = {
>>>     'cmi_estimator':  'JidtKraskovCMI',
>>>     'n_perm_max_stat': 200,
>>>     'n_perm_min_stat': 200,
>>>     'n_perm_omnibus': 500,
>>>     'n_perm_max_seq': 500,
>>>     'max_lag_sources': 5,
>>>     'min_lag_sources': 2
>>>     }
>>> network_analysis = MultivariateMI()
>>> results = network_analysis.analyse_network(settings, data)
Args:
settingsdict

parameters for estimation and statistical testing, see documentation of analyse_single_target() for details, settings can further contain

  • verbose : bool [optional] - toggle console output (default=True)

  • fdr_correction : bool [optional] - correct results on the network level, see documentation of stats.network_fdr() for details (default=True)

dataData instance

raw data for analysis

targetslist of int | ‘all’ [optional]

index of target processes (default=’all’)

sourceslist of int | list of list | ‘all’ [optional]

indices of source processes for each target (default=’all’); if ‘all’, all network nodes excluding the target node are considered as potential sources and tested; if list of int, the source specified by each int is tested as a potential source for the target with the same index or a single target; if list of list, sources specified in each inner list are tested for the target with the same index

Returns:
dict

results for each target, see documentation of analyse_single_target(); results FDR-corrected, see documentation of stats.network_fdr()

analyse_single_target(settings, data, target, sources='all')[source]

Find multivariate mutual information between sources and a target.

Find multivariate mutual information (MI) between all source processes and the target process. Uses multivariate, non-uniform embedding found through information maximisation .

Multivariate MI is calculated in four steps (see Lizier and Faes for details):

Note:

For a further description of the algorithm see references in the class docstring.

  1. Find all relevant samples in the source processes’ past, by iteratively adding candidate samples that have significant conditional mutual information (CMI) with the current value (conditional on all samples that were added previously)

  2. Prune the final conditional set by testing the CMI between each sample in the final set and the current value, conditional on all other samples in the final set

  3. Statistics on the final set of sources (test for over-all transfer between the final conditional set and the current value, and for significant transfer of all individual samples in the set)

Example:

>>> data = Data()
>>> data.generate_mute_data(100, 5)
>>> # The algorithm uses a conditional mutual information to
>>> # construct a non-uniform embedding, hence a CMI- not MI-
>>> # estimator has to be specified:
>>> settings = {
>>>     'cmi_estimator':  'JidtKraskovCMI',
>>>     'n_perm_max_stat': 200,
>>>     'n_perm_min_stat': 200,
>>>     'n_perm_omnibus': 500,
>>>     'n_perm_max_seq': 500,
>>>     'max_lag_sources': 5,
>>>     'min_lag_sources': 2
>>>     }
>>> target = 0
>>> sources = [1, 2, 3]
>>> network_analysis = MultivariateMI()
>>> results = network_analysis.analyse_single_target(settings,
>>>                                                  data, target,
>>>                                                  sources)
Args:
settingsdict

parameters for estimation and statistical testing:

  • cmi_estimator : str - estimator to be used for CMI calculation (for estimator settings see the documentation in the estimators_* modules)

  • max_lag_sources : int - maximum temporal search depth for candidates in the sources’ past in samples

  • min_lag_sources : int - minimum temporal search depth for candidates in the sources’ past in samples

  • tau_sources : int [optional] - spacing between candidates in the sources’ past in samples (default=1)

  • n_perm_* : int [optional] - number of permutations, where * can be ‘max_stat’, ‘min_stat’, ‘omnibus’, and ‘max_seq’ (default=500)

  • alpha_* : float [optional] - critical alpha level for statistical significance, where * can be ‘max_stats’, ‘min_stats’, ‘omnibus’, and ‘max_seq’ (default=0.05)

  • add_conditionals : list of tuples | str [optional] - force the estimator to add these conditionals when estimating MI; can either be a list of variables, where each variable is described as (idx process, lag wrt to current value) or can be a string: ‘faes’ for Faes-Method (see references)

  • permute_in_time : bool [optional] - force surrogate creation by shuffling realisations in time instead of shuffling replications; see documentation of Data.permute_samples() for further settings (default=False)

  • verbose : bool [optional] - toggle console output (default=True)

  • write_ckp : bool [optional] - enable checkpointing, writes analysis state to disk every time a variable is selected; resume crashed analysis using network_analysis.resume_checkpoint() (default=False)

  • filename_ckp : str [optional] - checkpoint file name (without extension) (default=’./idtxl_checkpoint’)

dataData instance

raw data for analysis

targetint

index of target process

sourceslist of int | int | ‘all’ [optional]

single index or list of indices of source processes (default=’all’), if ‘all’, all network nodes excluding the target node are considered as potential sources

Returns:
dict

results consisting of sets of selected variables as (full set, variables from the sources’ past), pvalues and MI for each selected variable, the current value for this analysis, results for omnibus test (joint MI between all selected source variables and the target, omnibus MI, p-value, and significance); NOTE that all variables are listed as tuples (process, lag wrt. current value)

Bivariate Mutual Information (bMI)

class idtxl.bivariate_mi.BivariateMI[source]

Perform network inference using bivariate mutual information.

Perform network inference using bivariate mutual information (MI). To perform network inference call analyse_network() on the whole network or a set of nodes or call analyse_single_target() to estimate MI for a single target. See docstrings of the two functions for more information.

References:

Attributes:
source_setlist

indices of source processes tested for their influence on the target

targetlist

index of target process

settingsdict

analysis settings

current_valuetuple

index of the current value in MI estimation, (idx process, idx sample)

selected_vars_fulllist of tuples

samples in the full conditional set, (idx process, idx sample)

selected_vars_sourceslist of tuples

source samples in the conditional set, (idx process, idx sample)

selected_vars_targetlist of tuples

target samples in the conditional set, (idx process, idx sample)

pvalue_omnibusfloat

p-value of the omnibus test

pvalues_sign_sourcesnumpy array

array of p-values for MI from individual sources to the target

mi_omnibusfloat

joint MI from all sources to the target

mi_sign_sourcesnumpy array

raw MI values from individual sources to the target

sign_ominbusbool

statistical significance of the over-all MI

analyse_network(settings, data, targets='all', sources='all')[source]

Find bivariate mutual information between all nodes in the network.

Estimate bivariate mutual information (MI) between all nodes in the network or between selected sources and targets.

Note:

For a detailed description of the algorithm and settings see documentation of the analyse_single_target() method and references in the class docstring.

Example:

>>> data = Data()
>>> data.generate_mute_data(100, 5)
>>> # The algorithm uses a conditional mutual information to
>>> # construct a non-uniform embedding, hence a CMI- not MI-
>>> # estimator has to be specified:
>>> settings = {
>>>     'cmi_estimator':  'JidtKraskovCMI',
>>>     'n_perm_max_stat': 200,
>>>     'n_perm_min_stat': 200,
>>>     'n_perm_omnibus': 500,
>>>     'n_perm_max_seq': 500,
>>>     'max_lag': 5,
>>>     'min_lag': 4
>>>     }
>>> network_analysis = BivariateMI()
>>> results = network_analysis.analyse_network(settings, data)
Args:
settingsdict

parameters for estimation and statistical testing, see documentation of analyse_single_target() for details, settings can further contain

  • verbose : bool [optional] - toggle console output (default=True)

dataData instance

raw data for analysis

targetslist of int | ‘all’ [optional]

index of target processes (default=’all’)

sourceslist of int | list of list | ‘all’ [optional]

indices of source processes for each target (default=’all’); if ‘all’, all network nodes excluding the target node are considered as potential sources and tested; if list of int, the source specified by each int is tested as a potential source for the target with the same index or a single target; if list of list, sources specified in each inner list are tested for the target with the same index

Returns:
dict

results for each target, see documentation of analyse_single_target()

analyse_single_target(settings, data, target, sources='all')[source]

Find bivariate mutual information between sources and a target.

Find bivariate mutual information (MI) between all potential source processes and the target process. Uses bivariate, non-uniform embedding found through information maximisation

MI is calculated in three steps:

  1. find all relevant variables in a single source processes’ past, by iteratively adding candidate variables that have significant conditional mutual information (CMI) with the current value (conditional on all variables that were added previously)

  2. prune the final conditional set for each link (i.e., each process-target pairing): test the CMI between each variable in the final set and the current value, conditional on all other variables in the final set of the current link; treat each potential source process separately, i.e., the CMI is calculated with respect to already selected variables the current processes’ past only

  3. statistics on the final set of sources (test for over-all transfer between the final conditional set and the current value, and for significant transfer of all individual variables in the set)

Note:

For a further description of the algorithm see references in the class docstring.

Example:

>>> data = Data()
>>> data.generate_mute_data(100, 5)
>>> # The algorithm uses a conditional mutual information to
>>> # construct a non-uniform embedding, hence a CMI- not MI-
>>> # estimator has to be specified:
>>> settings = {
>>>     'cmi_estimator':  'JidtKraskovCMI',
>>>     'n_perm_max_stat': 200,
>>>     'n_perm_min_stat': 200,
>>>     'n_perm_omnibus': 500,
>>>     'n_perm_max_seq': 500,
>>>     'max_lag': 5,
>>>     'min_lag': 4
>>>     }
>>> target = 0
>>> sources = [1, 2, 3]
>>> network_analysis = BivariateMI()
>>> results = network_analysis.analyse_single_target(settings,
>>>                                                  data, target,
>>>                                                  sources)
Args:
settingsdict

parameters for estimation and statistical testing:

  • cmi_estimator : str - estimator to be used for CMI calculation (for estimator settings see the documentation in the estimators_* modules)

  • max_lag_sources : int - maximum temporal search depth for candidates in the sources’ past in samples

  • min_lag_sources : int - minimum temporal search depth for candidates in the sources’ past in samples

  • tau_sources : int [optional] - spacing between candidates in the sources’ past in samples (default=1)

  • n_perm_* : int - number of permutations, where * can be ‘max_stat’, ‘min_stat’, ‘omnibus’, and ‘max_seq’ (default=500)

  • alpha_* : float - critical alpha level for statistical significance, where * can be ‘max_stats’, ‘min_stats’, and ‘omnibus’ (default=0.05)

  • add_conditionals : list of tuples | str [optional] - force the estimator to add these conditionals when estimating MI; can either be a list of variables, where each variable is described as (idx process, lag wrt to current value) or can be a string: ‘faes’ for Faes-Method (see references)

  • permute_in_time : bool [optional] - force surrogate creation by shuffling realisations in time instead of shuffling replications; see documentation of Data.permute_samples() for further settings (default=False)

  • verbose : bool [optional] - toggle console output (default=True)

  • write_ckp : bool [optional] - enable checkpointing, writes analysis state to disk every time a variable is selected; resume crashed analysis using network_analysis.resume_checkpoint() (default=False)

  • filename_ckp : str [optional] - checkpoint file name (without extension) (default=’./idtxl_checkpoint’)

dataData instance

raw data for analysis

targetint

index of target process

sourceslist of int | int | ‘all’ [optional]

single index or list of indices of source processes (default=’all’), if ‘all’, all network nodes excluding the target node are considered as potential sources

Returns:
dict

results consisting of sets of selected variables as (full set, variables from the sources’ past), pvalues and MI for each selected variable, the current value for this analysis, results for omnibus test (joint MI between all selected source variables and the target, omnibus MI, p-value, and significance); NOTE that all variables are listed as tuples (process, lag wrt. current value)