further work on methodology

This commit is contained in:
2025-07-08 14:46:20 +02:00
parent 23f289f50b
commit 215ff94401
6 changed files with 107 additions and 24 deletions
+6 -6
View File
@@ -25,25 +25,25 @@
\includegraphics[width=7cm]{leipzig_university_logo}\\[1cm] % Adjust size as needed
{\huge \textbf{Finding Predictors for Human Ovulation with Attention Mechanisms}}\\[1.5cm]
{\huge \textbf{Ovulation Prediction with Machine Learning}}\\[1.5cm]
\textbf{Masters Thesis}\\[1cm]
\textbf{Author:}\\
Alexander Blank\\[0.5cm]
\textbf{Supervisor(s):}\\
Prof. XYZ, Dr. ABC\\[1.5cm]
\textbf{Supervisor:}\\
Prof. Bogdan Franczyk\\[1.5cm]
\textbf{Date:} 2025\\[2cm]
\textbf{Date:} September 2025\\[2cm]
\textbf{Department of XYZ}\\
\textbf{Master of Science: Data Science}\\
\textbf{Leipzig University}
\end{titlepage}
\pagebreak
\begin{abstract}
This paper investigates the use of attention mechanisms to predict human ovulation. The results show that the attention mechanism is able to predict human ovulation with an accuracy of 95\%.
This could be your abstract - call 0800 - ABSTRACT to get your personal quote.
\end{abstract}
\pagebreak
Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 607 KiB

