/causal_discovery_for_time_series

Causal discovery for time series

Primary LanguageJupyter Notebook

causal_discovery_for_time_series

Package to test causal discovery algorithm on simulated and real data

THIS SOURCE CODE IS SUPPLIED AS IS WITHOUT WAR RANTY OF ANY KIND AND ITS AUTHOR AND THE JOURNAL OF ARTIFICIAL INTELLIGENCE RESEARCH JAIR AND JAIRS PUBLISHERS AND DISTRIBUTORS DISCLAIM ANY AND ALL WARRANTIES INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AND ANY WARRANTIES OR NON INFRINGEMENT THE USER ASSUMES ALL LIABILITY AND RESPONSIBILITY FOR USE OF THIS SOURCE CODE AND NEITHER THE AUTHOR NOR JAIR NOR JAIRS PUBLISHERS AND DISTRIBUTORS WILL BE LIABLE FOR DAM AGES OF ANY KIND RESULTING FROM ITS USE Without limiting the generality of the foregoing neither the author nor JAIR nor JAIR's publishers and distributors warrant that the Source Code will be errorfree will operate without interruption or will meet the needs of the user

Methods

Some algorithms are imported from other langauges such as R and Java

Test

To test algorithms on simulated data run:

python3 test_simulated_data.py method structure n_samples num_processor verbose

  • method: causal dicovery algorithms, choose from [GrangerPW, GrangerMV, TCDF, PCMCICMIknn, PCMCIParCorr, oCSE, PCTMI, tsFCI, VarLiNGAM, TiMINO, Dynotears]
  • structure: causal structure, choose from [fork, v_structure, diamond, 7ts2h]
  • n_samples: number of timestamps
  • num_processor: number of processors

Example: python3 test_fmri.py "NBCB" "fork" 1000 1 1

To test algorithms on fmri data run:

python3 test_simulated_data.py method num_processor verbose

Example: python3 test_fmri.py "NBCB" 1 1