Tutorials › Statistical Learning (Graduate) › Persistent Homology for Density Cluster Trees

Level Sets and Cluster Trees · Tutorial 685 of 989

Persistent Homology for Density Cluster Trees

Learn to interpret density cluster branches as persistence intervals and to quantify how uniform estimation error affects their birth and merge heights.

Advanced 12 min read

What You'll Learn

  • Define the superlevel-set filtration of a density and its connected-component persistence intervals.
  • Interpret birth heights, merge heights, finite bars, and essential components.
  • Calculate component persistence for an explicit piecewise-linear density.
  • Relate uniform function error to an interleaving of superlevel-set filtrations.
  • Apply bottleneck stability and distinguish stable features from bars that may disappear.

From Density Thresholds to a Filtration

A density cluster tree records how high-density regions split into separate components as the density threshold rises, or merge as it falls. Persistent homology gives a concise way to represent that changing component structure: each branch becomes an interval whose endpoints are its birth height and its merge height. Comparing those intervals makes it possible to ask not only whether a component appears, but whether it persists across a substantial range of density levels.

Let \(D\) be a compact triangulable domain and let \(f:D\to\mathbb{R}\) be a continuous density function. At threshold \(\lambda\), its superlevel set is \(L_f(\lambda)=\{x\in D:f(x)\geq\lambda\}\). As \(\lambda\) decreases, these sets grow and are nested: if \(\lambda_1\geq\lambda_2\), then \(L_f(\lambda_1)\subseteq L_f(\lambda_2)\). The resulting nested family is a filtration.

Definition: The superlevel-set filtration of \(f\) is the family \(L_f(\lambda)=\{x\in D:f(x)\geq\lambda\}\), ordered by decreasing \(\lambda\). In degree zero, its persistent homology records how connected components appear and become connected to other components as the threshold decreases. A component’s birth height is the level where it first appears; its merge height is the level where it joins an older component. Its finite persistence interval is represented by \((b,d)\), where \(b\) is its birth height and \(d\) its merge height, with \(b>d\). Its persistence is \(b-d\).

For clarity, assume the filtration is tame: for example, \(f\) may be piecewise linear on a finite triangulation. Then only finitely many component births and mergers occur, and the degree-zero persistence diagram consists of finitely many points, with multiplicity. The component that remains after all finite branches merge is essential; it is represented by \((b,-\infty)\) in density-height coordinates. Equivalently, under the usual sublevel-set convention for \(-f\), its death coordinate is \(+\infty\).

When multiple components merge at the same level, the elder rule pairs the merging component with the largest birth height as the one that continues, while the other component or components die at that merge height. This makes the finite intervals correspond to branches that end in a merger. Persistent homology in degree zero is therefore a numerical description of merge features, not a new clustering rule.

Worked Examples of Component Persistence

Worked Example: A Two-Peak Density

On \(D=[0,4]\), define a piecewise-linear function by its values at \(0,1,2,3,4\), respectively: \(0,4,1,3,0\). Normalize it to have integral one. The trapezoid areas before normalization are \(2\), \(2.5\), \(2\), and \(1.5\), so the total integral is \(8\). Thus the density heights at the two peaks and the intervening valley are \(4/8=0.5\), \(3/8=0.375\), and \(1/8=0.125\), respectively.

At thresholds just below \(0.5\), there is a component around the peak at \(x=1\). Just below \(0.375\), a second component appears around \(x=3\). As the threshold falls to \(0.125\), the superlevel regions meet at the valley at \(x=2\). The component born at \(0.375\) merges into the older component born at \(0.5\).

The finite persistence interval is therefore \((0.375,0.125)\), with persistence \(0.375-0.125=0.25\). The component born at \(0.5\) is essential. This identifies the lower peak’s branch and quantifies how far its birth level lies above its merge level.

Worked Example: Counting Components at Selected Thresholds

Use the same normalized density. At \(\lambda=0.4\), only the peak of height \(0.5\) is above threshold, so there is one component. At \(\lambda=0.3\), both peaks exceed the threshold but the valley does not, so there are two components. At \(\lambda=0.1\), the valley also exceeds the threshold, so the two regions have joined and there is one component.

The interval \((0.375,0.125)\) records exactly this change: its component is present at \(0.3\), since \(0.125<0.3\leq0.375\), but it has already merged by \(0.1\). The endpoint convention at a critical level can affect whether a component is counted exactly at the endpoint, but it does not change the interval endpoints or its persistence.

Uniform Error and Bottleneck Stability

The bottleneck distance compares two persistence diagrams by matching their points. For finite points \((b,d)\) and \((b',d')\), the matching cost is \(\max\{|b-b'|,|d-d'|\}\). A point may instead be matched to the diagonal \(b=d\); its cost is its distance to that diagonal in the maximum norm, namely \((b-d)/2\). The bottleneck distance is the smallest possible largest cost over all matchings. Essential points must be matched to essential points.

The key stability fact is that small uniform function error yields small bottleneck distance for the diagrams. The hypotheses matter: the functions are defined on the same domain, the filtrations are tame (or, more generally, q-tame), and the uniform error is finite. Write \(Dgm_0(f)\) for the degree-zero diagram of the superlevel filtration, using density-height coordinates.

Theorem (Bottleneck stability for superlevel persistence): Let \(f,g:D\to\mathbb{R}\) be tame functions on the same triangulable domain. If \(\|f-g\|_\infty\leq\varepsilon\), then $$ d_B\bigl(Dgm_0(f),Dgm_0(g)\bigr)\leq\varepsilon. $$ Here \(d_B\) is the bottleneck distance with the matching costs just defined. In particular, matched birth heights and merge heights each differ by at most \(\varepsilon\). Any finite interval left unmatched has persistence at most \(2\varepsilon\).

