# Firstbeat Energy Expenditure Algorithm

I am looking for an implementation (or a document that describes the actual algorithm) for the energy expenditure/VO2/EPOC calculation from the heart rate variability.

• Oxygen consumption estimation
• Energy expenditure estimation
• EPOC (Excess post-exercise oxygen consumption)
• Training effect
• Athlete's recovery analysis

According to Garmin's webpage, the error is about 50% smaller than for the generic method.

While these are fascinating to read, they don't tell us much about how to actually calculate these values from heart rate data. All it says:

Neural networks were used to construct a model that derives VO2 from R-R intervals (time between successive heart beats), using respiration rate and on/off-response information.

Even though the normal heart rate monitors don't make the data available, there are cheap receivers for polar and ANT+ around that allow beat by beat monitoring, like this one www.sparkfun.com/products/8661 (for polar) or http://www.abra-electronics.com/products/WRL%252d08840-Nordic-USB-ANT-Stick.html (for ant+) https://code.google.com/p/hrvtracker/ (program)

The conventional estimation of caloric expenditure as a function of the heart rate can be found in this paper: Prediction of Energy Expenditure from Heart Rate Monitoring During Submaximal Exercise.

-
Given that they use neural networks as the main technology component, it might be difficult to scientifically explain the mapping (see "Disadvantages" in en.wikipedia.org/wiki/Artificial_neural_network) – FredrikD Nov 21 '12 at 13:40
Agreed, NNs are unpredictable. Either they work or they don't, but explaining why is another story. – Baarn Nov 21 '12 at 15:23
I found the thesis of one of the Firstbeat people jyx.jyu.fi/dspace/bitstream/handle/123456789/13267/… – Dan Nov 22 '12 at 2:46
From reading his thesis it seems they use sigmoid/logistic units, which are non-linear. However, he uses the neural network to extract the respiratory frequency from the heart rate time series. Which means they didn't use it to directly create the linear regression formula, but instead used it as basis for the model on which the linear regression is based. So could you perhaps explain what your goal would really be? Probably you don't have to bother with the same data processing if you have access to cleaned up heart rate data, you could simply use the formula you found. – Ivo Flipse Nov 22 '12 at 6:56
I posted the question here because I am interested in an algorithm that I can run on my own HR data. The NN is nothing but a black box that gives more or less unverifiable and maybe unstable output after training with a huge dataset. As I don't have access to this training dataset, understanding the NN is not too useful for me. I am more interested in the physiological model + usable algorithm that depends only on a few coefficients. It is easier to understand the limitations of such a model, too. – Dan Dec 1 '12 at 22:04