Skip to content

Probabilistic Cycle Model: Uncertainty-Aware Menstrual Cycle Prediction#12

Open
alwin-m wants to merge 1 commit intomainfrom
ros-cycle-8
Open

Probabilistic Cycle Model: Uncertainty-Aware Menstrual Cycle Prediction#12
alwin-m wants to merge 1 commit intomainfrom
ros-cycle-8

Conversation

@alwin-m
Copy link
Owner

@alwin-m alwin-m commented Jan 13, 2026

Branch: probabilistic-cycle-model

Title

Probabilistic Cycle Model: Uncertainty-Aware Menstrual Cycle Prediction


Description

This branch introduces a probabilistic, uncertainty-aware mathematical model for menstrual cycle prediction in ROS Cycle.

Earlier versions of ROS Cycle relied primarily on deterministic date arithmetic: given a last menstrual period and an average cycle length, future dates were projected using fixed offsets. While simple and transparent, that approach implicitly treated the menstrual cycle as regular and predictable.

This branch explicitly acknowledges that human biological cycles are variable, even in healthy individuals. Instead of hiding that variability, the model makes it visible, measurable, and explainable.


What Changes in This Branch

1. Deterministic Baseline Remains

The system still computes a clear deterministic baseline:

  • Cycle day indexing based on modular arithmetic
  • Reference phase boundaries (menstrual, follicular, ovulation center, luteal)
  • Calendar projections for future months

These components provide structural clarity and prevent the model from becoming opaque.


2. Ovulation as a Likelihood Curve

Ovulation is no longer represented as a single predicted day.

Instead, the model represents ovulation timing as a continuous likelihood curve centered around a biological prior (approximately 14 days before the next period). A Gaussian-style function is used to assign relative likelihood to each cycle day.

This curve does not claim medical certainty. It communicates relative plausibility rather than truth.


3. Fertility as Probability, Not a Binary State

Fertile days are derived from ovulation likelihood values rather than fixed windows.

  • High fertility, medium fertility, and low fertility are defined using probability thresholds
  • Boundaries are intentionally soft, not sharp
  • The model avoids labeling any single day as definitively fertile or infertile

This reduces false confidence and better reflects biological reality.


4. Explicit Modeling of Uncertainty

Cycle variability (± days) is treated as a first-class mathematical parameter.

Variability influences:

  • The width of the ovulation likelihood curve
  • The size of the fertile window
  • The confidence displayed to the user

Higher variability produces wider, flatter probability distributions and lower confidence. Lower variability produces narrower curves and higher confidence.


5. Transparent Confidence Estimation

The model computes a confidence score derived from the ratio between variability and average cycle length.

This score is:

  • Bounded
  • Interpretable
  • Clearly communicated as confidence in prediction, not health status

The goal is not reassurance, but honesty.


What This Branch Does Not Do

  • It does not diagnose conditions
  • It does not predict hormonal states
  • It does not claim medical accuracy
  • It does not use machine learning or external data

All computation remains local, deterministic where possible, and probabilistic where uncertainty cannot be eliminated.


Why This Branch Exists

This branch exists to solve a deeper problem than date prediction:

How can a system model human biological processes responsibly when data is limited, uncertainty is unavoidable, and privacy must be preserved?

The probabilistic cycle model is an answer to that question — not a final one, but a principled starting point.


Impact on the Project

This branch:

  • Raises the mathematical rigor of ROS Cycle
  • Improves ethical clarity around predictions
  • Makes assumptions explicit and reviewable
  • Creates a stable foundation for future research, documentation, and extensions

It marks the transition of ROS Cycle from a calendar-based tracker to an uncertainty-aware modeling system.


Summary

The probabilistic-cycle-model branch does not attempt to predict the body with certainty.

It attempts something more difficult and more honest:

to represent what is known, what is uncertain, and how confident the system can reasonably be — using clear mathematics and transparent assumptions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant