Skip to content

exma23/time_interpret

 
 

Repository files navigation

Time Interpret (tint)

This library expands the captum library with a specific focus on time series. For more details, please see the documentation and our paper.

Other papers

Explaining Time Series Predictions with Dynamic Masks

Install

Time Interpret can be installed with pip:

pip install time_interpret

Please see the documentation for alternative installation modes.

Quick-start

First, let's load an Arma dataset:

from tint.datasets import Arma

arma = Arma()
arma.download()  # This method generates the dataset

We then load some test data from the dataset and the corresponding true saliency:

inputs = arma.preprocess()["x"][0]
true_saliency = arma.true_saliency(dim=1)[0]

We can now load an attribution method and use it to compute the saliency:

from tint.attr import TemporalIntegratedGradients

explainer = TemporalIntegratedGradients(arma.get_white_box)

baselines = inputs * 0
attr = explainer.attribute(
    inputs,
    baselines=baselines,
    additional_forward_args=(true_saliency,),
    temporal_additional_forward_args=(True,),
).abs()

Finally, we evaluate our method using the true saliency and a white box metric:

from tint.metrics.white_box import aup

print(f"{aup(attr, true_saliency):.4}")

Methods

This package also provides several datasets, models and metrics. Please refer to the documentation for more details.

Paper: Learning Perturbations to Explain Time Series Predictions

The experiments for the paper: Learning Perturbations to Explain Time Series Predictions can be found on these folders:

Paper: Sequential Integrated Gradients: a simple but effective method for explaining language models

The experiments for the paper: Sequential Integrated Gradients: a simple but effective method for explaining language models can be found on the NLP section of the experiments.

TSInterpret

More methods to interpret predictions of time series classifiers have been grouped into TSInterpret, another library with a specific focus on time series. We developed Time Interpret concurrently, not being aware of this library at the time.

Acknowledgment

About

Unified Model Interpretability Library for Time Series

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.9%
  • Other 1.1%