Adding term-paper
This commit is contained in:
parent
e48ce59d27
commit
f9153ebe3e
BIN
term-paper/Korrelationsmatrix_features_ml.png
Normal file
BIN
term-paper/Korrelationsmatrix_features_ml.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 54 KiB |
BIN
term-paper/actual_residuals_vs_predicted_values.png
Normal file
BIN
term-paper/actual_residuals_vs_predicted_values.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 36 KiB |
BIN
term-paper/distribution_residuals.png
Normal file
BIN
term-paper/distribution_residuals.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
218
term-paper/documentation.tex
Normal file
218
term-paper/documentation.tex
Normal file
@ -0,0 +1,218 @@
|
||||
% !TEX encoding = UTF-8 Unicode
|
||||
% !!! THIS FILE IS UTF-8 !!!
|
||||
% !!! MAKE SURE YOUR LaTeX Editor IS CONFIGURED TO USE UTF-8 !!!
|
||||
|
||||
% Computational and Data Science Course Paper LaTeX Template
|
||||
% University of Applied Sciences of the Grisons
|
||||
% ---------------------------------------------------------------
|
||||
% Author: Corsin Capol corsin.capol@fhgr.ch
|
||||
% ---------------------------------------------------------------
|
||||
|
||||
%-------------------------
|
||||
% header
|
||||
% ------------------------
|
||||
\documentclass[a4paper,12pt]{scrartcl}
|
||||
\linespread{1.25}
|
||||
|
||||
%-------------------------
|
||||
% packages and config
|
||||
% ------------------------
|
||||
\input{packages_and_configuration}
|
||||
|
||||
%-------------------------
|
||||
% document begin
|
||||
%-------------------------
|
||||
\begin{document}
|
||||
|
||||
%-------------------------
|
||||
% title
|
||||
%-------------------------
|
||||
\thispagestyle{empty}
|
||||
\input{title}
|
||||
|
||||
\newpage
|
||||
\pagenumbering{Roman}
|
||||
|
||||
\tableofcontents
|
||||
\listoffigures
|
||||
\listoftables
|
||||
|
||||
\newpage
|
||||
|
||||
\pagenumbering{arabic}
|
||||
\section{Einleitung}
|
||||
Aufgrund des zuletzt verfassten Berichts (\cite{toth_zusammenhang_2025}), der das Ergebnis zeigte, dass keine weiterführenden Erkenntnisse zur Abhängigkeit zwischen spätem Training und schlechtem Schlaf gewonnen werden konnten, konnte keine weiterführende Studie aufgebaut werden.
|
||||
Aus diesem Grund wird in dieser Arbeit die Vorhersage des Kalorienverbrauchs anhand von Trainingsdaten mit Machine-Learning-Algorithmen untersucht.
|
||||
|
||||
\section{Beschreibung zum Datensatz}
|
||||
Damit ein möglichst optimales Ergebnis eines Machine-Learning-Algorithmus erzielt werden kann, gilt der Grundsatz: Je grösser das Datengerüst mit optimalen und relevanten Daten, desto besser ist das trainierte Modell \cite[55]{geron_praxiseinstieg_ml_2023}.
|
||||
Daher wurden alle vorhandenen Aktivitäten bei Garmin exportiert und somit das bestehende Datenset erweitert.
|
||||
Insgesamt beinhaltet der Datensatz 500 Aktivitäten mit unterschiedlichen Sportarten, darunter Laufen, Radfahren, Mixed Martial Arts, Gehen, Wandern, Schwimmen, Krafttraining, Skifahren, Seilspringen und Boxen.
|
||||
|
||||
Die Garmin-Uhr zeichnet über 20 Merkmale (Features) einer Aktivität auf.
|
||||
Für diese Analyse wurden die relevanten Features Aktivitätstyp, Distanz (km), Kalorienverbrauch, Trainingsdauer, Herzfrequenz und Höhenmeter berücksichtigt.
|
||||
|
||||
Für das überwachte Lernen mit Machine-Learning-Algorithmen wird der von der Garmin-Uhr berechnete Kalorienverbrauch als Zielwert genutzt.
|
||||
Garmin berechnet den Kalorienverbrauch primär auf Basis der Herzfrequenzdaten in Kombination mit Benutzerdaten wie Alter, Geschlecht und Gewicht \cite{WasWirdZur}.
|
||||
|
||||
\section{Stand der Forschung}
|
||||
Die zuvor aufgelisteten Merkmale wurden auf basieren aus wissenschaftlichen Erkentnissen zum Kalorienverbrauch.
|
||||
Die Herzfrequenz ist ein wichtiger Indikator der Anstrengung und verbessert die Präzision der Berechnung des Energieverbrauchs \cite[2]{brage_estimation_2015}.
|
||||
Der Aktivitätstyp wird vorallem für die Unterscheidung der Aktivitäten benötigt.
|
||||
Je nach Sportart, körperliche Veranlagung und Training kann der Kalorienverbrauch dahingehend variieren.
|
||||
Des Weiteren wurde auch die Distanz in Kombination mit der Trainingsdauer berücksichtigt.
|
||||
%Abhängig von der Tagesverfassung kann die zurückgelegte Distanz mit der Trainingsdauer variieren - Beispiele dafür sind eine bessere Tagesform, Wetterabhängigkeiten (\cite{edwards_evidence_2025}). Auch die Anzahl zurückgelegten Höhenmeter spielen eine Rolle für die optimale Berechnung des Kalorienbedarfs (\cite{noauthor_using_2015}).
|
||||
|
||||
%\subsection{Verbesserungspotenzial von Wearables und mögliche Ungenauigkeit von Aktivitäten}
|
||||
%Die Studie (\cite{odriscoll_how_2020}) belegt, dass auf Basis von einer Meta-Analyse die Aufzeichnungsgeräte der Aktivität in der Genauigkeit auf Basis von unterschiedlichen Faktoren abweichen.
|
||||
|
||||
\section{Methodik}
|
||||
Für die Datenanalyse wurde ein Jupyter Notebook\footnote{\url{https://gitea.fhgr.ch/hollbacdario/cds-1011-health-data-machine-learning}} in Python verwendet.
|
||||
Die Rohdaten wurden aus der Garmin Webapplikation im CSV-Format exportiert und anschliessend in Python mit dem Modul \texttt{pandas} eingelesen.
|
||||
Seltene Aktivitäten wurden entfernt, gleichartige zusammengelegt und die Daten für die Analyse aufbereitet.
|
||||
Für das Feature Höhenmeter weisen mehr als 200 Aktivitäten keine Daten auf.
|
||||
Da das Löschen dieser Aktivitäten zu einem sehr kleinen Datensatz führen würde, wurden die fehlenden Werte durch 0 ersetzt.
|
||||
Dies ist fachlich begründet, da fehlende Höheninformationen häufig auf Indoor-Aktivitäten (wie Boxen, Schwimmen oder Krafttraining) hindeuten, bei denen keine Höhenmeter überwunden werden.
|
||||
Für die Berücksichtigung des Aktivitätstyps kam der OneHotEncoder zum Einsatz.
|
||||
|
||||
Der Datensatz umfasst nach dieser Bereinigung 478 aufgezeichnete Aktivitäten.
|
||||
|
||||
Mithilfe des Python-Moduls \texttt{seaborn} wurde anschliessend eine Pearson Korrelationsmatrix für alle aufgezeichneten Aktivitäten erstellt.
|
||||
|
||||
Basierend auf den bereinigten Daten wurden verschiedene Machine-Learning-Algorithmen mit dem Modul \texttt{scikit-learn} trainiert und ausgewertet. Folgende Regressions-Algorithmen wurden für die Analyse verglichen: Linear Regression, Decision Tree, Gradient Boosting und XGBoost.
|
||||
Mit Hilfe von Grid Search wurden die besten Hyperparameter für ein bestmögliches Ergebnis gesucht.
|
||||
|
||||
%Für den vergleich der Algorithmen werden folgende Metriken verwendet:
|
||||
|
||||
% \begin{enumerate}
|
||||
% \item Der $R^2$-Score (Bestimmtheitsmass) wird verwendet, um die Güte der Anpassung des Modells an die Daten zu bewerten.
|
||||
% %\[R^2 = 1 - \frac{\sum_{i=1}^{n} (y_i - \hat{y}_i)^2}{\sum_{i=1}^{n} (y_i - \bar{y})^2}\]
|
||||
% \item Der Mean Absolute Error (MAE) gibt die durchschnittliche absolute Abweichung der Vorhersagen von den tatsächlichen Werten an.
|
||||
% %\[\text{MAE} = \frac{1}{n} \sum_{i=1}^{n} \left| y_i - \hat{y}_i \right|\]
|
||||
% \item Der Mean Squared Error (MSE) gewichtet grosse Abweichungen stärker und eignet sich daher zur Identifikation von Ausreissern.
|
||||
% %\[\text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2\]
|
||||
% \item Der Root Mean Squared Error (RMSE) stellt den Fehler in der ursprünglichen Einheit der Zielvariablen dar und erleichtert so die Interpretation.
|
||||
% %\[\text{RMSE} = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2}\]
|
||||
% \end{enumerate}
|
||||
|
||||
\section{Resultate}
|
||||
Die Analyse der Korrelationsmatrix aller Aktivitäten (siehe \cref{fig:Korrelationsmatrix_features_ml}) zeigt signifikante Abhängigkeiten zwischen den Features Kalorienverbrauch und Aktivitätsdauer.
|
||||
Dies bedeutet: Je länger eine Aktivität dauert, desto mehr Kalorien werden verbraucht. Auch die Korrelation zwischen Höhenmetern und Kalorienverbrauch ist hoch - in anderen Worten: Mehr Höhenmeter bedeuten einen grösseren Energieaufwand und meist eine längere Trainingseinheit.
|
||||
Die Korrelation zur Distanz fällt überraschenderweise schwach aus. Die Herzfrequenz ist zwar ein wichtiger Indikator, für sich allein jedoch nicht aussagekräftig. Es wird vermutet, dass Garmin die Herzfrequenz über die gesamte Trainingsdauer integriert und somit präzisere Ergebnisse erzielen kann.
|
||||
|
||||
%Es wurden insgesamt drei verschiedene Machine-Learning-Modelle evaluiert:
|
||||
%Lineare Regression, Decision Tree Regression (mit und ohne Grid-Search) sowie Gradient Boosting Regression (mit und ohne Grid-Search).
|
||||
Die Performance der unterschiedlichen Algorithmen ist in der \cref{tab:model_performance} \nameref{tab:model_performance} ersichtlich.
|
||||
Der Algorithmus Gradient Boosting ergab die besten Ergebnisse.
|
||||
Der Versuch, die Performance mittels XGBoost (Xtreme Gradient Boosting) weiter zu optimieren, blieb jedoch erfolglos.
|
||||
|
||||
Bei allen Modellen wurde ein hoher MSE-Wert festgestellt, weshalb eine Outlier-Analyse für das leistungsstärkste Modell (Gradient Boosting) durchgeführt wurde (siehe \cref{fig:rmse_vergleich} \nameref{fig:rmse_vergleich}).
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=0.5\linewidth]{rmse_comparison.png}
|
||||
\caption{MSE-Vergleich}
|
||||
\label{fig:rmse_vergleich}
|
||||
\end{figure}
|
||||
|
||||
Dabei ergaben sich folgende Erkenntnisse: Der Plot der Residuals vs. Predicted Values (siehe \cref{fig:residuals_vs_predicted_values} \nameref{fig:residuals_vs_predicted_values}) zeigt ein um den Nullpunkt gestreutes Muster.
|
||||
Allerdings liegen diverse Punkte weit entfernt von der Nulllinie, was auf signifikante Ausreisser hindeutet.
|
||||
Die Verteilung der Residuals ist glockenförmig, weist jedoch lange Ausläufer auf.
|
||||
Dies bedeutet, dass viele Vorhersagen präzise sind, aber auch grosse Fehler in beide Richtungen auftreten (siehe \cref{fig:distribution_residuals} \nameref{fig:distribution_residuals}).
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\begin{subfigure}[t]{0.32\textwidth}
|
||||
\centering
|
||||
\includegraphics[width=1\linewidth]{residuals_vs_predicted_values.png}
|
||||
\caption{Residuals vs. vorhergesagte Werte}
|
||||
\label{fig:residuals_vs_predicted_values}
|
||||
\end{subfigure}
|
||||
\hfill
|
||||
\begin{subfigure}[t]{0.32\textwidth}
|
||||
\centering
|
||||
\includegraphics[width=1\linewidth]{distribution_residuals.png}
|
||||
\caption{Verteilung der Residuals}
|
||||
\label{fig:distribution_residuals}
|
||||
\end{subfigure}
|
||||
\hfill
|
||||
\begin{subfigure}[t]{0.32\textwidth}
|
||||
\centering
|
||||
\includegraphics[width=1\linewidth]{actual_residuals_vs_predicted_values.png}
|
||||
\caption{Residual-Analyse}
|
||||
\label{fig:actual_residuals_vs_predicted_values}
|
||||
\end{subfigure}
|
||||
\caption{Residuals}
|
||||
\end{figure}
|
||||
|
||||
Die Analyse der tatsächlichen vs. vorhergesagten Werte (siehe \cref{fig:actual_residuals_vs_predicted_values} \nameref{fig:actual_residuals_vs_predicted_values}) zeigt einen starken linearen Zusammenhang.
|
||||
Vor allem bei hohem Kalorienverbrauch treten jedoch grosse Abweichungen auf.
|
||||
Aufgrund der grossen Fehler wurden anschliessend die 10 grössten Ausreisser weitergehend untersucht.
|
||||
Da das Gradient-Boosting-Modell aufgrund exotischer Ausreisser (extreme Aktivitäten) eine starke Verzerrung aufwies, wurden diese aus dem Datensatz entfernt und das Modell erneut trainiert.
|
||||
Die Bereinigung der Ausreisser führte bei mehreren Modellen, insbesondere bei XGBoost und Decision Trees, zu deutlich besseren Ergebnissen und einer wesentlich höheren Vorhersagequalität.
|
||||
%Robuste Modelle wie Gradient Boosting zeigten hingegen kaum Verbesserungen, da sie bereits mit den ursprünglichen Daten sehr stabile Ergebnisse lieferten.
|
||||
%Insgesamt bestätigt die Analyse, dass die Behandlung von Ausreissern die Generalisierbarkeit und Verlässlichkeit vieler Modelle erheblich steigert, während Gradient Boosting weiterhin die beste Gesamtperformance erzielt.
|
||||
|
||||
% \begin{figure}[H]
|
||||
% \centering
|
||||
% \includegraphics[width=0.2\linewidth]{actual_residuals_vs_predicted_values.png}
|
||||
% \caption{Residual-Analyse aktuelle vs. vorhergesagte Werte}
|
||||
% \label{fig:actual_residuals_vs_predicted_values}
|
||||
% \end{figure}
|
||||
|
||||
% HIER beginnt direkt dein Text, der links neben dem Bild stehen soll:
|
||||
%Die Analyse der tatsächlichen vs. vorhergesagten Werte zeigt einen starken linearen Zusammenhang.
|
||||
|
||||
\begin{table}[H]
|
||||
\centering
|
||||
\begin{tabular}{lrrrr}
|
||||
\hline
|
||||
\textbf{Modell} & \textbf{MSE} & \boldmath{$R^2$} & \textbf{MAE} & \textbf{RMSE} \\
|
||||
\hline
|
||||
Gradient Boosting & 8464.809061 & 0.956683 & 43.902078 & 92.004397 \\
|
||||
XGBoost (Cleaned) & 8524.848633 & 0.955494 & 46.737837 & 92.330107 \\
|
||||
Gradient Boosting (Cleaned) & 8556.449590 & 0.955329 & 47.982366 & 92.501079 \\
|
||||
Tuned Gradient Boosting & 8965.069257 & 0.954123 & 44.806858 & 94.684050 \\
|
||||
Tuned XGBoost & 11515.125000 & 0.941074 & 47.307045 & 107.308550 \\
|
||||
Linear Regression (Cleaned) & 14479.907618 & 0.924404 & 74.758745 & 120.332488 \\
|
||||
Linear Regression & 14922.827346 & 0.923636 & 75.119990 & 122.159025 \\
|
||||
Tuned Gradient Boosting (Cleaned) & 15201.654713 & 0.920636 & 54.665726 & 123.294991 \\
|
||||
Tuned Decision Tree (Cleaned) & 15765.286458 & 0.917694 & 61.218750 & 125.559892 \\
|
||||
Tuned Decision Tree & 27388.197917 & 0.859847 & 69.916667 & 165.493800 \\
|
||||
Decision Tree (Cleaned) & 33776.677083 & 0.823661 & 84.322917 & 183.784322 \\
|
||||
Decision Tree & 342554.958333 & -0.752949 & 128.333333 & 585.281948 \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\caption{Modellvergleich der Regressionsmodellen}
|
||||
\label{tab:model_performance}
|
||||
\end{table}
|
||||
|
||||
\section{Diskussion}
|
||||
Die Bearbeitung des Themengebietes zeigt, dass Gradient Boosting im Vergleich zu den anderen Modellen besonders robust gegenüber Ausreissern ist und bereits mit den ursprünglichen Daten eine sehr hohe Vorhersagegenauigkeit erzielt.
|
||||
Trotz Optimierung durch Hyperparameter-Tuning konnten einige Modelle keine besseren Werte erzielen.
|
||||
XGBoost und Decision Trees profitieren hingegen stark von der Bereinigung der Ausreisser, was auf ihre höhere Sensitivität gegenüber extremen Werten hinweist.
|
||||
Hervorzuheben ist die Residualanalyse, welche trotz guter Gesamtmetriken einzelne Aktivitäten mit besonders hohem Kalorienverbrauch identifizierte, bei denen grosse Abweichungen festgestellt wurden.
|
||||
Dieser Befund unterstreicht die Bedeutung einer gezielten Ausreisserbehandlung für die Modellstabilität und Generalisierbarkeit.
|
||||
Für eine verlässliche Vorhersage werden eine sorgfältige Datenaufbereitung sowie die Identifikation und Behandlung von Ausreissern als essenziell erachtet.
|
||||
|
||||
%-------------------------
|
||||
% literature
|
||||
%-------------------------
|
||||
\newpage
|
||||
\renewcommand{\refname}{Literaturverzeichnis} % For article
|
||||
\bibliography{library}
|
||||
|
||||
%-------------------------
|
||||
% appendix
|
||||
%-------------------------
|
||||
|
||||
\newpage
|
||||
\section{Anhang}
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=0.9\linewidth]{Korrelationsmatrix_features_ml.png}
|
||||
\caption{Korrelationsmatrix Features}
|
||||
\label{fig:Korrelationsmatrix_features_ml}
|
||||
\end{figure}
|
||||
|
||||
\end{document}
|
||||
110
term-paper/library.bib
Normal file
110
term-paper/library.bib
Normal file
@ -0,0 +1,110 @@
|
||||
|
||||
@misc{toth_zusammenhang_2025,
|
||||
title = {Zusammenhang zwischen Trainingszeitpunkt und Schlafqualität},
|
||||
author = {Toth, Yannick and Hollbach, Dario and Hizlan, Arif},
|
||||
date = {2025-10-26},
|
||||
year = {2025}
|
||||
}
|
||||
|
||||
@article{odriscoll_how_2020,
|
||||
title = {How well do activity monitors estimate energy expenditure? A systematic review and meta-analysis of the validity of current technologies},
|
||||
year = {2020},
|
||||
volume = {54},
|
||||
issn = {1473-0480},
|
||||
doi = {10.1136/bjsports-2018-099643},
|
||||
shorttitle = {How well do activity monitors estimate energy expenditure?},
|
||||
abstract = {{OBJECTIVE}: To determine the accuracy of wrist and arm-worn activity monitors' estimates of energy expenditure ({EE}).
|
||||
{DATA} {SOURCES}: {SportDISCUS} ({EBSCOHost}), {PubMed}, {MEDLINE} (Ovid), {PsycINFO} ({EBSCOHost}), Embase (Ovid) and {CINAHL} ({EBSCOHost}).
|
||||
{DESIGN}: A random effects meta-analysis was performed to evaluate the difference in {EE} estimates between activity monitors and criterion measurements. Moderator analyses were conducted to determine the benefit of additional sensors and to compare the accuracy of devices used for research purposes with commercially available devices.
|
||||
{ELIGIBILITY} {CRITERIA}: We included studies validating {EE} estimates from wrist-worn or arm-worn activity monitors against criterion measures (indirect calorimetry, room calorimeters and doubly labelled water) in healthy adult populations.
|
||||
{RESULTS}: 60 studies (104 effect sizes) were included in the meta-analysis. Devices showed variable accuracy depending on activity type. Large and significant heterogeneity was observed for many devices (I2 {\textgreater}75\%). Combining heart rate or heat sensing technology with accelerometry decreased the error in most activity types. Research-grade devices were statistically more accurate for comparisons of total {EE} but less accurate than commercial devices during ambulatory activity and sedentary tasks.
|
||||
{CONCLUSIONS}: {EE} estimates from wrist and arm-worn devices differ in accuracy depending on activity type. Addition of physiological sensors improves estimates of {EE}, and research-grade devices are superior for total {EE}. These data highlight the need to improve estimates of {EE} from wearable devices, and one way this can be achieved is with the addition of heart rate to accelerometry.
|
||||
{PROSPEROREGISTRATION} {NUMBER}: {CRD}42018085016.},
|
||||
pages = {332--340},
|
||||
number = {6},
|
||||
journaltitle = {British Journal of Sports Medicine},
|
||||
shortjournal = {Br J Sports Med},
|
||||
author = {O'Driscoll, Ruairi and Turicchi, Jake and Beaulieu, Kristine and Scott, Sarah and Matu, Jamie and Deighton, Kevin and Finlayson, Graham and Stubbs, James},
|
||||
date = {2020-03},
|
||||
pmid = {30194221},
|
||||
keywords = {accelerometer, Accelerometry, Activities of Daily Living, Arm, Bicycling, energy expenditure, Energy Metabolism, Equipment Design, Fitness Trackers, Heart Rate, Humans, meta-analysis, Running, Sedentary Behavior, Stair Climbing, validation, Walking, wrist, Wrist},
|
||||
}
|
||||
|
||||
@article{brage_estimation_2015,
|
||||
title = {Estimation of Free-Living Energy Expenditure by Heart Rate and Movement Sensing: A Doubly-Labelled Water Study},
|
||||
year = {2015},
|
||||
volume = {10},
|
||||
issn = {1932-6203},
|
||||
url = {https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0137206},
|
||||
doi = {10.1371/journal.pone.0137206},
|
||||
shorttitle = {Estimation of Free-Living Energy Expenditure by Heart Rate and Movement Sensing},
|
||||
abstract = {Background Accurate assessment of energy expenditure ({EE}) is important for the study of energy balance and metabolic disorders. Combined heart rate ({HR}) and acceleration ({ACC}) sensing may increase precision of physical activity {EE} ({PAEE}) which is the most variable component of total {EE} ({TEE}). Objective To evaluate estimates of {EE} using {ACC} and {HR} data with or without individual calibration against doubly-labelled water ({DLW}) estimates of {EE}. Design 23 women and 23 men (22–55 yrs, 48–104 kg, 8–46\%body fat) underwent 45-min resting {EE} ({REE}) measurement and completed a 20-min treadmill test, an 8-min step test, and a 3-min walk test for individual calibration. {ACC} and {HR} were monitored and {TEE} measured over 14 days using {DLW}. Diet-induced thermogenesis ({DIT}) was calculated from food-frequency questionnaire. {PAEE} ({TEE} ÷ {REE} ÷ {DIT}) and {TEE} were compared to estimates from {ACC} and {HR} using bias, root mean square error ({RMSE}), and correlation statistics. Results Mean({SD}) measured {PAEE} and {TEE} were 66(25) {kJ}·day-1·kg-1, and 12(2.6) {MJ}·day-1, respectively. Estimated {PAEE} from {ACC} was 54(15) {kJ}·day-1·kg-1 (p{\textless}0.001), with {RMSE} 24 {kJ}·day-1·kg-1 and correlation r = 0.52. {PAEE} estimated from {HR} and {ACC}+{HR} with treadmill calibration were 67(42) and 69(25) {kJ}·day-1·kg-1 (bias non-significant), with {RMSE} 34 and 20 {kJ}·day-1·kg-1 and correlations r = 0.58 and r = 0.67, respectively. Similar results were obtained with step-calibrated and walk-calibrated models, whereas non-calibrated models were less precise ({RMSE}: 37 and 24 {kJ}·day-1·kg-1, r = 0.40 and r = 0.55). {TEE} models also had high validity, with biases {\textless}5\%, and correlations r = 0.71 ({ACC}), r = 0.66–0.76 ({HR}), and r = 0.76–0.83 ({ACC}+{HR}). Conclusions Both accelerometry and heart rate may be used to estimate {EE} in adult European men and women, with improved precision if combined and if heart rate is individually calibrated.},
|
||||
pages = {e0137206},
|
||||
page = {2},
|
||||
number = {9},
|
||||
journaltitle = {{PLOS} {ONE}},
|
||||
shortjournal = {{PLOS} {ONE}},
|
||||
author = {Brage, Søren and Westgate, Kate and Franks, Paul W. and Stegle, Oliver and Wright, Antony and Ekelund, Ulf and Wareham, Nicholas J.},
|
||||
urldate = {2025-11-23},
|
||||
date = {2015-09-08},
|
||||
langid = {english},
|
||||
note = {Publisher: Public Library of Science},
|
||||
keywords = {Accelerometers, Adults, Bioenergetics, Diet, Energy metabolism, Heart rate, Physical activity, Urine},
|
||||
}
|
||||
|
||||
@article{noauthor_using_2015,
|
||||
title = {Using Smartphone Sensors for Improving Energy Expenditure Estimation},
|
||||
volume = {3},
|
||||
year = {2015},
|
||||
issn = {2168-2372},
|
||||
url = {https://pmc.ncbi.nlm.nih.gov/articles/PMC4848104/},
|
||||
doi = {10.1109/JTEHM.2015.2480082},
|
||||
abstract = {Energy expenditure ({EE}) estimation is an important factor in tracking personal activity and preventing chronic diseases, such as obesity and diabetes. Accurate and real-time {EE} estimation utilizing small wearable sensors is a difficult task, primarily because the most existing schemes work offline or use heuristics. In this paper, we focus on accurate {EE} estimation for tracking ambulatory activities (walking, standing, climbing upstairs, or downstairs) of a typical smartphone user. We used built-in smartphone sensors (accelerometer and barometer sensor), sampled at low frequency, to accurately estimate {EE}. Using a barometer sensor, in addition to an accelerometer sensor, greatly increases the accuracy of {EE} estimation. Using bagged regression trees, a machine learning technique, we developed a generic regression model for {EE} estimation that yields upto 96\% correlation with actual {EE}. We compare our results against the state-of-the-art calorimetry equations and consumer electronics devices (Fitbit and Nike+ {FuelBand}). The newly developed {EE} estimation algorithm demonstrated superior accuracy compared with currently available methods. The results were calibrated against {COSMED} K4b2 calorimeter readings.},
|
||||
pages = {2700212},
|
||||
journaltitle = {{IEEE} Journal of Translational Engineering in Health and Medicine},
|
||||
shortjournal = {{IEEE} J Transl Eng Health Med},
|
||||
urldate = {2025-11-23},
|
||||
date = {2015-09-18},
|
||||
pmid = {27170901},
|
||||
pmcid = {PMC4848104},
|
||||
}
|
||||
|
||||
@article{edwards_evidence_2025,
|
||||
title = {Evidence of a circadian variation in 10-km laboratory running time-trial performance, where a standardised approach has been employed},
|
||||
volume = {42},
|
||||
year = {2025},
|
||||
issn = {0742-0528},
|
||||
url = {https://doi.org/10.1080/07420528.2025.2459668},
|
||||
doi = {10.1080/07420528.2025.2459668},
|
||||
abstract = {Diurnal variations in time-trial performance have been shown in people living normally, where a “standardised protocol” has been employed to reduce bias. We tested the hypothesis that a circadian variation exists for a 10-km running laboratory-based time-trial, where such a standardised approach is used. Twelve recreationally active adult males were recruited. The participants completed three familiarisation time-trials to the best of their ability at a self-selected pace and six 10-km time-trials at 06:00, 10:00, 14:00, 18:00, 22:00 and 02:00 h. Each session was separated by 7-days. Participants were allocated into 6 groups due to finish times ({FT}); sessions were counterbalanced in order of administration. A cosine fit for resting intra-aural temperature and {FT} both showed a significant circadian rhythm (p {\textless} 0.05) with mesor, amplitude and acrophases of 36.61°C vs 2994 s, 0.34°C vs 149 s; and 17:29 vs 18:44 h:min, respectively. The parallelism of temperature and {FT} agrees with previously published research. The finding of a 24-h rhythm in 10-km {FT} (5.0\%, d = 0.80; power = 100\%) concurs with that of a shorter distance where “standardised protocols” have been employed (4-km, 2.6\%, d = 0.34). This finding has implications for scheduling of competition and training. Whether this variation is apparent in other populations, however, is unclear.},
|
||||
pages = {244--258},
|
||||
number = {2},
|
||||
journaltitle = {Chronobiology International},
|
||||
author = {Edwards, Ben J. and Boyle, Brenda B. and Burniston, Jatin G. and Doran, Dominic A. and Doran, Dave and Giacomoni, Magali and Mahon, Elizabeth and Pullinger, Samuel A.},
|
||||
urldate = {2025-11-23},
|
||||
date = {2025-02-01},
|
||||
pmid = {39908409},
|
||||
note = {Publisher: Taylor \& Francis
|
||||
\_eprint: https://doi.org/10.1080/07420528.2025.2459668},
|
||||
keywords = {core body temperature, Daily-variation, design-checklist, time-of-day},
|
||||
}
|
||||
|
||||
@book{geron_praxiseinstieg_ml_2023,
|
||||
author = {Géron, Aurélien},
|
||||
title = {Praxiseinstieg Machine Learning mit Scikit‑Learn, Keras und TensorFlow},
|
||||
subtitle = {Konzepte, Tools und Techniken für intelligente Systeme},
|
||||
translator = {Rother, Kristian and Demmig, Thomas},
|
||||
edition = {3. Auflage},
|
||||
year = {2023},
|
||||
publisher = {O'Reilly Verlag / dpunkt.Verlag},
|
||||
address = {Heidelberg},
|
||||
isbn = {978‑3‑96009‑212‑4},
|
||||
pages = {878},
|
||||
}
|
||||
|
||||
@misc{WasWirdZur,
|
||||
title = {Was Wird Zur {{Berechnung}} Der {{Kalorien}} Auf Einer {{Multisport-Uhr}} Verwendet? \textbar{} {{Garmin Support-Center}}},
|
||||
journal = {Garmin},
|
||||
urldate = {2025-11-23},
|
||||
howpublished = {https://support.garmin.com/de-DE/?faq=Le7blBDFA95R8zNntMRMe5}
|
||||
}
|
||||
63
term-paper/packages_and_configuration.tex
Normal file
63
term-paper/packages_and_configuration.tex
Normal file
@ -0,0 +1,63 @@
|
||||
% !TEX root = documentation.tex
|
||||
|
||||
%-------------------------
|
||||
% imports
|
||||
% ------------------------
|
||||
\usepackage[ngerman]{babel}
|
||||
\usepackage[left=3cm,top=2.5cm,right=2.5cm,bottom=2cm]{geometry}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{abstract}
|
||||
\usepackage{hyperref}
|
||||
\usepackage[natbibapa]{apacite}
|
||||
\usepackage{tabularx}
|
||||
\usepackage[affil-it]{authblk}
|
||||
\usepackage{newtxtext}
|
||||
\usepackage{newtxmath}
|
||||
\setkomafont{disposition}{\bfseries}
|
||||
|
||||
\usepackage{graphicx}
|
||||
\usepackage{float}
|
||||
\usepackage{cleveref}
|
||||
\usepackage{nameref}
|
||||
\usepackage{fancyhdr}
|
||||
\usepackage{lipsum}
|
||||
\usepackage{lmodern}
|
||||
\usepackage{etoolbox}
|
||||
\usepackage{url}
|
||||
\usepackage{float}
|
||||
\usepackage{wrapfig}
|
||||
\usepackage[list=true]{subcaption}
|
||||
\usepackage{graphicx}
|
||||
\usepackage[nottoc, numbib, notlof, notlot]{tocbibind}
|
||||
\crefname{figure}{Abbildung}{Abbildungen}
|
||||
\Crefname{figure}{Abbildung}{Abbildungen}
|
||||
\crefname{table}{Tabelle}{Tabellen}
|
||||
\Crefname{table}{Tabelle}{Tabellen}
|
||||
\bibliographystyle{apacite}
|
||||
\setkomafont{subsection}{\bfseries\normalsize}
|
||||
|
||||
%-------------------------
|
||||
% configuration
|
||||
% ------------------------
|
||||
|
||||
\pagestyle{fancy}
|
||||
\fancyhf{}
|
||||
\fancyfoot[R]{\fontsize{10pt}{12pt}\selectfont \thepage}
|
||||
\setlength{\footskip}{1cm}
|
||||
\renewcommand{\headrulewidth}{0pt}
|
||||
|
||||
% paragraph indent
|
||||
\setlength{\parindent}{0pt}
|
||||
|
||||
% hyperlink colors
|
||||
\hypersetup{
|
||||
colorlinks,
|
||||
citecolor=black,
|
||||
filecolor=black,
|
||||
linkcolor=black,
|
||||
urlcolor=black,
|
||||
pdfborder=0 0 0
|
||||
}
|
||||
|
||||
\bibliographystyle{apacite}
|
||||
BIN
term-paper/r2_comparison.png
Normal file
BIN
term-paper/r2_comparison.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 44 KiB |
BIN
term-paper/residuals_vs_predicted_values.png
Normal file
BIN
term-paper/residuals_vs_predicted_values.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 39 KiB |
BIN
term-paper/rmse_comparison.png
Normal file
BIN
term-paper/rmse_comparison.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 82 KiB |
17
term-paper/title.tex
Normal file
17
term-paper/title.tex
Normal file
@ -0,0 +1,17 @@
|
||||
% !TEX root = documentation.tex
|
||||
|
||||
\titlehead{BSc Computational and Data Science\\CDS1011 Einführung in Data Science\\Dozent: Prof. Corsin Capol\hfill}
|
||||
\title{Kalorienberechnung anhand von Trainingsdaten mit Machine Learning}
|
||||
\author[1,*]{Yannick Toth}
|
||||
\author[1]{Arif Hizlan}
|
||||
\author[1]{Dario Hollbach}
|
||||
\affil[1]{Fachhochschule Graubünden}
|
||||
\affil[*]{E-Mail Adressen: yannick.toth@stud.fhgr.ch, arif.hizlan@stud.fhgr.ch, dario.hollbach@stud.fhgr.ch}
|
||||
\date{\today}
|
||||
\maketitle
|
||||
|
||||
\begin{abstract}
|
||||
In dieser Arbeit wurde analysiert, wie verschiedene Machine-Learning-Modelle den Kalorienverbrauch von Trainingsaktivitäten berechnen können. Insgesamt erwies sich Gradient Boosting als das robusteste Modell mit der höchsten Vorhersagegenauigkeit, während XGBoost und Decision Trees besonders von der Bereinigung extremer Ausreisser profitierten. Die Analyse der Residuen belegte bei Aktivitäten mit sehr hohem Kalorienverbrauch, dass grössere Abweichungen auftreten. Eine sorgfältige Datenaufbereitung sowie die Modellwahl werden als entscheidend für zuverlässige Vorhersagen erachtet. Für praktische Anwendungen bieten die robustesten Modelle wie Gradient Boosting die beste Kombination aus Genauigkeit und Generalisierbarkeit.
|
||||
\end{abstract}
|
||||
|
||||
\thispagestyle{empty}
|
||||
Loading…
x
Reference in New Issue
Block a user