Causal Recurrent Variational Autoencoder for Medical Time Series Generation

Hongming Li, Shujian Yu, Jose Principe
1/16/2023
cs.LGeess.SP

Official code: hongmingli1995/CR-VAE (34 stars, last commit 2023-02-23).

Abstract

We propose causal recurrent variational autoencoder (CR-VAE), a novel generative model that is able to learn a Granger causal graph from a multivariate time series x and incorporates the underlying causal mechanism into its data generation process. Distinct to the classical recurrent VAEs, our CR-VAE uses a multi-head decoder, in which the $p$-th head is responsible for generating the $p$-th dimension of $\mathbf{x}$ (i.e., $\mathbf{x}^p$). By imposing a sparsity-inducing penalty on the weights (of the decoder) and encouraging specific sets of weights to be zero, our CR-VAE learns a sparse adjacency matrix that encodes causal relations between all pairs of variables. Thanks to this causal matrix, our decoder strictly obeys the underlying principles of Granger causality, thereby making the data generating process transparent. We develop a two-stage approach to train the overall objective. Empirically, we evaluate the behavior of our model in synthetic data and two real-world human brain datasets involving, respectively, the electroencephalography (EEG) signals and the functional magnetic resonance imaging (fMRI) data. Our model consistently outperforms state-of-the-art time series generative models both qualitatively and quantitatively. Moreover, it also discovers a faithful causal graph with similar or improved accuracy over existing Granger causality-based causal inference methods. Code of CR-VAE is publicly available at https://github.com/hongmingli1995/CR-VAE.

View on arXivView PDF

Code Implementations(1)

344PythonNov 30, 20223 years ago

Similar Papers

Cite this paper

@article{li2023causal,
  title  = {Causal Recurrent Variational Autoencoder for Medical Time Series Generation},
  author = {Hongming Li and Shujian Yu and Jose Principe},
  year   = {2023},
  eprint = {2301.06574},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2301.06574v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2301.06574.svg)](https://codeofpaper.com/paper/2301.06574)

Discussion