बायेसियन साइकल मॉडलिंग समझें: हम सिग्मा क्यों दिखाते हैं, तारीख क्यों नहीं

ज़्यादातर साइकल app आपको एक भरोसेमंद तारीख दिखाते हैं। "पीरियड: मार्च 14।" यह एक तथ्य जैसा लगता है। दरअसल यह एक UX फ़ैसला है, जो एक अकेले नंबर के पीछे एक प्रोबेबिलिटी डिस्ट्रिब्यूशन छिपा देता है। बायेसियन साइकल मॉडलिंग वही गणित करती है, पर आपको पूरा फैलाव दिखाती है।

यह पोस्ट बताती है कि गणित असल में कैसे काम करता है, Soulwise निश्चितता का दिखावा करने के बजाय सिग्मा को सामने क्यों लाता है, और रोज़मर्रा की UI में यह कैसा दिखता है।

यहाँ "Bayesian" का असल मतलब क्या है

Bayesian inference दो चीज़ों को जोड़ता है:

  • एक prior: इस ख़ास उपयोगकर्ता का डेटा मिलने से पहले, चक्र की लंबाई के बारे में आपकी शुरुआती धारणा।
  • एक likelihood: हर नए दर्ज किए गए चक्र से आपको क्या पता चलता है।

इन्हें गुणा करें, normalize करें, और आपको मिलता है एक posterior: आपकी अद्यतन धारणा। वही posterior अगले चक्र के लिए prior बन जाता है। जैसे-जैसे और चक्र दर्ज होते हैं, मॉडल और सटीक होता जाता है।

Soulwise एक Gaussian prior से शुरू होता है जो mu = 28 दिन पर केंद्रित होता है और जिसका standard deviation sigma = 5 दिन होता है। यह व्यापक आबादी में चक्र की लंबाई का मोटा-मोटा आकार है। जैसे-जैसे आपके अपने चक्र दर्ज होते जाते हैं, मॉडल केंद्र को आपके निजी औसत की ओर खिसकाता है और आपकी परिवर्तनशीलता के आधार पर sigma को कसता (या ढीला करता) है।

संयुग्मित अपडेट, एक पैराग्राफ में

गॉसियन प्रायर और गॉसियन लाइकलीहुड के लिए गणित अच्छे से सरल हो जाता है। अगर आपका प्रायर कहता है cycle ~ N(mu_0, sigma_0) और आप साइकल देखते हैं x_1, x_2, ..., x_n, तो पोस्टीरियर भी गॉसियन होता है:

posterior_mean = (mu_0 / sigma_0^2 + sum(x_i) / sigma_observed^2) / (1 / sigma_0^2 + n / sigma_observed^2)
posterior_sigma = sqrt(1 / (1 / sigma_0^2 + n / sigma_observed^2))

मतलब: आप जितने ज़्यादा साइकल लॉग करेंगे, प्रायर उतना ही कम मायने रखेगा और आपका निजी डेटा उतना ही ज़्यादा हावी होगा। लगभग 3 लॉग किए गए साइकल के बाद, पॉपुलेशन प्रायर का योगदान छोटा रह जाता है; लगभग 10, के बाद यह सिर्फ़ शोर बन जाता है।

उपयोगकर्ता को क्या दिखता है

पोस्टीरियर एक वक्र है। UI किसी notification में वक्र नहीं दिखा सकता। इसलिए Soulwise इसे दो चीज़ों में समेट देता है:

  • एक संभावित दायरा। वह अंतराल जहाँ पोस्टीरियर अपना ज़्यादातर हिस्सा रखता है (जैसे, केंद्रीय 68% अंतराल, लगभग +/- 1 सिग्मा)।
  • एक भरोसे का लेबल। तीन सरल टैग में से एक:
    • "संभावित सम्बन्ध" जब सिग्मा कसी हुई हो और डेटा हाल का हो।
    • "कमज़ोर संकेत" जब सिग्मा चौड़ी हो या डेटा कम हो।
    • "पर्याप्त डेटा नहीं" जब मॉडल के न्यूनतम दर्ज किए गए चक्रों से कम उपलब्ध हों।

तो "Period: March 14," के बजाय उपयोगकर्ता को दिखता है "संभवतः March 12-16, कमज़ोर संकेत।" यह मॉडल का असली नतीजा है, कोई UX सजावट नहीं।

कुछ भी क्यों न छिपाएँ

तीन कारण।

ईमानदारी। कोई पैटर्न ट्रैकर ऐसी तारीख का वादा नहीं कर सकता जो उसे पता ही नहीं। सिग्मा को सामने रखना ही एकमात्र तरीका है जिससे यूज़र भरोसे को परख सके।

सुरक्षा। आत्मविश्वास से भरी दिखने वाली कोई तारीख लोगों को उसके आसपास ऐसी योजनाएँ बनाने के लिए प्रेरित करती है, जिनका समर्थन app नहीं कर सकता — जैसे गर्भधारण, गर्भनिरोधन और चिकित्सकीय फ़ैसले। एक कॉन्फ़िडेंस लेबल कहता है "यह एक अनुमान है," और सच में यह यही है।

