## 2 Materials and Methods
### Topological Data Analysis with Persistent Homology  
Following the definition above, an abstract simplicial complex is given by a set \(\mathcal{Z}\) of vertices or 0-simplices, a set of \(k\)-simplices \(\sigma=[z_{0},z_{1},\ldots,z_{k}]\) where \(z_{i}\in\mathcal{Z}\) for each \(k\leq 1\), and a set of \(k+1\) faces for each \(k\)-simplex obtained by deleting one of the vertices. A filtered simplicial complex is given by filtration of a simplicial complex \(\mathcal{Y}\), with a collection of subcomplexes \(\{\mathcal{Y}(t)|t\in\mathbb{R}\}\) of \(\mathcal{Y}\) such that \(\mathcal{Y}(t)\subset\mathcal{Y}(t^{\prime})\) whenever \(t\leq t^{\prime}\). The filtration value of a simplex \(\sigma\in\mathcal{Y}\) is the smallest \(t\) value such that \(\sigma\in\mathcal{Y}(t)\). Topological data analysis methods usually involve computing the persistent homology [26]. The Betti numbers help describe the homology of a simplicial complex \(\mathcal{Y}\). The Betti number value  
Figure 2: Intuitive example of the temporal filtration. Presented here are seven data points which are marked by their time stamps (when they were measured). In all four cases, we considered the case where the spatial threshold \(\epsilon\) of the nerve ball around each data point was one (which, in our case, only contained every data point’s nearest neighbor and not the second-nearest neighbor). If we only performed the spatial filtration, we would consider them all to be connected. However, that would not match the temporal skeleton. Instead, we could set a temporal constraint \(\tau\) such that only if two data points that were spatially (in the feature space) proximal to each other were also measured temporally close to each other would their edge be included. If \(\tau\) is small (e.g., one time step apart), then we have a fine resolution temporal skeleton which separates the data points into three main phases. If \(\tau\) is big (e.g., three time steps part), then we have a crude temporal skeleton which groups them all into connected components. \(BN_{k}\), where \(k\in\mathbb{N}\), is equal to the rank of the \(k\)th homology group of \(\mathcal{Y}\). The Betti intervals over the filtration process help describe how the homology of \(\mathcal{Y}(t)\) changes with \(t\). A \(k\)-dimensional Betti interval with endpoints \([t_{\text{start}},t_{\text{end}})\) corresponds to a \(k\)-dimensional hole that appears at the filtration value \(t_{\text{start}}\), remains open for \(t_{\text{start}}\leq t<t_{\text{end}}\), and closes at value \(t_{\text{end}}\). Figure 3 is a schematic diagram outlining how to perform a filtration process (by sweeping \(\epsilon\)), document the \"birth\" and \"death\" of each complex (the colored lines of various lengths in the chart), and generate this as a barcode representation [27] or a persistence diagram [28] for the downstream analyses. In this schematic diagram, a point cloud of 19 data points is presented in a low-dimensional embedding space. In the filtration process, a parameter \(\epsilon\) is swept from zero to the maximum pairwise distance within the point cloud, indicating a distance threshold under which the two points can form an edge to become one connected component in the graph. For each value \(\epsilon\), we obtained a space \(S_{\epsilon}\) consisting of vertices, the edges formed among the vertices, and the higher-dimensional polytopes connected by these edges. For instance, a nerve ball of a radius \(\epsilon\) grows around each point cloud, and an edge will form if two nerve balls touch. Homology counts the number of essentially different cycles--linear combinations of simplices that form a cycle (for example, a loop formed by a sequence of edges)--that are not the boundary of something that can fill in the hole (for example, a combination of 2D simplices or triangles spanning the inside of the loop).