diff --git a/thesis/main.tex b/thesis/main.tex index ecd3431..f9ca317 100644 --- a/thesis/main.tex +++ b/thesis/main.tex @@ -18,8 +18,10 @@ \usepackage[style=ieee, backend=biber]{biblatex} \addbibresource{../main.bib} \usepackage{booktabs} +\usepackage{tabularx} \usepackage{pdflscape} \usepackage{adjustbox} +\usepackage{multirow} % Document \begin{document} diff --git a/thesis/resources/figures/results/lstm_ov_over_results_by_input_resolution.png b/thesis/resources/figures/results/lstm_ov_over_results_by_input_resolution.png index 4cdc505..da1abc8 100644 Binary files a/thesis/resources/figures/results/lstm_ov_over_results_by_input_resolution.png and b/thesis/resources/figures/results/lstm_ov_over_results_by_input_resolution.png differ diff --git a/thesis/sections/methodology.tex b/thesis/sections/methodology.tex index 31a693b..2f11598 100644 --- a/thesis/sections/methodology.tex +++ b/thesis/sections/methodology.tex @@ -652,7 +652,7 @@ Tables~\ref{tab:fertility_mae_metrics} and~\ref{tab:ov_over_mae_metrics} summari Non-Fertility & MSE on the non-fertile days. \\ \bottomrule \end{tabular} - \caption{Evaluation metrics of the fertility probability target based on mean absolute error (MAE) at various intervals across the predicted fertility window.} + \caption{Evaluation metrics of the fertility probability target based on mean absolute error (MAE) and mean squared error (MSE) at various intervals across the predicted fertility window.} \label{tab:fertility_mae_metrics} \end{table} @@ -677,7 +677,7 @@ Tables~\ref{tab:fertility_mae_metrics} and~\ref{tab:ov_over_mae_metrics} summari Post-OV & MSE after the ovulation. \\ \bottomrule \end{tabular} - \caption{Evaluation metrics of the ovulation-over target based on mean absolute error (MAE) at various intervals across the predicted fertility window.} + \caption{Evaluation metrics of the ovulation-over target based on mean absolute error (MAE) and mean squared error (MSE) at various intervals across the predicted fertility window.} \label{tab:ov_over_mae_metrics} \end{table} diff --git a/thesis/sections/results.tex b/thesis/sections/results.tex index 50ed45d..e98bed8 100644 --- a/thesis/sections/results.tex +++ b/thesis/sections/results.tex @@ -70,18 +70,51 @@ Additionally, model performance is compared to the three baseline models introdu \caption{Performance of LSTM models with different input window lengths and fixes input resolutions for the fertility probability target} \label{fig:results_performance_lstm_fertility_input_window_length} \end{figure} -\begin{tabular}{lrrrrrrr} - \toprule - {} & MAE Fertility Overall & MAE Fertile Days & MAE Non-Fertile Days & MSE Fertility Overall & MSE Fertile Days & MSE Non-Fertile Days & Input-Window-Length in Days \\ - \midrule - 4 & 0.0378 & 0.0834 & 0.0192 & 0.0043 & 0.0102 & 0.0019 & 160 \\ - 5 & 0.0399 & 0.0857 & 0.0212 & 0.0045 & 0.0105 & 0.0021 & 10 \\ - 11 & 0.0421 & 0.0994 & 0.0180 & 0.0052 & 0.0144 & 0.0013 & 20 \\ - 13 & 0.0420 & 0.1006 & 0.0176 & 0.0053 & 0.0147 & 0.0014 & 80 \\ - 14 & 0.0406 & 0.0938 & 0.0184 & 0.0049 & 0.0128 & 0.0016 & 40 \\ - \bottomrule -\end{tabular} +\begin{landscape} + \begin{table} +% \begin{tabular}{lrrrrrrr} + \begin{tabularx}{\linewidth}{l*{6}{X}} + \toprule + \multirow{2}{*}{Input-Length in Days} & \multicolumn{3}{c}{MAE} & \multicolumn{3}{c}{MSE} \\ + \cmidrule(r){2-4} \cmidrule(r){5-7} + & Fertility Overall & Fertile Days & Non-Fertile Days & Fertility Overall & Fertile Days & Non-Fertile Days \\ + \midrule + \multicolumn{7}{c}{\textbf{LSTM}} \\ \midrule + 10 & 0.0399 & 0.0857 & 0.0212 & 0.0045 & 0.0105 & 0.0021 \\ + 20 & 0.0421 & 0.0994 & 0.0180 & 0.0052 & 0.0144 & \underline{\textbf{0.0013}} \\ + 40 & 0.0406 & 0.0938 & 0.0184 & 0.0049 & 0.0128 & 0.0016 \\ + 80 & 0.0420 & 0.1006 & \underline{\textbf{0.0176}} & 0.0053 & 0.0147 & 0.0014 \\ + 160 & \underline{0.0378} & \underline{\textbf{0.0834}} & 0.0192 & \underline{0.0043} & \underline{\textbf{0.0102}} & 0.0019 \\ + \midrule + \multicolumn{7}{c}{\textbf{Transformer}} \\ \midrule + 10 & 0.0443 & 0.0868 & 0.0273 & 0.0046 & 0.0110 & 0.0021 \\ + 20 & 0.0472 & 0.0949 & 0.0274 & 0.0051 & 0.0133 & 0.0018 \\ + 40 & 0.0413 & 0.0861 & 0.0233 & \underline{0.0044} & 0.0111 & 0.0017 \\ + 80 & 0.0437 & \underline{0.0859} & 0.0269 & 0.0045 & \underline{0.0108} & 0.0021 \\ + 160 & \underline{0.0411} & 0.0882 & \underline{0.0218} & 0.0045 & 0.0116 & \underline{0.0016} \\ + \midrule + \multicolumn{7}{c}{\textbf{Convolution-LSTM}} \\ \midrule + 10 & 0.0435 & \underline{0.0954} & 0.0224 & 0.0050 & 0.0133 & 0.0017 \\ + 20 & \underline{0.0414} & 0.0996 & \underline{0.0179} & 0.0050 & 0.0145 & \underline{\textbf{0.0013}} \\ + 40 & 0.0394 & 0.0911 & 0.0184 & \underline{0.0045} & \underline{0.0122} & 0.0014 \\ + 80 & 0.0481 & 0.1005 & 0.0278 & 0.0054 & 0.0146 & 0.0019 \\ + 160 & 0.0505 & 0.1067 & 0.0290 & 0.0060 & 0.0166 & 0.0020 \\ + \midrule + \multicolumn{7}{c}{\textbf{Convolution-Transformer}} \\ \midrule + 10 & 0.0459 & 0.0962 & 0.0256 & 0.0049 & 0.0136 & \underline{0.0015} \\ + 20 & 0.0423 & \underline{0.0848} & 0.0257 & 0.0045 & \underline{\textbf{0.0102}} & 0.0022 \\ + 40 & \underline{\textbf{0.0376}} & 0.0854 & \underline{0.0186} & \underline{\textbf{0.0041}} & 0.0108 & \underline{0.0015} \\ + 80 & 0.0414 & 0.0932 & 0.0210 & 0.0048 & 0.0128 & 0.0018 \\ + 160 & 0.0523 & 0.1018 & 0.0337 & 0.0059 & 0.0148 & 0.0026 \\ + \bottomrule +% \end{tabular} + \end{tabularx} + \caption{Evaluation Metrics for the Fertility-Probability target for each model architecture across different input lenghts. + Underlined values indicate the best value per metric for a model and bold and underlined indicate global best values for a metric.} + \label{tab:fertility_results} + \end{table} +\end{landscape} For the LSTM model, the error metrics show a small improvement with larger input window size. Also, the MSE metric is numerically smaller than the MAE, which suggests, that the errors are rather small and tightly clustered with few large outliers. @@ -123,6 +156,52 @@ However, there is no consistent upward or downward trend when changing the input \subsubsection{Comparison with Baselines}\label{subsubsec:fert_comparison_with_baselines} \subsection{Ovulation-Over Prediction}\label{subsubsec:ov_over_prediction} +\begin{landscape} + \begin{table} + \begin{tabularx}{\linewidth}{l*{6}{X}} + \toprule + \multirow{2}{*}{Input-Length in Days} & \multicolumn{3}{c}{MAE} & \multicolumn{3}{c}{MSE} \\ + \cmidrule(r){2-4} \cmidrule(r){5-7} + & OV-Over Overall & OV-Over Before OV & OV-Over After OV & OV-Over Overall & OV-Over Before OV & OV-Over After OV \\ + \midrule + \multicolumn{7}{c}{\textbf{LSTM}} \\ + \midrule + 10 & 0.1218 & 0.1044 & 0.1223 & \underline{0.0612} & 0.0289 & 0.0711 \\ + 20 & 0.1153 & \underline{\textbf{0.0745}} & 0.1312 & 0.0641 & \underline{\textbf{0.0212}} & 0.0822 \\ + 40 & 0.1066 & 0.0820 & 0.1128 & 0.0616 & 0.0281 & 0.0740 \\ + 80 & 0.1173 & 0.0842 & 0.1291 & 0.0647 & 0.0263 & 0.0801 \\ + 160 & \underline{0.1039} & 0.1139 & \underline{0.0973} & 0.0557 & 0.0462 & \underline{0.0580} \\ + \midrule + \multicolumn{7}{c}{\textbf{Transformer}} \\ + \midrule + 10 & 0.1137 & 0.1006 & 0.1186 & 0.0618 & 0.0336 & 0.0740 \\ + 20 & 0.1204 & 0.0771 & 0.1366 & 0.0690 & \underline{0.0255} & 0.0864 \\ + 40 & \underline{\textbf{0.1017}} & 0.1409 & \underline{\textbf{0.0883}} & \underline{\textbf{0.0533}} & 0.0621 & \underline{\textbf{0.0520}} \\ + 80 & 0.1138 & \underline{0.0897} & 0.1234 & 0.0654 & 0.0356 & 0.0788 \\ + 160 & 0.1076 & 0.0959 & 0.1141 & 0.0606 & 0.0379 & 0.0714 \\ + \midrule + \multicolumn{7}{c}{\textbf{Convolution-LSTM}} \\ + \midrule + 10 & 0.1847 & 0.1878 & 0.1840 & 0.0819 & 0.0581 & 0.0949 \\ + 20 & 0.1493 & 0.1274 & 0.1562 & \underline{0.0699} & \underline{0.0389} & \underline{0.0833} \\ + 40 & \underline{0.1455} & \underline{0.1089} & \underline{0.1561} & 0.0722 & 0.0358 & 0.0852 \\ + 80 & 0.2327 & 0.1796 & 0.2507 & 0.1168 & 0.0686 & 0.1327 \\ + 160 & 0.2518 & 0.2040 & 0.2757 & 0.1293 & 0.0878 & 0.1503 \\ + \midrule + \multicolumn{7}{c}{\textbf{Convolution-Transformer}} \\ + \midrule + 10 & 0.1472 & 0.1053 & 0.1651 & 0.0768 & 0.0317 & 0.0966 \\ + 20 & 0.1530 & 0.1307 & 0.1637 & 0.0745 & 0.0443 & 0.0886 \\ + 40 & \underline{0.1448} & 0.1228 & \underline{0.1514} & \underline{0.0709} & 0.0435 & \underline{0.0820} \\ + 80 & 0.1685 & 0.1164 & 0.1889 & 0.0865 & 0.0345 & 0.1089 \\ + 160 & 0.2440 & \underline{0.1051} & 0.3117 & 0.1403 & \underline{0.0286} & 0.1946 \\ + \bottomrule + \end{tabularx} + \caption{Evaluation Metrics for the Ovulation-Over target for each model architecture across different input lenghts. + Underlined values indicate the best value per metric for a model and bold and underlined indicate global best values for a metric.} + \label{tab:ov_over_results} + \end{table} +\end{landscape} \subsubsection{Performance around Ovulation}\label{subsubsec:ov_over_performance_around_ovulation}