PhenoVector AI: Estimating Within-Person Physiology with Governed AI
PhenoVector AI: Estimating Within-Person Physiology with Governed AI
How much does a recurring state move a person’s physiology, and does the movement repeat?
Wearables follow the same person for months, allowing us to track changes in their physiology over time. Some changes may reflect improvements or deterioration in health, while others follow recurring biological states, such as the menstrual cycle. These recurring states raise two questions: how much does a state shift a person’s physiology, and does that person show a similar shift each time?
A cohort average tells us how much people shift on average, but not whether everyone responds similarly or a few people account for most of the change. Cohort-level effects help researchers understand population trends. For individual users, an additional question is whether their own history tells us anything about their future physiological responses beyond what the cohort average already predicts.
PhenoVector AI answers the first with a phenovector. Each participant’s metrics are averaged over the days carrying a state label and compared with that participant’s reference days; the paired differences across all metrics form one profile, with the participant as the unit of analysis. Each entry is a mean difference in native units, bpm, °C or mmol/L, with a 95% bootstrap interval from DABEST.
For the second, each record is split into complete cycles. A three-level mixed model (person, cycle, day) gives the between-person spread of each metric’s shift, and a distance-based intraclass correlation asks whether a person’s own cycle vectors lie closer together than other people’s. Variances cannot fall below zero, so bootstrap intervals mislead at that boundary; the method instead simulates a no-difference cohort on the real design (still in progress for phaseffect) and reports boundary fits as uninformative. I first test the analyses on synthetic cohorts with known effects, checking that the code recovers what I put in and finds nothing where there is nothing to find.
I also wanted to see how much of the analysis I could delegate to AI without giving up control of the data or the results. Agents write and test code using synthetic data, but I review and approve every script before it can access real measurements. Any change to the code requires another approval, and approved scripts return only aggregate results. The calculations are done by ordinary code, and every reported number can be traced back to how it was computed. Four independent AI reviewers check the calculations and the claims made from them. None of this is foolproof. The safeguards depend on my reviewing the code properly, and four reviewers agreeing doesn’t necessarily mean they’re right.
The first application is phaseffect: 42 participants in the mcPHASES cohort, three months of wearable, glucose, hormone and diary data. Its estimation core is DABEST; its cross-metric profile is DESTRA’s phenovector, deltas compared as a whole profile, here computed within a person rather than across groups. Nothing in the method is specific to the menstrual cycle; it applies wherever a labelled state recurs in people measured repeatedly.
Results, tables and figures: phaseffect site · GitHub (results site and cohort-level tables; analysis code release planned for 13 November 2026).
References
- Lin, B., Li, J. Y., Kalani, K., Truong, K., & Mariakakis, A. (2025). mcPHASES: A Dataset of Physiological, Hormonal, and Self-reported Events and Symptoms for Menstrual Health Tracking with Wearables (version 1.0.0). PhysioNet. doi:10.13026/zx6a-2c81.
- Pollard, T., et al. (2026). PhysioNet as a global platform for biomedical research. Nature Health. doi:10.1038/s44360-026-00096-z.
- Lin et al. (2026). Scientific Data. doi:10.1038/s41597-026-06805-3.