eyetrajectoriespy 0.10.0rc2¶
Release candidate — 29 September 2026
eyetrajectoriespy 0.10.0rc2 is a corrective release candidate for the
native sparse/irregular FPCA + PACE tranche. It adds no new estimator surface.
Why rc2 exists¶
Post-publication recovery validation of 0.10.0rc1 found that
diagonal-difference measurement-noise estimation could be severely biased even
when the latent functional subspace and PACE scores were recovered well.
The defect was isolated to the latent covariance diagonal used only for measurement-noise estimation. The generic two-dimensional local-linear covariance surface remains the fitted covariance object for FPCA and the full PACE conditional covariance system, but its diagonal is not the PACE-specific diagonal estimator.
Correction¶
For noise_variance_method="diagonal_difference", rc2 now:
- constructs off-diagonal covariance products as before;
- rotates those pairs by 45 degrees;
- fits a local polynomial that is linear along the covariance diagonal and quadratic perpendicular to it;
- uses the declared covariance bandwidth for this latent-diagonal fit;
- smooths the observed/raw residual-square diagonal separately with the
declared
noise_bandwidth; - averages their signed difference only on the explicit
noise_support=(a,b).
The generic covariance surface used for eigendecomposition and PACE scoring is unchanged.
Failure behavior and sensitivity¶
A non-positive estimated measurement-noise variance remains a structured
noise_variance_invalid failure. It is not clipped to zero or replaced by a
small positive constant.
The recovery matrix also shows that diagonal-difference noise recovery remains a finite-sample sensitivity problem. Bandwidth, support, sampling density and the noise-to-latent-variance ratio can materially change the estimate. The package therefore records signed recovery and failure frequency rather than claiming a universal bandwidth choice or widening qualification thresholds.
Release discipline¶
Published 0.10.0rc1 remains immutable. rc2 receives its own fresh
performance, cross-platform, sparse-native, documentation, examples and
release-readiness qualification. Only after exact-main qualification may
publication readiness be armed in a separate reviewed change.
After publication, install explicitly with:
pip install --pre eyetrajectoriespy==0.10.0rc2
Final 0.10.0 should be prepared only after rc2 artifact-level qualification
finds no blocking numerical, scientific or API defect.