Algoritmo de gasto de energía de Firstbeat

Estoy buscando una implementación (o un documento que describa el algoritmo real) para el cálculo del gasto de energía/VO2/EPOC a partir de la variabilidad de la frecuencia cardíaca.

Algunos libros blancos sobre

  • Estimación del consumo de oxígeno
  • Estimación del gasto energético
  • EPOC (Exceso de consumo de oxígeno post-ejercicio)
  • Efecto de entrenamiento
  • Análisis de recuperación del atleta

se puede descargar aquí .

Según la página web de Garmin, el error es aproximadamente un 50% menor que con el método genérico.

Si bien estos son fascinantes de leer, no nos dicen mucho sobre cómo calcular estos valores a partir de los datos de frecuencia cardíaca. Todo lo que dice:

Se usaron redes neuronales para construir un modelo que deriva el VO2 de los intervalos RR (tiempo entre latidos cardíacos sucesivos), utilizando la frecuencia respiratoria y la información de respuesta activada/desactivada.

Aunque los pulsómetros normales no ponen los datos a disposición, existen receptores baratos para polar y ANT+ que permiten monitorizar latido a latido, como este www.sparkfun.com/products/8661 (para polar) o http: //www.abra-electronics.com/products/WRL%252d08840-Nordic-USB-ANT-Stick.html (para ant+) https://code.google.com/p/hrvtracker/ (programa)

La estimación convencional del gasto calórico en función de la frecuencia cardíaca se puede encontrar en este artículo: Predicción del gasto energético a partir del control de la frecuencia cardíaca durante el ejercicio submáximo .

Dado que utilizan redes neuronales como componente tecnológico principal, puede ser difícil explicar científicamente el mapeo (ver "Desventajas" en en.wikipedia.org/wiki/Artificial_neural_network )
De acuerdo, los NN son impredecibles. O funcionan o no, pero explicar por qué es otra historia.
Envié un enlace a esta pregunta a uno de los miembros del personal de Firstbeat, veremos si responde :-) Personalmente, he estado usando Firstbeat Athlete durante casi 4 años y estoy muy contento con el sistema.
Encontré la tesis de una de las personas de Firstbeat jyx.jyu.fi/dspace/bitstream/handle/123456789/13267/…
La ecuación (106) da el VO2 relativo en función de la frecuencia cardíaca relativa de un ajuste. pVO2 = 1,459*(pHR)*2 - 0,49*pHR+0,04. Es difícil seguir lo que realmente hace el modelo EPOC con todos los parámetros ocultos. No creo que usen un NN de aprendizaje en un reloj. Al echar un breve vistazo a la tesis, parece que la usan como una función de caja negra para un ajuste. Tal vez alguien con más conocimiento sobre NN pueda comentar.
Al leer su tesis, parece que usan unidades sigmoideas/logísticas, que no son lineales. Sin embargo, utiliza la red neuronal para extraer la frecuencia respiratoria de la serie temporal de frecuencia cardíaca. Lo que significa que no lo usaron para crear directamente la fórmula de regresión lineal, sino que lo usaron como base para el modelo en el que se basa la regresión lineal. Entonces, ¿podría explicar cuál sería realmente su objetivo? Probablemente no tenga que molestarse con el mismo procesamiento de datos si tiene acceso a datos limpios de frecuencia cardíaca, simplemente puede usar la fórmula que encontró.
Me gustaría obtener una comprensión general de los algoritmos y sus limitaciones. Todavía estoy leyendo la tesis de Saalasti, parece que está usando un NN y lo entrena con los datos, lo que da un modelo que no es fácil de entender e imposible de reproducir sin el conjunto de datos original. Por ejemplo, todo lo que dice sobre EPOC es EPOC=f(EPOC_{t-1}, intensidad, Dt) (107), lo que realmente está pasando está oculto en el modelo. Estoy buscando descripciones algorítmicas junto con valores obtenidos empíricamente para calcular cosas como Training Effect, EPOC, etc.
Voté para cerrar esto, ya que probablemente obtendrá una respuesta mucho más rápida en el sitio cs cs.stackexchange.com/questions/tagged/neural-networks
@ChrisS Esta no es una razón para cerrar una pregunta. Si el OP quiere que se mueva la pregunta, debe ser su decisión. No hay nada de malo en mantener la pregunta aquí.
@Informaficker se vota en lugar de su decisión
@ChrisS En este caso, debería ser su decisión ya que la pregunta es sobre el tema en ambos sitios. Que una pregunta pueda recibir mejores respuestas en otro sitio no debe ser motivo para migrarla allí.
@Informaficker No me importa de ninguna manera, pero el operador puede tener más posibilidades de obtener una respuesta en CS
Publiqué la pregunta aquí porque estoy interesado en un algoritmo que pueda ejecutar con mis propios datos de recursos humanos. El NN no es más que una caja negra que da un resultado más o menos no verificable y tal vez inestable después de entrenar con un gran conjunto de datos. Como no tengo acceso a este conjunto de datos de entrenamiento, comprender el NN no es muy útil para mí. Estoy más interesado en el modelo fisiológico + algoritmo utilizable que depende solo de unos pocos coeficientes. También es más fácil comprender las limitaciones de dicho modelo.
Encontré este documento: ¿Se puede usar HRV para evaluar la carga de entrenamiento en carga constante? ( link.springer.com/content/pdf/10.1007%2Fs00421-009-1240-1 ) una evaluación objetiva de TL en condiciones de soldadura. La primera recuperación de 2 minutos parece brindar suficiente información sobre la recuperación de HRV para evaluar TL". Usan no usan redes neuronales. Pero la transformada de Fourier a corto plazo con el software Matlab con datos del ordenador de muñeca Suunto t6.
relacionado: [Cómo calcular las calorías quemadas mientras corres](Cómo calcular las calorías quemadas mientras corres)

