Skip to content

Implementation of PCMCI #50

@bgroenks96

Description

@bgroenks96

It would be nice to have a Julia-native implementation of the (relatively) new PCMCI [1] algorithm for causal inference in time series proposed by @jakobrunge and his team.

The algorithm essentially consists of two steps:

(1) PC1 condition selection to identify relevant adjacent links
(2) Momentary conditional independence (MCI) test (eq 6 in the paper) to identify time-shifted causal links.

I highly recommend reading the paper if you haven't already.

There is a reference implementation here, but bear in mind that the code is licensed under GPL 3.0 so it is incompatible with the MIT license for CausalInference.jl. Fortunately, CausalInference.jl already has PC and partial correlation conditional independence tests so really all that needs to be done is adding MCI, which should be doable from the definition given in the paper.

[1] Runge, J., Nowack, P., Kretschmer, M., Flaxman, S., & Sejdinovic, D. (2019). Detecting and quantifying causal associations in large nonlinear time series datasets. Science Advances, 5(11), eaau4996.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions