← Back to all sparks
S

squat

INFRA · APIS
Velocity0.0

Statistics for Quaternion Temporal Data

Quaternion time series got their own statistics package, and it is still filling in the toolbox.

quaternionsfunctional-datarotationclusteringtime-series
Current state
squat treats a sequence of rotations as a statistical object: quaternion time series with means, medians, distances, principal components and clustering defined on them rather than on the raw coordinates. Version 0.5.0 adds derived representations, turning a QTS into a smooth b-spline curve or into angular velocity and acceleration. The release cadence is roughly annual.
Where it's heading
Each release has added either a representation or a way to compare series. First the class and the core statistical methods, then clustering algorithms and distance matrices, then quaternion algebra and axis-angle conversion, then rotation-invariant elastic distance and roll-pitch-yaw. The package is broadening the input side, so that data arriving in any of the usual rotation encodings can enter the same analysis. Dependency reduction runs alongside, with purrr and furrr swapped out for base and future.apply.
Prediction
Given the pattern, the next additions are most likely further transformations and distances rather than new inference machinery. The tight coupling to fdacluster, which the notes repeatedly adapt to, means that package's API is the main external constraint on timing.

Recent moves

  1. 7mo ago

    Smoothing, angular velocity and acceleration transforms added

    Three new ways to look at the same series: a b-spline smooth representation, and angular velocity and acceleration as vectors and magnitudes. It continues the pattern of adding representations rather than new inference, and derivatives are what most motion analysis actually keys on.

    View source ↗
  2. 1y ago

    Rotation-invariant elastic distance and roll-pitch-yaw support

    The comparison side gains a rotation-invariant elastic distance and an option to skip alignment entirely in SRVF distance matrices, while roll-pitch-yaw joins the supported representations. purrr and furrr are dropped for base apply functions and future.apply, shortening the dependency trail.

    View source ↗
  3. 2y ago

    Quaternion algebra and axis-angle conversion added

    Arithmetic on quaternion time series arrives via Eigen, with addition, subtraction, multiplication and inversion defined, plus qts2aats() for axis-angle representation and a predict() method for QTS principal components. The PCA fixes shipped alongside address numerical overflow and basis-count inconsistency between the univariate and multivariate decompositions.

    View source ↗
  4. 3y ago

    Fence robustification option and correct tangent spaces

    A small release with one substantive correction: tangent spaces are now computed properly along the mean QTS, which matters for everything built on the tangent PCA. The use_fence robustification option is added, and the code tracks another fdacluster API change.

    View source ↗
  5. 3y ago

    Hierarchical and DBSCAN clustering join k-means

    Clustering broadens from the k-means of the initial release to hierarchical and density-based methods, with explicit distance matrix computation exposed underneath. More algorithms for a task the package already performed rather than a new capability.

    View source ↗
  6. 3y ago

    First API defines quaternion time series as a statistical object

    ⚡ SPARK

    The release that created the package's subject matter: qts and qts_sample classes with a full complement of statistical methods defined on them. Everything since has extended this surface rather than revised it.

    View source ↗