Respuestas (2)

Acabo de empezar a investigar esto, ya que es la pregunta más votada y sin respuesta de Fitness.SE.

Me encontré con dos artículos:

  1. Hacia la monitorización del VO2: Validación de un algoritmo basado en la frecuencia cardíaca
  2. VO2 instantáneo desde un dispositivo portátil

Ambos parecen apuntar a tener un algoritmo real en lugar de una red neuronal para calcular el VO2 a partir de la frecuencia cardíaca. Desafortunadamente, ambos están detrás de paywalls. Afortunadamente, creo que puedo acceder al primero (IEEE) a través de mi universidad. Tendré que informar en otro momento.


Hacia la monitorización del VO2: Validación de un algoritmo basado en la frecuencia cardíaca

En 2005, Firstbeat Technologies propuso una estimación de VO2 basada en los intervalos RR en lugar de la FC (5). Estudios más recientes continuaron buscando nuevas mejoras (6), pero la pregunta sobre cómo estimar con precisión el VO2 en función de la FC y evitar la calibración de laboratorio individual sigue abierta. En este artículo, proponemos un nuevo algoritmo para la estimación del VO2 durante una sesión de entrenamiento de marcha/carrera.

Fitness.SE no es compatible con MathJax, por lo que esto será complicado, pero el artículo trata sobre el cálculo del VO2 en tres pasos no simples. Primero es que estima tu VO2max a través de la fórmula:

VO2máx = 56,363 + 1,921*NPAC - 0,831*Edad - 0,754*IMC + 10,978*Sexo;
donde NPAC significa Clase de actividad física de la NASA, el IMC está en kg/m^2, sexo = 0 si es mujer, 1 si es hombre.

La ejecución comienza tan pronto como el clasificador de actividad detecta una actividad de caminar o correr. El algoritmo central está estructurado como una máquina de estado. En cada estado, se proporciona una estimación de la ingesta de oxígeno normalizada pVO2=VO2/VO2max a partir de la frecuencia cardíaca normalizada pHR=FC/FCmax. Más precisamente, en el momento i, la transformación

pVO2(i) = f_k(pHR(i))

se aplica, donde f_k es uno de los dos modelos siguientes. El primero usa la fórmula mejorada de Saalasti (2) y el segundo (llamado Aceleración) es una nueva regresión polinomial calculada usando el conjunto de datos de entrenamiento durante los períodos de aumento de la frecuencia cardíaca.

Este nuevo algoritmo es el que propone el artículo. El algoritmo Saalasti original se basa en la red neuronal. El documento de Saalasti en cuestión se menciona a continuación.

En el último paso, se estima el VO2 multiplicando el pVO2 resultante por el VO2max del sujeto:

VO2 = pVO2 * VO2máx


(2) S. Saalasti, "Redes neuronales para el análisis de series temporales de frecuencia cardíaca", 2003.

Si bien no tengo el algoritmo, tengo una biblioteca de tamaño bastante decente de archivos .sdf de ejercicios. A partir de lo cual, casi con certeza, alguien podría aplicar ingeniería inversa a algo muy cercano al modelo de gasto de energía. Tengo una fuerte sospecha de que es principalmente un suavizado exponencial.