Kalman Filter Refinement

May 22, 2026

Kalman Filter Refinement

Over the past week, we refined our Kalman Filter implementation following the biophysical model proposed in “Estimation of Core Body Temperature from Skin Temperature, Heat Flux, and Heart Rate Using a Kalman Filter” by Mark J. Buller et al. In a first stage, population-level parameters are derived from the full dataset via linear regression — the dynamic coefficient (A) and the weights of rib skin temperature, ambient temperature, and heart rate — and stored in population_prior.json.

A second script imports these priors and, during a short per-participant calibration window, adapts three individual parameters online: the personal bias, the process noise (Q), and the observation noise (R). With all parameters in place, core body temperature is estimated and the PSI and HI metrics are computed.

The figure below shows the resulting metrics. Since the dataset includes rectal temperature measurements — the closest proxy to true core body temperature — it is possible to compare the estimates against ground-truth values, as illustrated in the figure.

Kalman Filter Metrics

Following these updates, we achieved a root mean square error of 0.380 °C in temperature estimation. This result is supported by the work of Yuanzhe Zhao and Jeroen H.M. Bergman, published in Biocybernetics and Biomedical Engineering, which used the same dataset (PROSPIE, Loughborough University) and reported a closely matching root mean square error of 0.390 °C.