Metrics#
Philosophy: Hierarchical Composition
The metrics module implements a three-tier hierarchy of distance functions:
EntityMetric: Single point-in-time comparisons (categorical feature equality)
SequenceMetric: Built on EntityMetric, aligned/aggregated across timesteps
TrajectoryMetric: Aggregates SequenceMetrics across multiple sequence types
This composition allows flexible metric selection at each level while maintaining consistent interfaces.
Entity Metrics#
Entity metrics compare individual states or events on categorical features.
Metric |
Purpose |
|---|---|
Categorical mismatch counter; building block for all sequence metrics |
Sequence Metrics#
Sequence metrics operate on entire sequences, leveraging an EntityMetric as a foundation.
Metric |
Purpose |
|---|---|
Position-wise alignment with configurable aggregation (mean, max, sum) |
|
Needleman-Wunsch edit distance; insertions, deletions, substitutions |
|
Longest Common Prefix distance between sequences |
|
Longest Common Subsequence distance |
|
Dynamic Time Warping; flexible time alignment |
|
Differentiable DTW variant for optimization |
|
Chi-squared distance between state-time distributions |
Trajectory Metrics#
Trajectory metrics compare trajectories (multi-sequence entities) by aggregating sequence-level distances.
Metric |
Purpose |
|---|---|
Compute per-alias SequenceMetric, then aggregate via mean/min/max/sum |
Key feature: Use different SequenceMetrics for different sequence types (aliases). For example, use EditSequenceMetric for states and LCSSequenceMetric for events, then aggregate the results.
Distance Matrix#
DistanceMatrix is a matrix wrapper that stores
pairwise distances and pool IDs, enabling efficient cluster operations.
SequenceMetric classes provide a compute_matrix()
method to compute the full pairwise distance matrix:
metric = EditSequenceMetric(entity_metric=hamming, normalize=True)
distance_matrix = metric.compute_matrix(pool)
Similarly, TrajectoryMetric classes have a compute_matrix()
method that computes the full distance matrix across multiple trajectories.
See Also#
Entity Metrics - Entity metric examples
Sequence Metrics - Sequence metric examples
Trajectory Metrics - Trajectory metric examples
Clustering - Clustering algorithms that operate on sequences or trajectories