+6 -6
View File
@@ -48,12 +48,12 @@ However, variations, particularly in the follicular phase length, are common and
Figure~\ref{fig:background_menstrual_cycle_physiology} provides a detailed overview of the hormonal and physiological changes
throughout the menstrual cycle.
\begin{figure}[htb]
\centering
\includegraphics[width=0.9\textwidth]{background_labeled_cycle}
\caption{A cycles temperature curve with its phases and ovulation}
\label{fig:background_labeled_cycle}
\end{figure}
%\begin{figure}[htb]
% \centering
% \includegraphics[width=0.9\textwidth]{background_labeled_cycle}
% \caption{A cycles temperature curve with its phases and ovulation}
% \label{fig:background_labeled_cycle}
%\end{figure}
Figure~\ref{fig:background_labeled_cycle} shows the temperature curve over the course of a menstrual cycle with the
menstruation, fertile phase and ovulation marked.
+1
View File
@@ -8,6 +8,7 @@
% talk about whether bbt / temperature can be used for such a task, discuss bbt doubt papers
% While previous work has argued against the predictive value of BBT~\cite{some_author_2010}, our findings suggest otherwise.
%Using continuous core body temperature data from 40,000 cycles, we demonstrate that temperature-based models can reliably detect ovulatory patterns, even in the presence of physiological noise or mild irregularity.
% explain the need for further medical interpretation of the results of either model
\section{Future Work}\label{sec:future_work}
+94 -12
View File
@@ -125,12 +125,12 @@ These help the model place each observation in temporal context:
Except for \textit{time since cycle start}, all features are encoded using sine and cosine transforms to preserve their cyclical nature and make them more interpretable for the model.
\begin{figure}[htbp]
\centering
\includegraphics[width=0.9\textwidth]{methodology_time_feature_sine_encoded}
\caption{Sine and cosine encoding of the day-of-week feature.}
\label{fig:methodology_time_feature_encoding}
\end{figure}
%\begin{figure}[htbp]
% \centering
% \includegraphics[width=0.9\textwidth]{methodology_time_feature_sine_encoded}
% \caption{Sine and cosine encoding of the day-of-week feature.}
% \label{fig:methodology_time_feature_encoding}
%\end{figure}
Figure~\ref{fig:methodology_time_feature_encoding} illustrates the sine and cosine encoding of the day-of-week feature.
The cyclical nature of the variable is clearly visible in the transformation.
@@ -144,16 +144,53 @@ Including this information could therefore improve the predictive quality of the
\subsubsection{Observable Features}\label{subsubsec:observable_features}
The observable features constitute the input features that are directly observable, but only until the current moment.
Observable features include all time-series inputs available up to the current time step.
They represent real-time physiological signals from which the model must infer ovulatory status.
\begin{itemize}
\item \textbf{Temperature} - the raw temperature as recorded by the OvulaRing sensor
\item \textbf{Rolling Average Temperature} - the rolling average of the temperature over 1 day (288 measurements)
\item \textbf{Rolling Window Temperature Minimum} - the minimum temperature over a rolling window of 1 day
\item \textbf{Rolling Window Temperature Maximum} - the maximum temperature over a rolling window of 1 day
\item \textbf{Temperature} — Raw intravaginal temperature as recorded by the OvulaRing sensor, sampled every 5 minutes.
\item \textbf{Rolling Average Temperature} — The mean temperature over a 1-day (288-sample) sliding window, linearly interpolated to preserve the original input resolution.
\item \textbf{Rolling Window Temperature Minimum} — The minimum temperature observed within a 1-day window, highlighting potential overnight lows or phase-specific dips.
\item \textbf{Rolling Window Temperature Maximum} — The maximum temperature within a 1-day window, capturing transient peaks or elevated plateaus.
\end{itemize}
% table with all features
These derived features are intended to reduce model complexity by providing smoothed or extremal summaries of the raw signal.
The \textit{rolling average} allows the model to capture broader trends without having to learn temporal aggregation from scratch.
The \textit{rolling minimum} and \textit{maximum} support the detection of boundary behavior (e.g., temperature shifts, sustained elevation, extreme values)
without requiring explicit memory or aggregation.
The 1-day window length reflects the expected circadian cycle and strikes a balance between temporal sensitivity and signal stability.
\subsubsection{Target Features}
Target features represent the outputs that the models are trained to predict.
These can include exogenous biological outcomes or interpretable derivatives of input features.
\begin{itemize}
\item \textbf{Fertility / Pregnancy Probability} — The estimated probability of conception from unprotected intercourse on the current day.
\item \textbf{Ovulation-Over Indicator} — A binary variable indicating whether ovulation has already occurred in the current cycle.
\end{itemize}
\begin{figure}[htbp]
\centering
\includegraphics[width=0.9\textwidth]{methodology_target_features}
\caption{
Target features plotted for a single cycle.
The ovulation-over indicator switches on the day of ovulation;
the fertility probability follows a curve based on known day-specific fecundability~\cite{dunson_day-specific_1999}.
}
\label{fig:methodology_target_features}
\end{figure}
The combination of these two targets is intended to provide the user with both physiological and practical insight:
\textit{Fertility probability} conveys the likelihood of conception, but alone does not indicate whether ovulation is yet to come or has already passed.
A fertility probability near zero could mean that ovulation is either in the past or still ahead—information the model alone cannot disambiguate.
The \textit{ovulation-over indicator}, by contrast, explicitly marks the post-ovulatory phase, but does not describe conception risk.
Together, the two outputs offer complementary information and improve interpretability for real-time user-facing applications.
As discussed in Section~\ref{sec:discussion}, all predictions are subject to further interpretation before presentation in the product interface.
The model outputs represent data-driven estimates and do not constitute medical advice or diagnostic statements.
\subsection{Time-Series Modeling Approach}\label{subsec:time-series_modeling_approach}
@@ -161,6 +198,51 @@ The observable features constitute the input features that are directly observab
% build in the probability curve for the pregnancy chance
\subsubsection{Sequence Representation and Sampling}
\label{subsubsec:input_sequence_construction}
Due to the high temporal resolution of the temperature data (288 measurements per day), raw input sequences can become prohibitively long for most model types.
To manage input size and evaluate the impact of temporal resolution on predictive performance, a parameterized resampling strategy is applied.
Consecutive time steps are aggregated into bins of configurable size, and each bin is reduced to a single value using a feature-specific aggregation function.
For most continuous features, the \texttt{mean} is used.
For cyclic or categorical features—such as \textit{day of the week}— the \texttt{max} or \texttt{mode} is applied to avoid introducing
artifacts at bin boundaries, where values from distinct categories (e.g., hours 23 and 0) might otherwise be averaged into a nonexistent intermediate state.
The effect of different sampling resolutions and aggregation strategies is evaluated in Section~\ref{sec:results}.
To simulate real-time prediction rather than retrospective analysis, a sliding-window approach is employed.
This allows the model to make partial predictions based on the data available up to a certain point in the cycle.
Each cycle is split into overlapping input windows, where each window includes data from the start of the cycle up to a specific day.
The window length is fixed and configurable.
As the cycle progresses, the window slides forward, allowing the model to incorporate increasing historical context over time.
This setup enables temporally resolved predictions at different stages of the cycle and supports evaluation of how predictive accuracy changes with increasing context.
\begin{figure}[htbp]
\centering
\includegraphics[width=0.9\textwidth]{methodology_padding_example}
\caption{
Padded input window during early cycle phases,
where historical data is still sparse.
}
\label{fig:methodology_padding_example}
\end{figure}
Fixed-length input windows would normally prevent early-cycle predictions when insufficient data is available.
To address this, left-padding is applied using masked values.
In this study, predictions are enabled once at least 4 days of data are available.
A padding value of 0.0 is used for all features, and the padding length is adjusted accordingly.
This choice ensures that the model learns to ignore tokens consisting entirely of padding.
The feature \textit{hours since start}, which encodes the time elapsed since cycle onset, will be zero for all padded tokens—explicitly indicating
that these entries contain no meaningful information.
Figure~\ref{fig:methodology_padding_example} shows an example of such padding during early-cycle input preparation.
\subsection{Model Training}\label{subsec:model_training}
\subsubsection{Training Setup}\label{subsubsec:training_setup}