Diffusion-based dataset. For each of the \(N\)  timeseries, we first randomly sample parameters of a sinusoidal function, i.e., its frequency, amplitude, horizontal, and vertical shift. Next, we partition the nodes into \(K\)  clusters and generate an undirected graph from a Stochastic Blockmodel (SBM), such that nodes within a cluster are more densely connected than between clusters. We use Personalized PageRank (PPR) [1]} to diffuse the multivariate timeseries, i.e., compute for each timeseries the weighted combination of itself and the other nodes in its vicinity. For each node, we add independent Gaussian noise to the other nodes before averaging. Thus far we have induced correlation between nodes in the same cluster. Finally, we perform a weighted combination of the timeseries before and after diffusion, where the diffused timeseries is lagged by \(C\)  timesteps. This means, each timestep \(\mathbf {z}_t=\alpha \cdot \tilde{\mathbf {z}}_{t} + (1-\alpha )\cdot \hat{\mathbf {z}}_{t-C}\) . This way, knowing the value of \(i\) 's neighbors \(C\)  steps is useful to predict its current value, rewarding models which have correctly identified the relations.
