causalexplain.generators package#

Submodules#

Acyclic Graph Generator.

Generates a dataset out of an acyclic FCM. Author : Olivier Goudet and Diviyan Kalainathan

Minor update: J. Renero (due to pandas changes to as_matrix()), and bug fix in polynomial mechanism.

class AcyclicGraphGenerator(causal_mechanism, initial_variable_generator=<function gmm_cause>, points=500, nodes=20, timesteps=0, parents_max=5, verbose=False)[source]#

Bases: object

Generates a cross-sectional dataset out of a cyclic FCM.

Methods

generate([rescale])

Generate data from an FCM containing cycles.

init_variables()

Redefine the causes of the graph.

to_csv(fname_radical, **kwargs)

Save data to the csv format by default, in two separate files.

__init__(causal_mechanism, initial_variable_generator=<function gmm_cause>, points=500, nodes=20, timesteps=0, parents_max=5, verbose=False)[source]#
Params:

@param:initial_variable_generator(points): init variables of the graph @param:causal_mechanism(causes): generating causes in the graph to

choose between: [‘linear’, ‘polynomial’, ‘sigmoid_add’, ‘sigmoid_mix’, ‘gp_add’, ‘gp_mix’]

init_variables()[source]#

Redefine the causes of the graph.

generate(rescale=True)[source]#

Generate data from an FCM containing cycles.

to_csv(fname_radical, **kwargs)[source]#

Save data to the csv format by default, in two separate files.

Optional keyword arguments can be passed to pandas.

Defining a set of classes that represent causal functions/ mechanisms.

gmm_cause(n, k=4, p1=2, p2=2, verbose=False)[source]#
class LinearMechanism(ncauses, points, d=4, noise_coeff=0.7, verbose=False)[source]#

Bases: object

Linear mechanism, where Effect = alpha*Cause + Noise.

Methods

__call__(causes[, verbose])

Run the mechanism.

__init__(ncauses, points, d=4, noise_coeff=0.7, verbose=False)[source]#

Init the mechanism.

__call__(causes, verbose=False)[source]#

Run the mechanism.

class Polynomial_Mechanism(ncauses, points, d=2, noise_coeff=0.7, verbose=False)[source]#

Bases: object

Methods

__call__(causes[, verbose])

Run the mechanism.

mechanism

__init__(ncauses, points, d=2, noise_coeff=0.7, verbose=False)[source]#

Init the mechanism.

mechanism(x, par)[source]#
__call__(causes, verbose=False)[source]#

Run the mechanism.

class SigmoidAM_Mechanism(ncauses, points, d=4, noise_coeff=0.7, verbose=False)[source]#

Bases: object

Methods

__call__(causes[, verbose])

Run the mechanism.

mechanism

__init__(ncauses, points, d=4, noise_coeff=0.7, verbose=False)[source]#

Init the mechanism.

mechanism(x)[source]#
__call__(causes, verbose=False)[source]#

Run the mechanism.

class SigmoidMix_Mechanism(ncauses, points, d=4, noise_coeff=0.7, verbose=False)[source]#

Bases: object

Methods

__call__(causes[, verbose])

Run the mechanism.

mechanism

__init__(ncauses, points, d=4, noise_coeff=0.7, verbose=False)[source]#

Init the mechanism.

mechanism(causes)[source]#
__call__(causes, verbose=False)[source]#

Run the mechanism.

computeGaussKernel(x)[source]#
class GaussianProcessAdd_Mechanism(ncauses, points, verbose=False)[source]#

Bases: object

Methods

__call__(causes[, verbose])

Run the mechanism.

mechanism(x)

Run the mechanism.

__init__(ncauses, points, verbose=False)[source]#

Init the mechanism.

mechanism(x)[source]#

Run the mechanism.

__call__(causes, verbose=False)[source]#

Run the mechanism.

class GaussianProcessMix_Mechanism(ncauses, points, verbose=False)[source]#

Bases: object

Methods

__call__(causes[, verbose])

Run the mechanism.

mechanism

__init__(ncauses, points, verbose=False)[source]#

Init the mechanism.

mechanism(x)[source]#
__call__(causes, verbose=False)[source]#

Run the mechanism.

gaussian_cause(n)[source]#
noise(n, v)[source]#

Module contents#