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.
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.
Figura
1. Esquema descriptivo de la forma en que
se definen las bandas de cada clúster identificado por DBSCAN
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.
Figura
2. Esquema de flujo de la aplicación de
software eq.exe
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