Awesome
MOCHE
Comprehensible Counterfactual Interpretation on Kolmogorov-Smirnov Test
Setup Experiment Environment
Use the following command to setup the experiment environment.
The command will install the dependencies required by MOCHE.
python setup.py install
Interpretation Methods
grace.py
: The baseline method GRACE [1].
corner_search.py
: The basline method CornerSearch [2].
mochi.py
: Our proposed method, MOCHE.
baselines.py
: Abstract class of interpretation methods. The baseline methods STOMP [5], Series2Graph [6], and D3 [7] are implemented in the file as well.
Run Experiments
Produce interpretations with the preference list generated by Bitmap [3]
sh bin/run_exp_bitmap.sh
Produce interpretations with the preference list generated by Spectral Residual [4]
sh bin/run_exp_spectral.sh
Produce interpretations on the failed KS test conducted on the COVID-19 dataset
python exp/exp_covid.py
Dataset
We use the dataset in the NAB repository and the COVID-19 cases in British Columbia, Canada.
Links
Bitmap Library: https://github.com/linkedin/luminol
Spectral Residual: https://docs.seldon.io/projects/alibi-detect/en/latest/api/modules.html
STOMP: https://matrixprofile.org
Series2Graph: http://helios.mi.parisdescartes.fr/~themisp/series2graph/
NAB Dataset: https://github.com/numenta/NAB/tree/master/data
COVID-19 Dataset: http://www.bccdc.ca/health-info/diseases-conditions/covid-19/data
Reference
[1] Generating Concise and Informative Contrastive Sample to Explain Neural Network Model’s Prediction
[2] Sparse and Imperceivable Adversarial Attacks
[3] Assumption-free anomaly detection in timeseries
[4] Time-Series Anomaly De-tection Service at Microsoft
[5] Matrix Profile I: All Pairs Similarity Joins for Time Series: A Unifying View that Includes Motifs, Discords and Shapelets
[6] Series2Graph: Graph-based Subsequence Anomaly Detection for Time Series
[7] Online Outlier Detection in Sensor Data Using Non-Parametric Models