How it works

How the analysis is done, and how it stays live

If we add data to the model, how can it be live? There are two phases: one trains the model, one runs it in real time. Same engine, different moments.

Phase one · training

Collect and learn

Paired CO₂ and HRV are recorded over time with context (temperature, noise, sleep stage). The model learns that individual’s relationship between the air and their HRV.

Phase two · live inference

Predict as it happens

Once trained, the model runs on the incoming stream and estimates the HRV response forming now, before it is consciously felt.

The model

A per-subject gradient-boosting model estimates HRV from the air and context:

HRV̂t = f( CO₂t, CO₂t-5..t-30, mean₁₅, slope₁₀, temp, noise, sleep-stage, minute )

Lagged CO₂ terms are included because the air’s effect on HRV is delayed by roughly 20 to 30 minutes. Sleep stage is controlled first, as the sleep and psychology researchers advised.

Validation, stated honestly

Held-out R²
0.68
on nights unseen in training
Mean error
4.67 ms
vs 7.97 ms predicting the mean
Skill vs no model
41%
error reduction (1 - 4.67/7.97)

Top drivers the model learned: sleep stage (importance 0.72), then lagged CO₂ at 20 to 30 min, then temperature, which matches the literature: control sleep and temperature, and the delayed CO₂ effect emerges underneath.

These figures are from a synthetic demo subject built to the coefficients on the Science page, to prove the pipeline end to end before real paired data exists. The architecture, features and validation are real; the biology becomes real on the first recorded night. Live wearable sync is the next build. MoodAir measures, it does not diagnose.

What we measure, and what we infer

Measured directly

Real signals

Room CO₂ from the sensor. HRV from the wearable. Context: temperature, noise, sleep stage.

Inferred by the model

The prediction

The predicted HRV response and an air-state flag. We do not print a made-up stress score; we surface the signal and the estimate for a professional to interpret.

Validating the signal

HRV is objective, but a number alone invites the question: is the shift really stress, or noise? On a researcher’s advice we pair it with a brief validated self-report, the Perceived Stress Scale or a short State-Trait Anxiety Inventory, so objective and subjective reads can be compared.

See it live See the evidence