ISSN 1514-3465
Algoritmo informático para regular el margen de
error en la estimación de la intensidad del ejercicio
Computer Algorithm to Regulate the Margin of Error in the Estimation of the Intensity of the Exercise
Algoritmo computacional para regular a margem de erro na estimativa da intensidade do exercício
Enrique Ricardo Pablo Buendia-Lozada
enrique.buendia@correo.buap.mx
Doctor en Ciencias de la investigación de la actividad física y el deporte
Profesor de tiempo completo
Facultad de Cultura Física
Benemérita Universidad Autónoma de Puebla (BUAP)
(México)
Recepción: 16/08/2022 - Aceptación: 28/12/2022
1ª Revisión: 26/10/2022 - 2ª Revisión: 26/12/2022
Documento accesible. Ley N° 26.653. WCAG 2.0
Esta obra está bajo licencia Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0) https://creativecommons.org/licenses/by-nc-nd/4.0/deed.es |
Cita sugerida
: Buendia-Lozada, E.R.P. (2023). Algoritmo informático para regular el margen de error en la estimación de la intensidad del ejercicio. Lecturas: Educación Física y Deportes, 27(296), 23-32. https://doi.org/10.46642/efd.v27i296.3644
Resumen
Desde 1938 existen problemas con los modelos usados para estimar la frecuencia cardiaca máxima, la aplicación de la respuesta de la frecuencia cardiaca al ejercicio se ha utilizado para calcular la intensidad a la que se realizará el entrenamiento, pero existe mucha variación entre las estimaciones y las mediciones reales, por lo que lo deseable comprende variaciones de más menos 3 latidos por minuto. Con lo mencionado anteriormente se tiene por objetivo la creación de un algoritmo informático como herramienta, que apoye en la construcción de modelos de regresión lineal con el mínimo de error posible en latidos por minuto. Dicha aplicación de software se publica en acceso abierto en GitHub con el nombre eq.exe.
Palabras clave:
Deporte. Software de código abierto. Planificación.
Abstract
Since 1938 there are problems with the models used to estimate maximum heart rate, the application of the heart rate response to exercise has been used to calculate the intensity at which training will be performed, but there is a lot of variation between the estimates and the results. real measurements, so that what is desirable includes variations of plus or minus 3 beats per minute. With the aforementioned, the objective is the creation of a computer algorithm as a tool, which supports the construction of linear regression models with the minimum possible error in beats per minute. Such a software application is published in open access on GitHub under the name eq.exe.
Keywords
: Sport. Open source software. Planning.
Resumo
Desde 1938 existem problemas com os modelos usados para estimar a frequência cardíaca máxima, a aplicação da resposta da frequência cardíaca ao exercício tem sido usada para calcular a intensidade em que o treinamento será realizado, mas há muita variação entre as estimativas e as resultados medições reais, de modo que o desejável inclua variações de mais ou menos 3 batimentos por minuto. Com o exposto, objetiva-se a criação de um algoritmo computacional como ferramenta, que suporte a construção de modelos de regressão linear com o menor erro possível em batimentos por minuto. Esse aplicativo de software é publicado em acesso aberto no GitHub sob o nome eq.exe.
Unitermos
: Esporte. Software livre. Planejamento.
Lecturas: Educación Física y Deportes, Vol. 27, Núm. 296, Ene. (2023)
Introducción
La variación de la frecuencia cardiaca individual es diferente para todos los individuos, aun haciendo la misma actividad; como también la frecuencia cardiaca de cada individuo es diferente para las mismas actividades; depende de muchos factores estas variaciones.
Para la ecuación FCmáx=220–edad sorprendentemente, no hay ningún registro publicado de investigación; el origen de la fórmula es una estimación superficial, basada en la observación en 1971. Sin embargo, la evidencia del estudio fisiológico de la predicción de la frecuencia cardíaca máxima se remonta al menos a 1938 a partir de la investigación de Sid Robinson. (Robergs, y Landwehr, 2002)
Quizás la aplicación más importante de la respuesta de la frecuencia cardíaca al ejercicio ha sido el uso de la frecuencia cardíaca submáxima, en combinación con la frecuencia cardíaca máxima y en reposo, para estimar el VO2máx; en muchos casos, se recomienda estimar la frecuencia cardíaca máxima utilizando la fórmula HRmax=220- edad; según esta aplicación, la respuesta de la frecuencia cardíaca al ejercicio se ha utilizado para calcular las intensidades del ejercicio, como un porcentaje de la frecuencia cardíaca máxima (%FCmáx) o un porcentaje de la frecuencia cardíaca de reserva (%FCR); basado en el método de Karvonen FC=FCreposo + ((intensidad prevista) * (FCmáx - FCreposo)). (Robergs, y Landwehr, 2002)
La FCmáx se utiliza para determinar, controlar y monitorear la intensidad del entrenamiento y así mismo conocer el límite de latidos por minuto (lpm) que puede llegar al corazón sin comprometer la salud (Pereira-Rodríguez et al., 2016). No considerar obtener el mejor modelo de comportamiento de la frecuencia cardiaca promueve, situaciones que podrían significar un problema para las personas que participen en actividades tales como: físicas, deportivas, recreativas, entre otras, tomando en cuenta a Reyes Rodríguez (2011).
Si es necesario estimar la frecuencia cardiaca máxima (FCmáx), se deben utilizar fórmulas específicas de la población (Robergs, y Landwehr, 2002), que concuerda con la misma idea en Pereira-Rodríguez et al. (2016). Sin embargo, la ecuación general más precisa es la de Inbar FCmáx=205.8-0.685(edad) para hombres y mujeres saludables; no obstante, tiene un error de Sxy=6,4 lpm, que sigue siendo inaceptablemente grande. (Robergs, y Landwehr, 2002)
Un error de predicción aceptable para la FCmáx para la aplicación a la estimación del consumo máximo de oxígeno (VO2máx) es £3 lpm. Así, para una persona con una FCmáx de 200 lpm, el error es de ±1,5 %. Si esta precisión no es posible, entonces no hay justificación para usar métodos de estimación de VO2max que se basen en fórmulas de predicción de FCmáx. (Robergs, y Landwehr, 2002)
Un buen test apoya a realizar buenos controles de prescripciones de ejercicio terapéutico para la recuperación de lesiones o mantenimiento de la condición física entre lesiones, tomando como referencia sus frecuencias cardiacas que marcan diferencias entre grupos de personas como menciona Cuesta Vargas (2006).
De acuerdo con lo mencionado anteriormente y considerando que lo que se haga debe ser accesible y de fácil manejo para todos los que lo requieran, el objetivo es la creación de un algoritmo informático como herramienta, que apoye en la construcción de modelos de regresión lineal con el mínimo de error posible en latidos por minuto.
Metodología
Se usó el lenguaje Lenguaje Rust (Rust Programming Language, 2022), porque es gratuito. Se pueden generar archivos ejecutables que se pueden rehusar bajo MSDOS de Windows, por cualquier computadora estándar. El software da como respuesta bloques de texto que inician con “___” o con “------->”, donde en general cada bloque contiene la información del modelo creado, el error, los residuos, los puntos x e y considerados para el análisis y el nombre de la gráfica en formato svg, que se guardan en la misma carpeta de trabajo en la que se encuentra el archivo ejecutable de la aplicación creada por esta investigación, a menos que se le indique otro lugar.
Se usó, el coeficiente de determinación (R-cuadrado) que es más informativo y veraz que SMAPE, y no tiene las limitaciones de interpretabilidad de MSE, RMSE, MAE y MAPE; por lo que, se sugieren el uso de R-cuadrado como métrica estándar para evaluar los análisis de regresión en cualquier dominio científico (Chicco et al., 2021); por lo que en la aplicación desarrollada de software se usa la función r_cuad de 2022 para tener un rango de resultados entre 0 y 1, y la que es usada por Chicco et al. (2021) que tiene un rango de resultados entre menos infinito y más 1.
Para identificar patrones en los datos se usó la aproximación por clústeres Density Based Spatial Clustering of Applications with Noise (DBSCAN) que es más adecuado para conjuntos de datos que tienen tamaños de clúster (o densidades) desproporcionados y cuyos datos se pueden separar de forma no lineal (Tierney, 2021). Hay dos parámetros clave para DBSCAN:
Épsilon (eps): La distancia que especifica los vecindarios. Se considera que dos puntos son vecinos si la distancia entre ellos es menor o igual a épsilon.
Mínimo de puntos (min_Points): Número mínimo de puntos de datos para definir un clúster.
Con base en estos dos parámetros, los puntos se clasifican como punto central, punto límite o valor atípico (Tierney, 2021):
Punto central: un punto es un punto central si hay al menos min_Points número de puntos (incluido el punto en sí) en su área circundante con radio eps.
Punto fronterizo: un punto es un punto fronterizo si es accesible desde un punto central y hay menos de min_Points número de puntos dentro de su área circundante.
Valor atípico: un punto es un valor atípico si no es un punto central y no se puede alcanzar desde ningún punto central.
Para el caso del primer uso de DBSCAN los parámetros min_Points (min_Sample) se propone se calcule como: el número de dimensiones del conjunto de datos más uno, en este caso las dimensiones son dos x e y, por lo que se usó min_Points=4 (Ester et al., 1996). El valor de épsilon se puede decidir a partir del gráfico de distancia K; el punto de máxima curvatura (codo) en este gráfico nos habla del valor de épsilon; si el valor de épsilon elegido es demasiado pequeño, se creará una mayor cantidad de grupos y se tomarán más puntos de datos como ruido. Mientras que, si se elige demasiado grande, varios grupos pequeños se fusionarán en un grupo grande y perderemos detalles (Sharma, 2020); la función de la aplicación de software desarrollada que lo implementa se llama calcular_kn_distancia, que describe los siguientes puntos:
Ordenar las mediciones por frecuencia cardiaca.
Calcular la distancia euclidiana (con la fórmula d=raíz((y2-y1)^2 + (x2-x1)^2)) entre puntos consecutivos de la frecuencia cardiaca, ya que el objetivo es encontrar el valor de épsilon que define la vecindad a considerar para formar los clústeres.
Ordenar las distancias obtenidas.
Obtener la pendiente entre dichas distancias consecutivas para detectar el cambio crítico, que detectará un épsilon optimo con el 1%, para la fórmula de la pendiente=(y2-y1)/(x2-x1), de acuerdo con Rahmah, y Sukaesih Sitanggang (2016).
Quitar las pendientes repetidas, y relacionar las distancias correspondientes a las pendientes que queden, reordenar la información.
Hacer épsilon igual a la distancia con pendiente mayor e igual que 1 (que define 45 grados de inclinación de la pendiente) de las frecuencias cardiacas.
Para el caso del segundo uso de DBSCAN (identificado en las respuestas de la aplicación de software con el prefijo B), el valor de min_Points=4 y épsilon=3 en DBSCAN por lo mencionado anteriormente por Robergs, y Landwehr (2002), así mismo para las bandas de separación de las mediciones se usó 6 lpm (ya que ± 3 define esta distancia) ya que, el principio de los mínimos cuadrados es disminuir las diferencias entre las estimaciones y los valores medidos (Ríos, y Toro, 2006); dichas bandas se crearon desde los datos originales y desde los clústeres definidos por DBSCAN en dos momentos diferentes, ver la Figura 1 que lo describe.
Fuente: Autor
Resultados
La aplicación de software se encuentra disponible en GitHub en https://github.com/buendiaenr1/model_lpm. En el sitio se encuentra la información del código fuente y el archivo ejecutable en MSDOS (eq.exe), así como un archivo ejemplo para su uso llamado fc.csv; la forma de uso desde MSDOS es teniendo todos los archivos eq.exe y fc.csv en la misma carpeta, escribir eq.exe < fc.csv > fc.txt y oprimir entrar.
La nomenclatura de las gráficas resultantes es:
DBSCAN_Cluster n.svg
donde: n representa el número de clúster definido por el algoritmo.
Banda_ n1 _ n2.svg
donde: n1 es el clúster de donde se sacó la banda n2 de información, con un rango de 6 lpm cada banda.
Puntos_fuera_por_DBSCAN.svg
representado por los puntos rojos fucsia, son los puntos que no son reconocidos para pertenecer a algún clúster.
Scatter.svg
gráfica de puntos de los datos en bruto originales.
Flujo de información para el análisis dentro de la aplicación de software se describe en la Figura 2.
Fuente: Autor
Discusión
La importancia de la frecuencia cardiaca en reposo remarcada por Ujhdiuh Vogel, Wolpert, y Wehling (2004) se ve nublada por no compartir una estandarización en sus mediciones, pero para el caso del deporte, pareciera que esa estandarización no necesariamente funcionaria, ya que se tendría que realizar en campo, tal vez en condiciones de competencia, entre otros factores que también se mencionan en el mismo documento.
Así como, la medida de la variabilidad de la frecuencia cardiaca (HRV) a menudo se considera un método no invasivo de evaluación para monitorear la adaptación individual al entrenamiento (Plews, Laursen, Stanley, Kilding, y Buchheit, 2013); implica como el mismo documento se menciona una supervisión día a día de la frecuencia cardiaca.
Además, muchos de los problemas que pueden causar sesgos o confusiones, dependen de la forma de recolección de las mediciones (la forma en que realizaron las mediciones, el error en las mediciones, la técnica de medición, el horario, entre otras muchas variables) que se recopilarán de manera sintética en el archivo CSV, que se usará para la creación de los modelos lineales.
Así mismo hay que considerar que los métodos de uso de los algoritmos de clustering en Magoev et al. (2018) no les sirvieron en su aplicación clínica, y en esta investigación en el segundo uso de DBSCAN, con el prefijo B, en la función f_dbscan2 del código fuente en Lenguaje Rusten https://github.com/buendiaenr1/model_lpm, con minimun samples (mínimo de puntos requeridos en un clúster) fijo en 4 y el valor de épsilon en 3 como ya se mencionó anteriormente, para los resultados de la aplicación con prefijo B.
Para complementar lo mencionado, es difícil usar machine learning para el caso de detectar enfermedades cardiacas como se menciona en Raman (2020).
Conclusiones
La aplicación de software eq.exe disponible en https://github.com/buendiaenr1/model_lpm sirve como herramienta de apoyo a la creación de modelos lineales, relacionando edad, frecuencia cardiaca y un identificador de la persona, datos que son leídos de un archivo csv donde se define la frecuencia cardiaca como “y”, “x” define la edad e “id” la identificación de la persona.
La aplicación de software considera frecuencias cardiacas separadas por clústeres por el algoritmo DBSCAN de aprendizaje automático de inteligencia artificial para identificar patrones de comportamiento. Cada clúster es separado en bandas para poder lograr el objetivo de crear el modelo con 3 lpm de diferencia entre las estimaciones y las mediciones reales, esto es observable vía los residuales. Los residuales indican los latidos por minuto (lpm) de diferencia entre la estimación del modelo propuesto y las mediciones reales.
El criterio de información Akaike (AIC) y criterio de información Bayesiano (BIC) solo funcionarían si se crean diferentes modelos con las mismas personas, con no mucho tiempo de separación entre las mediciones (solo el necesario para la recuperación, esto es sumamente importante de considerar y debe tener suficiente sustento para ser independiente de las situaciones que ha tenido el participante en el día); este tiempo influye mucho en los resultados de las mediciones. Los menores valores de AIC y BIC serían los modelos más adecuados con las situaciones mencionadas anteriormente. El mínimo valor en AIC y BIC no indica calidad del modelo. Las ecuaciones usadas en esta investigación para AIC y BIC son de Yang (2019).
El error RSME es bueno para el caso de estadística, pero puede no haber relación con el objetivo de mínima diferencia entre los residuales y los valores reales medidos.
Si tenemos la información de edades 19 y 25 por ejemplo, pero ningún valor de las edades intermedias, el modelo de regresión lineal se puede crear y se puede mostrar su gráfico, incluso con el mínimo de error, pero depende del usuario detectar que eso es un problema, porque puede suponer incluir las edades intermedias en dicho modelo para las estimaciones y no estar en lo correcto.
Observar que pueden existir valores NAN en las respuestas, eso implica errores en el uso de la información y por lo tanto no es correcto nada de lo que se muestre en dicho apartado.
Los puntos no considerados en los clústeres resultado de la aplicación del algoritmo DBSCAN deben ser analizados con mucho cuidado, en esta investigación solo se tomaron como valores extremos.
La detección de mediciones atípicas ayuda al igual que como se menciona en Magoev et al. (2018) a tener cuidado de manera temprana de los cambios en las mediciones de frecuencia cardiaca, las gráficas de puntos_fuera_por_DBSCAN.svg ayudan a identificarlos, así como los análisis relacionados a estas en el archivo fc.txt si se usa el comando MSDOS, cargo run < fc.csv > fc.txt para el código fuente en RUST teniendo instalado el lenguaje de acuerdo con Rust Programming Language (2022), o se usa eq.exe < fc.csv > fc.txt, donde en ambos casos > fc.txt define el redireccionamiento de la salida estándar. Así mismo estos valores atípicos no se toman en cuenta para la creación de los modelos de comportamiento de la frecuencia cardiaca.
El archivo fc.csv debe tener tres columnas la primera que define “y” es la frecuencia cardiaca, “x” define la edad e “id” define el identificador de la persona medida.
El archivo fc.txt es archivo que se crea como resultado de usar el comando MSDOS de redireccionar la salida de la aplicación de software.
Los archivos con extensión svg son gráficas resultados de los análisis y muestran la gráfica del modelo construido, y los valores no considerados para los análisis en color magenta. Las gráficas apoyan a decidir sobre los muchos detalles que se deben de tomar en cuenta, sobre el uso o no del modelo (ecuación o fórmula) resultante. Apoyándose para esto en la información de texto generada por la aplicación de software, los bloques de información inician con “___” o con “------->” y contienen los valores de x y de y sobre los que se trabajó el análisis.
La validez de un instrumento se puede verificar con el uso del coeficiente de determinación r cuadrada como se demuestra en Molina-Carmona et al. (2018) (ver Figura 2).
Referencias
Chicco, D., Warrens, M.J., y Jurman, G. (2021). The coefficient of determination R-squared is more informative than SMAPE, MAE, MAPE, MSE and RMSE in regression analysis evaluation. Peer J Computer Science, 7, 1–24. https://doi.org/10.7717/PEERJ-CS.623/SUPP-1
Cuesta Vargas, A.I. (2006). Valoración y prescripción de ejercicio aeróbico en hidroterapia. Revista Iberoamericana de Fisioterapia y Kinesiología, 9(1), 28–35. https://doi.org/10.1016/S1138-6045(06)73112-4
Ester, M., Kriegel, H.P., Sander, J., y Xu, X. (1996). A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise. https://www.aaai.org/
Magoev, K., Kirill Krzhizhanovskaya, V., y Kovalchuk, S.V. (2018). Application of clustering methods for detecting critical acute coronary syndrome patients. 7th International Young Scientist Conference on Computational Science, 136, 370–379. https://doi.org/https://doi.org/10.1016/j.procs.2018.08.277
Molina-Carmona, I., Gómez-Carmona, C., Bastida-Castillo, A., y Pino-Ortega, J. (2018). Validez del dispositivo inercial WIMU PRO para el registro de la frecuencia cardiaca en un test de campo. SPORT TK-Revista EuroAmericana de Ciencias del Deporte, 7(1), 81–86. https://doi.org/10.6018/321921
Newcastle University (2022). Numeracy, Maths and Statistics - Academic Skills Kit. https://www.ncl.ac.uk/webtemplate/ask-assets/external/maths-resources/statistics/regression-and-correlation/coefficient-of-determination-r-squared.html
Pereira-Rodríguez, J., Boada-Morales, L., Jaimes-Martin, T., Melo-Ascanio, J., Niño-Serrato, D., y Rincón-González, G. (2016, November 7). Predictive equations for maximum heart rate. Myth or reality. Rev. Mex. Cardiol., 27(4). http://www.scielo.org.mx/article_plus.php?pid=S0188-21982016000400156&tlng=en&lng=es
Plews, D., Laursen, P., Stanley, J., Kilding, A.E., y Buchheit, M. (13 de Julio de 2013). Training Adaptation and Heart Rate Variability in Elite Endurance Athletes: Opening the Door to Effective Monitoring. Sports Medicine, 43, 773–781. http://dx.doi.org/10.1007/s40279-013-0071-8
Rahmah, N., y Sukaesih Sitanggang, I. (2016). Determination of Optimal Epsilon (Eps) Value on DBSCAN Algorithm to Clustering Data on Peatland Hotspots in Sumatra. IOP Conf. Ser.: Earth Environ. Sci, 31. https://doi.org/10.1088/1755-1315/31/1/012012
Raman, V. (2020, November). Predicting Heart Disease Using Machine Learning? Don’t! - KDnuggets. I Believe the “Predicting Heart Disease Using Machine Learning” Is a Classic Example of How Not to Apply Machine Learning to a Problem, Especially Where a Lot of Domain Experience Is Required. https://www.kdnuggets.com/2020/11/predicting-heart-disease-machine-learning.html
Reyes Rodríguez, A.D. (2011). View of Exercise, Health and Assumptions in Calculating the Estimated Maximum Heart Rate. Revista Electrónica Educare, 15(1), 79–90. https://doi.org/http://doi.org/10.15359/ree.15-1.5
Ríos, L.C., y Toro, N. (2006). Estimación de parámetros en modelos arma por el criterio de mínimos cuadrados. Scientia et Technica, XII(31), 133–137. https://www.redalyc.org/pdf/849/84911639024.pdf
Robergs, R.A., y Landwehr, R. (2002). JEPonline - Journal of Exercise Physiology online Commentary The surprising history of the “HRmax=220-age” EQUATION. An International Electronic Journal, 5.
Rust Programming Language
(2022). https://www.rust-lang.org/tools/install
Sharma, A. (2020, September 8). How Does DBSCAN Clustering Work? | DBSCAN Clustering for ML. How to Master the Popular DBSCAN Clustering Algorithm for Machine Learning. https://www.analyticsvidhya.com/blog/2020/09/how-dbscan-clustering-works/
Tierney, B. (2021, October 29). DBScan Clustering in Python. Oralytics. https://oralytics.com/2021/10/18/dbscan-clustering-in-python/
UjhdiuhVogel, C.U., Wolpert, C., y Wehling, M. (2004). How to measure heart rate? European Journal of Clinical Pharmacology, 60, 461-466. https://doi.org/10.1007/s00228-004-0795-3
Yang, X.S. (2019). Data fitting and regression. In Introduction to Algorithms for Data Mining and Machine Learning (pp. 67–90). Academic Press. https://doi.org/10.1016/B978-0-12-817216-2.00011-9
Lecturas: Educación Física y Deportes, Vol. 27, Núm. 296, Ene. (2023)