fixes and improvements
This commit is contained in:
+102
-75
@@ -6,9 +6,9 @@
|
||||
|
||||
Despite promising results in earlier studies, ovulation prediction remains constrained by small datasets,
|
||||
assumptions of cycle regularity, and opaque modeling approaches.
|
||||
To address these limitations, we develop a data-driven framework based on a large,
|
||||
To address these limitations, I develop a data-driven framework based on a large,
|
||||
heterogeneous dataset of real-world menstrual cycles.
|
||||
Our approach emphasizes model transparency, adaptability to irregular patterns, and the predictive utility of
|
||||
My approach emphasizes model transparency, adaptability to irregular patterns, and the predictive utility of
|
||||
high-resolution core body temperature measurements.
|
||||
The overall goal is to train a model to predict the fertility-probability and information about the ovulation for
|
||||
a given day, only relying on past information prior to that day.
|
||||
@@ -53,11 +53,14 @@ The algorithm operates in two stages:
|
||||
This retrospective labeling provides a practical and scalable proxy for ground truth, enabling training and evaluation across a large, real-world dataset,
|
||||
particularly given that temperature is a well-established retrospective marker of ovulation.
|
||||
In internal evaluations, the estimated ovulation day fell within a \(\pm\)2-day window of the expert reference in approximately 86\% of labeled cycles.
|
||||
|
||||
These labels serve as the supervisory signal for model training and evaluation.
|
||||
We acknowledge the limitations of this method: ambiguous or noisy temperature patterns, due to illness, dropout,
|
||||
or sensor error, may result in noisy labels, which can affect downstream model performance.
|
||||
However, label quality is continuously reviewed and may be refined iteratively as model performance improves.
|
||||
|
||||
It is important to note that the labeling algorithm infers ovulation retrospectively from the full temperature curve.
|
||||
While this approach is practical for large-scale annotation,
|
||||
it means that the labels represent an approximation rather than a clinical gold standard (e.g., ultrasound or daily LH testing).
|
||||
Consequently, the trained models learn to reproduce these retrospective estimates, which may deviate from the true
|
||||
physiological ovulation day in some cycles.
|
||||
This limitation is addressed further in the Discussion.
|
||||
|
||||
The next section details how these labels are incorporated into feature representations and model training.
|
||||
|
||||
@@ -169,7 +172,7 @@ They represent real-time physiological signals from which the model must infer o
|
||||
|
||||
These derived features summarize local trends or extrema in the temperature signal, reducing the burden on the model to learn such patterns from raw data.
|
||||
Special care was taken, so that the sliding window can only look backwards, so that no data leakage can happen.
|
||||
We extend each windowed feature at the beginning with the starting value, so that the window can be calculated for the first real value already.
|
||||
I extend each windowed feature at the beginning with the starting value, so that the window can be calculated for the first real value already.
|
||||
The 1-day window length reflects the expected circadian cycle and strikes a balance between temporal sensitivity and signal stability.
|
||||
|
||||
Figure~\ref{fig:methodology_observable_features} illustrates the behavior of all observable features within a single cycle.
|
||||
@@ -183,7 +186,7 @@ For this study, the following exogenous variables are used:
|
||||
|
||||
\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.
|
||||
\item \textbf{OV-over Indicator} — A binary variable indicating whether ovulation has already occurred in the current cycle.
|
||||
\end{itemize}
|
||||
|
||||
\begin{figure}[htbp]
|
||||
@@ -191,7 +194,7 @@ For this study, the following exogenous variables are used:
|
||||
\includegraphics[width=0.9\textwidth]{resources/figures/methodology/methodology_target_features}
|
||||
\caption{
|
||||
Target features plotted for a single cycle.
|
||||
The ovulation-over indicator switches on the day of ovulation;
|
||||
The OV-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}
|
||||
@@ -202,17 +205,17 @@ The combination of these two targets is intended to provide the user with both p
|
||||
A fertility probability near zero could mean that ovulation is either in the past or still ahead—information the model alone cannot disambiguate.
|
||||
Figure~\ref{fig:methodology_target_features} shows an example cycle where the target feature values during the course of a cycle can be seen.
|
||||
|
||||
The \textit{ovulation-over indicator}, by contrast, explicitly marks the post-ovulatory phase, but does not describe conception risk.
|
||||
The \textit{OV-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.
|
||||
|
||||
Although the models were trained to predict both targets, and fertility-probability as well as the ovulation-over indicator
|
||||
Although the models were trained to predict both targets, and fertility-probability as well as the OV-over indicator
|
||||
are relevant for actual application of the models, the primary focus of this thesis lies on the fertility-probability target,
|
||||
which is more central to the research objectives.
|
||||
The ovulation-over indicator is included due to its practical relevance for potential real-world applications,
|
||||
but it is not analyzed in depth, as it lies outsize the core scope of scientific investigation.
|
||||
The OV-over indicator is included due to its practical relevance for potential real-world applications,
|
||||
but it is not analyzed in depth, as it lies outside the core scope of scientific investigation.
|
||||
|
||||
\begin{table}[htbp]
|
||||
\centering
|
||||
@@ -257,11 +260,12 @@ but it is not analyzed in depth, as it lies outsize the core scope of scientific
|
||||
All features were normalized based on their empirical distributions.
|
||||
A \textit{standard scaler} was applied to approximately normal features without outliers,
|
||||
a \textit{robust scaler} was used for distributions with outliers, and a \textit{MinMax scaler} was used for all others.
|
||||
Different Scalers were used for the train, validation and test sets to avoid data leakage.
|
||||
All scalers were fit on the training set only and applied to the validation and test sets to avoid data leakage.
|
||||
|
||||
|
||||
For the final data matrix, all features are stacked per timestep.
|
||||
The static features are repeated for each timestep.
|
||||
We are aware of possible inefficiencies here.
|
||||
I am aware of possible inefficiencies here.
|
||||
A side channel for static features might improve predictive efficiency and potential quality, but
|
||||
this was left out to keep the interfaces the same for compatibility purposes between all tested models
|
||||
|
||||
@@ -332,11 +336,11 @@ for the prediction as no information is present.
|
||||
|
||||
Figure~\ref{fig:methodology_padding_example} shows an example of such padding during early-cycle input preparation.
|
||||
|
||||
This input strategy supports efficient, temporally-aware learning and allows us to evaluate how predictive accuracy evolves over time within each cycle.
|
||||
This input strategy supports efficient, temporally-aware learning and allows me to evaluate how predictive accuracy evolves over time within each cycle.
|
||||
|
||||
\subsection{Model Architecture and Selection}\label{subsec:model_architecture_and_selection}
|
||||
|
||||
The primary objective of this study is to find models that accurately predict the features introduced in~\ref{fig:methodology_target_features},
|
||||
The primary objective of this study is to find models that accurately predict the features introduced in Figure~\ref{fig:methodology_target_features},
|
||||
based on the historical data and context variables.
|
||||
This task presents several modelling challenges: capturing temporal dependencies across varying cycle lengths, handling irregular menstrual patterns
|
||||
and adapting to user-specific variability.
|
||||
@@ -348,8 +352,8 @@ Ultimately, the models used in this study were selected based on their ability t
|
||||
\item Generalize across users while incorporating personalized cycle context
|
||||
\end{itemize}
|
||||
|
||||
In this section we will introduce the base architectures \textbf{Long-Short-Term-Memory Models} and \textbf{Transformer Models}.
|
||||
Additionally, we'll show, how the convolutional hybrids extend their functionality.
|
||||
In this section I will introduce the base architectures \textbf{Long-Short-Term-Memory Models} and \textbf{Transformer Models}.
|
||||
Additionally, I will show, how the convolutional hybrids extend their functionality.
|
||||
|
||||
\subsubsection{LSTM-Architecture}\label{subsubsec:lstm_architecture}
|
||||
\begin{figure}[htbp]
|
||||
@@ -365,7 +369,7 @@ Recurrent neural networks, particularly LSTMs, were tested for their ability to
|
||||
Their sequential memory structure allows them to retain information across cycle days, but they may struggle with high-resolution input and longer sequences.
|
||||
LSTMs, in particular, have a long history of strong performance in sequence prediction tasks.
|
||||
For this study, a stack of LSTM layers was followed by a linear projection layer, mapping the hidden state at the final time
|
||||
step to the two target variables: fertility probability and ovulation-over indicator.
|
||||
step to the two target variables: fertility probability and OV-over indicator.
|
||||
Figure~\ref{fig:methodology_lstm_architecture} shows the overall architecture pipeline used for the LSTM-based model.
|
||||
The stacked inputs and outputs denote the batch processing of the model.
|
||||
|
||||
@@ -376,7 +380,7 @@ Model-specific architectural parameters are:
|
||||
\item \textbf{Number of Layers} — Depth of the LSTM stack.
|
||||
\end{itemize}
|
||||
The specific values and tuning ranges for these parameters are discussed in Section~\ref{subsubsec:hyperparameter_tuning}.
|
||||
A fixed dropout rate of \(p = 0.5\) has been selected for each LSTM-layer expect the last,
|
||||
A fixed dropout rate of \(p = 0.5\) has been selected for each LSTM-layer except the last,
|
||||
as was shown to be an effective value~\cite{pham_dropout_2014}
|
||||
|
||||
\subsubsection{Transformer Architecture}\label{subsubsec:transformer_architecture}
|
||||
@@ -405,8 +409,8 @@ A future direction could investigate the impact of omitting it in such naturally
|
||||
Since the task does not require sequence-to-sequence modeling, only the encoder part of the Transformer is used.
|
||||
Its output—one vector per input token—is aggregated via 1D adaptive average pooling, resulting in a single vector representation per sequence.
|
||||
This vector is then passed through a linear projection layer to produce the two target outputs:
|
||||
fertility probability and ovulation-over indicator.
|
||||
Note, that in contrast to the original use case of machine-translation, no special tokens are necessary here, as we do not perform sequence-to-sequence prediction.
|
||||
fertility probability and OV-over indicator.
|
||||
Note, that in contrast to the original use case of machine-translation, no special tokens are necessary here, as no sequence-to-sequence prediction is performed here.
|
||||
|
||||
Figure~\ref{fig:methodology_transformer_architecture} shows the overall architecture.
|
||||
The stacked inputs and outputs indicate batch processing.
|
||||
@@ -472,7 +476,7 @@ The training process is organized into distinct \textit{runs}, each representing
|
||||
Within a run, variable parameters, such as input sequence length, hidden layer size, dropout rate,
|
||||
or specific feature subsets, are swept across predefined value ranges.
|
||||
|
||||
We define 3 runs for each base architecture and 2 for each convolutional architecture.
|
||||
I define 3 runs for each base architecture and 2 for each convolutional architecture.
|
||||
\begin{itemize}
|
||||
\item \textbf{Input-Sequence-Length Run:} explores different input sequence lengths
|
||||
\item \textbf{Input Resolution Run:} explores different input resolutions (only for base architectures)
|
||||
@@ -596,8 +600,8 @@ based on the MSE of the fertility-probability target during the fertile days.
|
||||
These model configurations will then be used for further evaluations.
|
||||
|
||||
\vspace{0.5em}
|
||||
We acknowledge that interactions between input and model parameters may influence final model performance,
|
||||
and our two-stage tuning procedure may miss globally optimal combinations.
|
||||
I acknowledge that interactions between input and model parameters may influence final model performance,
|
||||
and my two-stage tuning procedure may miss globally optimal combinations.
|
||||
|
||||
\subsubsection{Training Details}\label{subsubsec:training_details}
|
||||
|
||||
@@ -616,7 +620,7 @@ Each model was trained for up to 30 epochs, with early stopping based on validat
|
||||
|
||||
\subsection{Evaluation}\label{subsec:evaluation}
|
||||
|
||||
To meaningfully compare model performance, we define a set of metrics according to the research objectives,
|
||||
To meaningfully compare model performance, I define a set of metrics according to the research objectives,
|
||||
that capture both overall accuracy and behavior at key points in the prediction sequence as well as cover the use cases introduced in~\ref{subsubsec:practical_use_cases}.
|
||||
This includes metrics for different temporal segments, such as before and after the ovulation,
|
||||
enabling a more detailed understanding of model strengths and limitations.
|
||||
@@ -638,7 +642,7 @@ In many cases, it remains unclear whether proposed models genuinely outperform s
|
||||
|
||||
\subsubsection{Evaluation Metrics}\label{subsubsec:evaluation_metrics}
|
||||
|
||||
The base metric used for all categories is the mean squared error (MAE),
|
||||
The base metric used for all categories is the mean squared error (MSE),
|
||||
which describes the average squared deviation of the prediction from the target value,
|
||||
and is defined as:
|
||||
\begin{align}
|
||||
@@ -653,7 +657,7 @@ This is particularly relevant for model comparison, where disproportionate error
|
||||
Moreover, since the fertility probability target was trained using an MSE-based loss function,
|
||||
this metric directly reflects the optimization objective.
|
||||
|
||||
To complement this, we also report the mean squared error (MAE):
|
||||
To complement this, I also report the mean squared error (MAE):
|
||||
\begin{align}
|
||||
\text{MAE} = \frac{1}{n} \sum_{i=1}^{n} \left| y_i - \hat{y}_i \right|
|
||||
\end{align}
|
||||
@@ -662,18 +666,18 @@ where \(y_i\) is the observed value and \(\hat{y}_i\) the predicted value.
|
||||
MAE was selected for its intuitive interpretability.
|
||||
In particular, the fertility probability target lends itself well to an absolute error interpretation,
|
||||
making MAE a natural choice for evaluating prediction accuracy.
|
||||
However, we will only be using the MAE as a secondary metric, as we will base our further interpretation of
|
||||
the model performances on the use-case evaluations, that provide inherent real-world interpretability.
|
||||
However, I will only be using the MAE as a secondary metric, as I will base my further interpretation of
|
||||
the model performances on the use case evaluations, that provide inherent real-world interpretability.
|
||||
|
||||
We considered including the coefficient of determination (\(R^2\)) as an evaluation metric.
|
||||
However, we found that the target windows frequently exhibited very low variance,
|
||||
I considered including the coefficient of determination (\(R^2\)) as an evaluation metric.
|
||||
However, I found that the target windows frequently exhibited very low variance,
|
||||
a condition under which \(R^2\) becomes unstable and potentially misleading.
|
||||
As a result, we decided to exclude it from our evaluation.
|
||||
As a result, I decided to exclude it from my evaluation.
|
||||
|
||||
To enable a more nuanced comparison of model performance,
|
||||
we complement the overall error metrics with targeted evaluations at biologically relevant subregions of the prediction sequence.
|
||||
I complement the overall error metrics with targeted evaluations at biologically relevant subregions of the prediction sequence.
|
||||
|
||||
This decomposition allows us to identify localized strengths and weaknesses in different models,
|
||||
This decomposition allows me to identify localized strengths and weaknesses in different models,
|
||||
for example, a model may accurately capture the onset of fertility but underperform closer to ovulation.
|
||||
|
||||
It also facilitates a clearer comparison of false-positive tendencies,
|
||||
@@ -681,13 +685,13 @@ i.e., days that are not fertile but are misclassified as such by the model.
|
||||
These insights are important for understanding practical limitations
|
||||
and choosing appropriate models depending on the intended clinical or user-facing application.
|
||||
|
||||
In addition, we stratify each metric by the number of past cycles available as context,
|
||||
In addition, I stratify each metric by the number of past cycles available as context,
|
||||
to assess how model performance varies with different amounts of historical information.
|
||||
This aspect is especially relevant for users with irregular cycles,
|
||||
where models may learn user-specific patterns to different degrees,
|
||||
potentially leading to divergent prediction behavior.
|
||||
|
||||
Tables~\ref{tab:fertility_mae_metrics} and~\ref{tab:ov_over_mae_metrics} summarize the metrics used for evaluating the fertility probability and ovulation-over targets, respectively.
|
||||
Tables~\ref{tab:fertility_mae_metrics} and~\ref{tab:ov_over_mae_metrics} summarize the metrics used for evaluating the fertility probability and OV-over targets, respectively.
|
||||
|
||||
\begin{table}[htbp]
|
||||
\centering
|
||||
@@ -735,43 +739,46 @@ Tables~\ref{tab:fertility_mae_metrics} and~\ref{tab:ov_over_mae_metrics} summari
|
||||
Post-OV & MAE after the ovulation. \\
|
||||
\bottomrule
|
||||
\end{tabular}
|
||||
\caption{Evaluation metrics of the ovulation-over target based on mean squared error (MSE) and mean absolute error (MAE) at various intervals across the predicted fertility window.}
|
||||
\caption{Evaluation metrics of the OV-over target based on mean squared error (MSE) and mean absolute error (MAE) at various intervals across the predicted fertility window.}
|
||||
\label{tab:ov_over_mae_metrics}
|
||||
\end{table}
|
||||
|
||||
\subsubsection{Best Model Configuration Selection}\label{subsubsec:methodology_best_model_config_selection}
|
||||
Based on the results from the input window length, input resolution,
|
||||
and model parameter space exploration, we selected a single best configuration for each model architecture to carry forward.
|
||||
and model parameter space exploration, I've selected a single best configuration for each model architecture to carry forward.
|
||||
This step was necessary to keep the computational effort manageable,
|
||||
as exhaustively testing all possible configurations for every subsequent metric would have been prohibitively expensive.
|
||||
|
||||
Selection was based primarily on the \textbf{Fertility-Overall MSE} metric,
|
||||
as it most directly reflects the main objective of this study: predicting fertility,
|
||||
and we want to penalize larger errors more, as they are much more problematic for our use-case scenarios.
|
||||
and I want to penalize larger errors more, as they are much more problematic for my use case scenarios.
|
||||
In cases where the difference between configurations was small (less than \(\pm\) 5\% metric value),
|
||||
we preferred the option that aligned with the general tendency of the model architecture.
|
||||
For example, if an architecture consistently performed better with more input data or longer sequences,
|
||||
but the Fertility-Overall MSE was only marginally better for a shorter window, we selected the longer window.
|
||||
I prefer the option that aligned with the general tendency of the model architecture.
|
||||
For example, if an architecture consistently performs better with more input data or longer sequences,
|
||||
but the Fertility-Overall MSE is only marginally better for a shorter window, I'll selected the longer window.
|
||||
|
||||
This selection process was applied to all tested parameters—input window length, input resolution, and model complexity.
|
||||
The resulting configurations were then used in the irregular cycles study and the use case evaluation.
|
||||
|
||||
\paragraph{Uncertainty estimation.}
|
||||
We report point estimates on a held-out test set.
|
||||
Because per-user (or per-cycle/day) predictions were not retained, we cannot compute confidence intervals or paired significance tests.
|
||||
I'll report point estimates on a held-out test set.
|
||||
Because per-user (or per-cycle/day) predictions were not retained, I cannot compute confidence intervals or paired significance tests.
|
||||
All model comparisons are therefore descriptive rather than inferential.
|
||||
|
||||
\paragraph{Calibration.} While MSE (Brier score) is reported, model calibration (e.g., reliability
|
||||
curves) was not assessed and is left for future work alongside prospective validation.
|
||||
|
||||
\subsubsection{Regular and Irregular Cycles}\label{subsubsec:methodology_regular_and_irregular_cycles}
|
||||
|
||||
A perfectly regular menstrual pattern does not require a sophisticated algorithm to predict ovulation—
|
||||
the next ovulation day is likely to be identical or very close to the previous one.
|
||||
To evaluate how different algorithms handle varying degrees of cycle variability,
|
||||
we compare model performance on two distinct user groups: one with highly regular cycles and another with highly irregular cycles.
|
||||
I compare model performance on two distinct user groups: one with highly regular cycles and another with highly irregular cycles.
|
||||
|
||||
These groups are defined by the standard deviation of the ovulation day across cycles.
|
||||
Specifically, we select the 100 users with the lowest standard deviation (regular group)
|
||||
Specifically, I have selected select the 100 users with the lowest standard deviation (regular group)
|
||||
and the 100 users with the highest standard deviation (irregular group).
|
||||
This comparison allows us to assess not only overall performance,
|
||||
This comparison allows me to assess not only overall performance,
|
||||
but also whether ovulation can be meaningfully predicted in the presence of strong temporal irregularity.
|
||||
|
||||
For a user to be included in the analysis, they must have at least five completed cycles.
|
||||
@@ -779,12 +786,12 @@ Additionally, ovulation must occur no later than cycle day 150, as later values
|
||||
biologically atypical cases that fall outside the scope of this study.
|
||||
|
||||
\subsubsection{Use Case Evaluation}\label{subsubsec:use_case_evaluation}
|
||||
We further evaluate the two distinct use cases introduced in Section~\ref{subsubsec:practical_use_cases}.
|
||||
I further evaluate the two distinct use cases introduced in Section~\ref{subsubsec:practical_use_cases}.
|
||||
For this purpose, two specialized evaluation algorithms were developed,
|
||||
enabling comparability between models and providing interpretable performance metrics for each scenario.
|
||||
|
||||
\paragraph{Contraception Use-Case:}
|
||||
For evaluating contraceptive effectiveness, we developed an algorithm inspired by the classical \emph{Pearl Index},
|
||||
\paragraph{Contraception Use Case:}
|
||||
For evaluating contraceptive effectiveness, I have developed an algorithm inspired by the classical \emph{Pearl Index},
|
||||
initially proposed by~\citeauthor{pearl_factors_1933} in~\citeyear{pearl_factors_1933}~\cite{pearl_factors_1933}.
|
||||
|
||||
\begin{figure}[htbp]
|
||||
@@ -797,14 +804,14 @@ initially proposed by~\citeauthor{pearl_factors_1933} in~\citeyear{pearl_factors
|
||||
\end{figure}
|
||||
|
||||
Figure~\ref{fig:methodology_use_case_contraception_decision_diagram} illustrates the decision logic of the evaluation algorithm.
|
||||
The fertility threshold can be adjusted, as will be explored in Section~\ref{subsec:use_case_evaluation_results}.
|
||||
The fertility threshold can be adjusted, as will be explored in Section~\ref{subsec:rq4_use_case_evaluations}.
|
||||
A day-specific probability of intercourse is computed for each user based on age distributions reported by~\cite{twenge_declines_2017}.
|
||||
We assume, that the users don't have any health-related or non-health-related issues affecting fertility.
|
||||
I assume that the users do not have any health-related or non-health-related issues affecting fertility.
|
||||
If a user's age is unknown, it is randomly drawn from the overall dataset distribution.
|
||||
Only users with at least one continuous year of data are included.
|
||||
To get a representative result, we use 100 randomly selected user years.
|
||||
To get a representative result, I will use 100 randomly selected user years.
|
||||
|
||||
Each day of data for a full year we count the following states by the algorithm:
|
||||
Each day of data for a full year I've counted the following states by the algorithm:
|
||||
\begin{itemize}
|
||||
\item \emph{Sex}: Intercourse occurred.
|
||||
\item \emph{Pregnancy}: fertility prediction allowed intercourse during a potentially fertile period, and it led to a pregnancy.
|
||||
@@ -817,13 +824,13 @@ This categorization captures both the contraceptive accuracy (avoiding pregnancy
|
||||
An algorithm achieving perfect contraceptive accuracy by always recommending abstinence would score highly but
|
||||
significantly limit user acceptability and utility.
|
||||
|
||||
To add a control group, we compute the potential pregnancies and number of sexual intercourse without using the models predictions,
|
||||
To add a control group, I will compute the potential pregnancies and number of sexual intercourse without using the models predictions,
|
||||
i.e., the group does not use any contraception.
|
||||
In this case, sexual intercourse can happen unrestricted on every day.
|
||||
|
||||
\paragraph{Pregnancy Use-Case:}
|
||||
\paragraph{Pregnancy Use Case:}
|
||||
|
||||
For the pregnancy use-case, we developed a complementary algorithm to evaluate model performance for users attempting to conceive.
|
||||
For the pregnancy use case, I have developed a complementary algorithm to evaluate model performance for users attempting to conceive.
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
@@ -835,16 +842,16 @@ For the pregnancy use-case, we developed a complementary algorithm to evaluate m
|
||||
\end{figure}
|
||||
|
||||
Figure~\ref{fig:methodology_use_case_pregnancy_decision_diagram} illustrates the decision logic of this algorithm.
|
||||
The fertility threshold is adjustable and is explored further in Section~\ref{subsec:use_case_evaluation_results}.
|
||||
The fertility threshold is adjustable and is explored further in Section~\ref{subsec:rq4_use_case_evaluations}.
|
||||
Since sexual intercourse frequency differs slightly for couples trying to conceive~\cite{gaskins_predictors_2018},
|
||||
we assume an average frequency of six times per month.
|
||||
I assume an average frequency of six times per month.
|
||||
|
||||
We assume no health-related fertility impairments for comparative simplicity,
|
||||
though we acknowledge that real-world fertility is influenced by numerous complex factors.
|
||||
I assume no health-related fertility impairments for comparative simplicity,
|
||||
though I acknowledge that real-world fertility is influenced by numerous complex factors.
|
||||
Similar to the contraception scenario, only users with at least one continuous year of data are considered.
|
||||
For representative results, we use 100 randomly selected user years.
|
||||
For representative results, I will use 100 randomly selected user years.
|
||||
|
||||
For each day in a full year we count occurrences of the following states:
|
||||
For each day in a full year I will count occurrences of the following states:
|
||||
\begin{itemize}
|
||||
\item \emph{Sex}: Intercourse occurred
|
||||
\item \emph{Pregnancy}: Correct fertile prediction, intercourse occurred, resulting in pregnancy.
|
||||
@@ -855,19 +862,39 @@ For each day in a full year we count occurrences of the following states:
|
||||
This classification measures both fertility prediction accuracy and the impact of incorrect deferrals.
|
||||
A model overly predicting fertility would increase potential pregnancy rates but negatively affect usability and trust due to misdirected efforts.
|
||||
|
||||
For the pregnancy case, we also compute a control group.
|
||||
For the pregnancy case, I will also compute a control group.
|
||||
Here, every day is considered potentially fertile and thus allows for intercourse.
|
||||
|
||||
\subsection{Ethical Considerations}\label{subsec:ethical_considerations}
|
||||
|
||||
This study was conducted using pseudonymized data collected in accordance with the terms of service and privacy policy of the data provider, VivoSensMedical GmbH (Leipzig, Germany).
|
||||
All users whose data were included had consented to the use of their recordings for analytical purposes at the time of data collection.
|
||||
The use of machine learning for fertility prediction raises important ethical
|
||||
considerations due to the sensitive nature of reproductive health data and
|
||||
the potential consequences of incorrect predictions.
|
||||
While this thesis focuses on technical feasibility, the clinical and societal context must
|
||||
also be addressed. \\
|
||||
|
||||
The study protocol was reviewed and approved by the provider's internal legal and scientific advisory team,
|
||||
which is responsible for ensuring ethical and regulatory compliance.
|
||||
\noindent\textbf{User safety and risk of harm.} Fertility prediction errors have
|
||||
asymmetric consequences: a false negative in contraception use may lead to
|
||||
unintended pregnancy, while a false positive in conception support may cause frustration but less direct harm.
|
||||
Any system derived from this research must therefore prioritize safety, adopt conservative thresholds for contraceptive
|
||||
contexts, and clearly communicate uncertainty to users.
|
||||
Importantly, predictions presented here are research results only and do not constitute medical advice. \\
|
||||
|
||||
All data used in this study were pseudonymized prior to access.
|
||||
No personal identifiers or sensitive metadata were included.
|
||||
Additional safeguards were implemented to ensure data confidentiality and integrity,
|
||||
including restricted access and use solely for the purposes of model development and evaluation.
|
||||
No compensation was provided to participants, as the data were originally collected as part of routine usage under the agreed terms.
|
||||
\noindent\textbf{Data privacy and autonomy.} The dataset contains highly sensitive, personal health information.
|
||||
All data were pseudonymized, processed under strict privacy safeguards, and used exclusively for research and product
|
||||
improvement by the device manufacturer.
|
||||
Even so, the possibility of re-identification in health datasets cannot be fully excluded.
|
||||
Future deployments must adhere to the highest standards of data protection and give
|
||||
users transparent control over how their information is used. \\
|
||||
|
||||
\noindent\textbf{Equity and generalizability.} The dataset reflects users of a single
|
||||
device and may not represent the diversity of menstrual patterns across
|
||||
populations, ages, and health conditions.
|
||||
Models trained here may therefore perform differently across groups.
|
||||
Explicit fairness evaluations and diverse validation cohorts are essential before any clinical or consumer application. \\
|
||||
|
||||
\noindent\textbf{Commercial and clinical responsibility.} The data partner in this
|
||||
work is a medical device company, which underscores the need to guard against commercial bias.
|
||||
Results should be independently validated, and any translation into clinical or consumer use must be preceded by prospective,
|
||||
peer-reviewed trials.
|
||||
Without such validation, deploying fertility prediction tools risks undermining trust and causing harm. \\
|
||||
|
||||
Reference in New Issue
Block a user