Anomaly Pattern Comparison
Executive Summary
Patient 1 and Patient 2 show distinct anomaly signatures (cosine=0.10). Patient 1 has 7 anomaly days vs P2's 46. PCA axis similarity is -0.43, suggesting different dominant failure modes.
Patient 1 (post-HSCT): Anomaly Detection Results
Top 10 Anomaly Days
| Date | Score | Agreement | Top Deviating Metrics | Cluster |
|---|---|---|---|---|
| 2026-04-08 | 1.104 | 3/3 | Active Cal (z=+5.0), Steps (z=+4.3), Activity Score (z=+2.9) | -1 |
| 2026-04-07 | 0.975 | 3/3 | Steps (z=+3.5), Active Cal (z=+2.7), Activity Score (z=+2.5) | -1 |
| 2026-04-12 | 0.839 | 2/3 | HRV Average (z=+3.5), Activity Score (z=+2.4), HRV Balance (z=+1.9) | -1 |
| 2026-02-09 | 0.815 | 3/3 | Readiness (z=-4.4), HR Average (z=+4.3), HR Lowest (z=+3.4) | -1 |
| 2026-04-10 | 0.793 | 3/3 | HRV Average (z=+3.5), Activity Score (z=+3.2), HR Lowest (z=-2.4) | -1 |
| 2026-04-06 | 0.778 | 3/3 | Steps (z=+4.1), Active Cal (z=+2.6), Readiness (z=-2.0) | -1 |
| 2026-04-11 | 0.595 | 2/3 | Activity Score (z=+3.1), Breath Rate (z=+2.2), HR Average (z=-1.3) | -1 |
Patient 2 (post-Stroke): Anomaly Detection Results
Top 10 Anomaly Days
| Date | Score | Agreement | Top Deviating Metrics | Cluster |
|---|---|---|---|---|
| 2022-05-04 | 1.670 | 3/3 | Temp Delta (z=+21.1), Readiness (z=-6.0), Efficiency (z=-4.7) | -1 |
| 2021-12-21 | 1.409 | 3/3 | Efficiency (z=-6.2), Sleep Score (z=-5.5), Total Sleep (z=-5.1) | -1 |
| 2021-09-18 | 1.255 | 3/3 | Readiness (z=-4.4), HRV Balance (z=-4.1), HR Lowest (z=+4.1) | -1 |
| 2021-12-20 | 1.165 | 3/3 | Sleep Score (z=-5.1), Efficiency (z=-5.0), Total Sleep (z=-4.8) | -1 |
| 2026-03-28 | 1.165 | 3/3 | Sleep Score (z=-4.9), Total Sleep (z=-4.6), Efficiency (z=-4.4) | -1 |
| 2021-11-17 | 0.975 | 3/3 | HR Lowest (z=+4.6), HR Average (z=+3.5), Readiness (z=-3.5) | -1 |
| 2021-10-24 | 0.952 | 3/3 | Readiness (z=-3.2), HR Lowest (z=+2.6), Sleep Balance (z=-2.4) | -1 |
| 2021-09-17 | 0.950 | 3/3 | Breath Rate (z=-4.7), Readiness (z=-3.5), HR Lowest (z=+2.8) | -1 |
| 2021-11-21 | 0.947 | 3/3 | HRV Balance (z=-4.4), Readiness (z=-3.1), HR Average (z=+2.6) | -1 |
| 2021-11-20 | 0.833 | 3/3 | HRV Balance (z=-3.2), Steps (z=+2.5), Readiness (z=-2.2) | -1 |
Patient 3 (Healthy Control): Anomaly Detection Results
Top 10 Anomaly Days
| Date | Score | Agreement | Top Deviating Metrics | Cluster |
|---|---|---|---|---|
| 2026-04-09 | 0.916 | 3/3 | HR Lowest (z=+3.1), Readiness (z=-2.8), HR Average (z=+2.6) | N/A |
| 2026-04-07 | 0.782 | 2/3 | Activity Score (z=-2.4), Efficiency (z=-2.0), Sleep Score (z=-1.7) | N/A |
| 2026-04-03 | 0.734 | 2/3 | Deep Sleep (z=+2.2), HRV Average (z=+2.2), HR Average (z=-1.5) | N/A |
Anomaly Timeline
Anomaly Fingerprint Comparison
Cluster Analysis
Metric Severity Comparison
Clinical Implications
Anomaly Signature Differences
Patient 1 (post-HSCT) typical bad day: Activity Score (z=+2.41), Steps (z=+1.67), Active Cal (z=+1.41), Readiness (z=-0.98), HRV Average (z=+0.76)
Patient 2 (post-Stroke) typical bad day: Readiness (z=-1.40), Total Sleep (z=-1.01), HR Lowest (z=+0.94), Sleep Score (z=-0.94), HR Average (z=+0.86)
Patient 3 (Healthy Control) typical bad day: Deep Sleep (z=+1.56), HR Lowest (z=+1.07), Breath Rate (z=+1.04), Active Cal (z=-0.69), Readiness (z=-0.64)
Cluster Patterns
Patient 3 (Healthy Control): Insufficient anomaly days for clustering.
Severity Comparison
Anomaly severity distributions are significantly different (Mann-Whitney U, p=p=0.049).
Key Takeaways
- The patients have distinct anomaly signatures, reflecting their different underlying conditions (HSCT vs stroke recovery).
- Z-score normalization removes raw-value bias, enabling meaningful comparison of 'how bad is bad' relative to each patient's baseline.
- Ensemble methods reduce false positives: only days flagged by multiple methods are considered truly anomalous.
Methodology & Limitations
Anomaly Detection Pipeline
- Data Collection: 17 metrics from Oura Ring across sleep, readiness, and activity domains.
- Z-Score Normalization: Each metric normalized per patient (z = (x - mean) / std). This removes raw-value differences (e.g., HRV 9ms vs 43ms) and focuses on relative deviation.
- Three Detection Methods:
- Z-Score Threshold: Day anomalous if 3+ metrics exceed |z| > 2.0 or composite magnitude > 2.0
- Isolation Forest: Unsupervised tree-based method (contamination=0.1, n_estimators=200)
- Percentile-Based: Flag values outside 5th/95th percentile, anomalous if 3+ metrics extreme
- Ensemble: Day is anomaly if 2+ of 3 methods agree. Weighted score: z-score (0.35) + Isolation Forest (0.40) + percentile (0.25).
- Fingerprinting: Mean z-vector of anomaly days reveals the 'typical bad day' signature.
- PCA: Reduces dimensionality; PC1 loadings reveal the dominant failure mode.
- DBSCAN Clustering: Groups anomaly days by similarity (eps=2.0, min_samples=2). Clusters labeled by dominant metric group.
Limitations
- Patient 1 has ~81 days of data vs P2's ~518 days. Small sample size limits clustering reliability.
- Oura Ring consumer-grade sensors; not clinical-grade measurement.
- Temperature delta may show seasonal drift in P2's longer dataset.
- Isolation Forest contamination rate (10%) is assumed, not empirically derived.
- Cosine similarity treats all metrics equally; clinical weighting may differ.