The theorem is the superlevel-set version of the classical bottleneck stability theorem. Its connection to density estimation begins with a direct inclusion argument. For every threshold \(\lambda\), uniform error gives

$$ L_f(\lambda+\varepsilon)\subseteq L_g(\lambda)\subseteq L_f(\lambda-\varepsilon). $$

Indeed, if \(f(x)\geq\lambda+\varepsilon\), then \(g(x)\geq f(x)-\varepsilon\geq\lambda\). If \(g(x)\geq\lambda\), then \(f(x)\geq g(x)-\varepsilon\geq\lambda-\varepsilon\). These inclusions say that the two filtrations are shifted versions of one another by at most \(\varepsilon\). To express this using the standard increasing-parameter convention, set \(h=-f\) and \(k=-g\): their sublevel sets obey the corresponding inclusions after shifting the parameter by \(\varepsilon\). The algebraic stability theorem for tame persistence modules turns this interleaving into the stated bottleneck bound.

There is also a direct bound for pairwise merge heights. Suppose \(D\) is path-connected, and define the path merge height for \(x,y\in D\) by

$$ m_f(x,y)=\sup_{\gamma:x\to y}\ \min_{t\in[0,1]} f(\gamma(t)), $$

where the supremum is over continuous paths from \(x\) to \(y\). For continuous \(f\) on compact \(D\), the minimum along each such path exists. This quantity is the highest threshold at which some path connects \(x\) to \(y\). It agrees with their component merge level when the superlevel sets have the usual path-connected component structure, as in a finite piecewise-linear filtration.

Proposition: If \(\|f-g\|_\infty\leq\varepsilon\), then for every \(x,y\in D\), $$ |m_f(x,y)-m_g(x,y)|\leq\varepsilon. $$

Proof. Fix any path \(\gamma\) from \(x\) to \(y\). At every point on the path, \(g\geq f-\varepsilon\), so \(\min_t g(\gamma(t))\geq\min_t f(\gamma(t))-\varepsilon\). Taking the supremum over paths gives \(m_g(x,y)\geq m_f(x,y)-\varepsilon\). Interchanging \(f\) and \(g\) gives \(m_f(x,y)\geq m_g(x,y)-\varepsilon\). Together these inequalities imply the claim. \(\square\)

Worked Example: Checking a Bottleneck Bound

Let \(f\) be the two-peak density above and define \(g=0.9f+0.025\) on \([0,4]\). Since \(f\) integrates to one and the domain has length four, the uniform density is \(1/4\), and \(g=0.9f+0.1(1/4)\) also integrates to one. At every \(x\),

$$ |g(x)-f(x)|=0.1|0.25-f(x)|\leq0.025, $$

because \(0\leq f(x)\leq0.5\). The two peak heights and the valley height transform from \(v\) to \(0.9v+0.025\). Thus the lower peak moves from \(0.375\) to \(0.3625\), and its merge height moves from \(0.125\) to \(0.1375\). The endpoint displacements are \(0.0125\) and \(0.0125\), both below \(0.025\). Its persistence changes from \(0.25\) to \(0.3625-0.1375=0.225\), so the interval’s persistence falls by \(0.025\). The bottleneck theorem guarantees a matching of cost at most \(0.025\), consistent with these calculations.

What Stability Does—and Does Not—Say

Bottleneck stability is useful when a density is estimated rather than known. If an estimate \(\hat f\) satisfies \(\|\hat f-f\|_\infty\leq\varepsilon\), the theorem guarantees that the estimated degree-zero diagram is within bottleneck distance \(\varepsilon\) of the population diagram. Large-persistence branches cannot be erased by an arbitrarily small uniform perturbation: a bar longer than \(2\varepsilon\) cannot be matched to the diagonal at cost at most \(\varepsilon\). The theorem does not, by itself, identify which matched branch is scientifically meaningful; that interpretation depends on the application and the feature’s scale.

A common mistake is to infer that every estimated branch corresponds to a true branch. The matching definition allows short finite bars to be paired with the diagonal, and the theorem’s bound says that any unmatched finite bar must have persistence at most \(2\varepsilon\). Thus the correction is not “all branches are recovered,” but “branches that are too short relative to the error may be indistinguishable from perturbation.” A second mistake is to treat a small error in an integrated metric as if it were a uniform error. The stated bottleneck guarantee requires a bound on the largest pointwise discrepancy; an \(L^1\) or \(L^2\) error alone does not supply that hypothesis.

Key takeaway: Density superlevel sets form a filtration, and degree-zero persistence records component birth and merge heights. A uniform error bound of \(\varepsilon\) controls the bottleneck distance by \(\varepsilon\); finite branches of persistence at most \(2\varepsilon\) may be indistinguishable from the diagonal.

Check Your Understanding

Use the definitions and stability statements above to answer these questions.

  1. For the two-peak density, what are the birth height, merge height, and persistence of the finite component branch?
  2. Why do superlevel sets form a filtration when the threshold decreases?
  3. If two tame functions differ uniformly by at most \(0.03\), what bottleneck-distance bound follows, and what is the largest persistence an unmatched finite interval can have?
  4. Explain why an \(L^1\) error bound alone does not justify applying the stated bottleneck stability theorem.
  5. For a fixed pair of points \(x,y\), describe in words what the path merge height \(m_f(x,y)\) measures.
Clinical Biostats