A python implementation of Time-Series Location-Scale Noise Model (TS-LSNM).
Given observational data of shape (sample_size, n_features), TS-LSNM estimates an adjacency matrix of shape (n_features, n_features) that represents the relationships between the features. The adjacency matrix is assumed to form a directed acyclic graph (DAG).
TS-LSNM accounts for nonlinearity, location-scale effects, and temporal dependencies. Moreover, if prior knowledge of variable groupings is available, it can estimate a group DAG, which represents relationships between groups rather than individual variables.
Refer examples/TS-LSNM.ipynb for details.
import tslsnm
from tslsnm.utils import fix_seed
fix_seed(1)
model = TSLSNM()
model.fit(X.values)
W_est = model.get_adjacency_matrix()@inproceedings{kikuchi2023structure,
title={Structure learning for groups of variables in nonlinear time-series data with location-scale noise},
author={Kikuchi, Genta and Shimizu, Shohei},
booktitle={Causal Analysis Workshop Series},
pages={20--39},
year={2023},
organization={PMLR}
}