अनियमित चक्रों के लिए मज़बूती। PCOS, पेरीमेनोपॉज़, गर्भनिरोधक गोली बंद करने के बाद के चक्र, और हार्मोन थेरेपी — ये सब सिग्मा को बढ़ा देते हैं। एक पारंपरिक ट्रैकर या तो बुरी तरह चूक जाता है या चुपचाप यूज़र को छोड़ देता है। एक बेज़ियन ट्रैकर बस अनुमान को "कमज़ोर सिग्नल" का लेबल दे देता है और काम करता रहता है।

मॉडल क्या नहीं है

कुछ सख़्त सीमाएँ, यहाँ लिख दी गई हैं ताकि ये कभी बदलें नहीं:

  • यह अगली अवधि की तारीख़ की सीमा से आगे किसी विशेष चक्र की घटनाओं का अनुमान नहीं लगाता।
  • यह परिवार-नियोजन की कोई विंडो नहीं बताता।
  • इसे गर्भधारण या गर्भनिरोध जैसे उपयोग के लिए नहीं बनाया गया है।
  • यह चिकित्सकीय रूप से प्रमाणित नहीं है और छूटे हुए मासिक धर्म, अनियमित रक्तस्राव, या लगातार बने रहने वाले लक्षणों के लिए चिकित्सकीय सलाह की जगह नहीं लेता।

ये सीमाएँ मॉडल के सतर्क रहने की वजह से नहीं हैं। ये इसलिए हैं कि मॉडल का दायरा सही ढंग से तय किया गया है। अवधि का अनुमान और परिवार-नियोजन का अनुमान — ये अलग समस्याएँ हैं, जिनकी डेटा ज़रूरतें भी अलग हैं और नियामक मानक भी अलग।

जहाँ गणित रोज़ की दिनचर्या से मिलता है

Soulwise में, Bayesian आउटपुट उस साइकिल-फेज़ संदर्भ को आधार देता है जो रोज़ के चेक-इन में काम आता है। 20-सेकंड की यह दिनचर्या आपसे पूछती है कि आप कैसा महसूस कर रहे हैं; आपके जवाब में साइकिल फेज़ को पाँच इनपुट में से एक के रूप में लिया जाता है। जब सिग्मा चौड़ा होता है, तो रिस्पॉन्स कार्ड साइकिल फेज़ को कम वज़न देता है। जब सिग्मा कसा हुआ होता है, तो यह साइकिल फेज़ को ज़्यादा वज़न देता है। गणित अपने वज़न का हक़ इस बात से कमाता है कि वह अपने भरोसे के बारे में ईमानदार रहता है।

छोटा सार यह है: एक सच्चा Bayesian ट्रैकर सिग्मा को सामने लाता है। अगर आपका app एक भरोसेमंद-सी इकलौती तारीख दिखाता है, तो अंदर का मॉडल शायद वही हो, पर पेश करने का तरीका छिपा रहा है कि वह असल में क्या जानता है।

अक्सर पूछे जाने वाले सवाल

साधारण औसत यह नज़रअंदाज़ कर देता है कि अनुमान कितना भरोसेमंद है। एक ही 28-दिन के औसत वाले दो उपयोगकर्ताओं में चक्र की परिवर्तनशीलता बहुत अलग हो सकती है। बेज़ियन मॉडल केवल मध्यबिंदु ही नहीं, बल्कि आपके डेटा के फैलाव को भी ट्रैक करते हैं, इसलिए अनियमित चक्रों के लिए अनुमानित दायरा चौड़ा हो जाता है और नियमित चक्रों के लिए संकरा।

सिग्मा चक्र-अवधि वितरण का मानक विचलन है। छोटा सिग्मा (2 दिन से कम) यह दर्शाता है कि आपके चक्र बहुत पास-पास जमा हैं; संभावित दायरा कुछ ही दिनों का होता है। बड़ा सिग्मा (5+ दिन) यह दर्शाता है कि चक्र एक सप्ताह या उससे अधिक में फैले हैं, और ऐप को यह बताना चाहिए।

क्योंकि मॉडल वास्तव में कोई एक तारीख नहीं जानता। एक ही तारीख देना एक UX विकल्प है जो अनिश्चितता को छिपा देता है। दायरे को दिखाना ज़्यादा ईमानदार है और इस बात से मेल खाता है कि गणित असल में कैसे काम करता है।

नहीं। बेज़ियन चक्र मॉडलिंग यह अनुमान लगाती है कि अगला मासिक धर्म कब आने की संभावना है। यह परिवार नियोजन का साधन नहीं है, गर्भनिरोधक का साधन नहीं है, और न ही चिकित्सकीय रूप से मान्य तरीकों का विकल्प है।

हमारे मुफ़्त टूल आज़माएँ

अपनी जन्म कुंडली के आधार पर व्यक्तिगत जानकारी पाएँ