বেইসিয়ান সাইকেল মডেলিং ব্যাখ্যা: কেন আমরা সিগমা দেখাই, কোনো তারিখ নয়

বেশিরভাগ সাইকেল অ্যাপ আপনাকে একটি নিশ্চিত তারিখ দেখায়। "পিরিয়ড: মার্চ 14।" এটি দেখতে একটি বাস্তব তথ্যের মতো। আসলে এটি একটি UX সিদ্ধান্ত, যা একটি মাত্র সংখ্যার আড়ালে একটি সম্ভাবনার বিন্যাস লুকিয়ে রাখে। বেইসিয়ান সাইকেল মডেলিং একই গণনা করে, কিন্তু আপনাকে এর বিস্তারটি দেখায়।

এই পোস্টে ব্যাখ্যা করা হয়েছে গণনাটি আসলে কীভাবে কাজ করে, কেন Soulwise নিশ্চয়তার ভান না করে সিগমা তুলে ধরে, আর প্রতিদিনের UI-তে সেটি দেখতে কেমন হয়।

এখানে "বেইজিয়ান" আসলে কী বোঝায়

বেইজিয়ান ইনফারেন্স দুটো জিনিসকে একসঙ্গে যুক্ত করে:

  • একটি প্রায়োর (পূর্বধারণা): এই নির্দিষ্ট ব্যবহারকারীর তথ্য পাওয়ার আগে চক্রের দৈর্ঘ্য নিয়ে আপনার প্রাথমিক বিশ্বাস।
  • একটি লাইকলিহুড (সম্ভাব্যতা): প্রতিটি নতুন লগ করা চক্র আপনাকে কী জানায়।

এই দুটোকে গুণ করুন, নর্মালাইজ করুন, আর আপনি পাবেন একটি পোস্টেরিয়র (পরবর্তী ধারণা): আপনার হালনাগাদ বিশ্বাস। সেই পোস্টেরিয়রটিই পরের চক্রের জন্য প্রায়োর হয়ে যায়। যত বেশি চক্রের তথ্য আসে, মডেল ততই নিখুঁত হয়।

Soulwise শুরু করে একটি গাউসিয়ান প্রায়োর দিয়ে, যার কেন্দ্র mu = 28 দিন এবং স্ট্যান্ডার্ড ডেভিয়েশন 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 কোনো বক্ররেখা দেখাতে পারে না। তাই Soulwise একে দুটি জিনিসে সংকুচিত করে:

  • একটি সম্ভাব্য পরিসর। যে সীমার মধ্যে পোস্টেরিয়র তার বেশিরভাগ ভর রাখে (যেমন, কেন্দ্রীয় 68% ব্যবধান, মোটামুটি +/- 1 সিগমা)।
  • একটি কনফিডেন্স লেবেল। তিনটি সহজবোধ্য ট্যাগের একটি:
    • "সম্ভাব্য সম্পর্ক" যখন সিগমা সংকীর্ণ এবং ডেটা সাম্প্রতিক।
    • "দুর্বল সংকেত" যখন সিগমা প্রশস্ত বা ডেটা স্বল্প।
    • "পর্যাপ্ত ডেটা নেই" যখন মডেলের ন্যূনতম লগ করা চক্রের চেয়ে কম পাওয়া যায়।

তাই "পিরিয়ড: মার্চ 14,"-এর পরিবর্তে ব্যবহারকারী দেখেন "সম্ভবত মার্চ 12-16, দুর্বল সংকেত।" এটি মডেলের প্রকৃত আউটপুট, কোনো UX অলংকরণ নয়।

কেন কিছুই লুকানো হয় না

তিনটি কারণ।

সততা। একটি প্যাটার্ন ট্র্যাকার এমন কোনো তারিখের প্রতিশ্রুতি দিতে পারে না, যা সে জানে না। সিগমা সামনে তুলে ধরাই একমাত্র উপায়, যাতে ব্যবহারকারী আস্থা যাচাই করতে পারেন।

নিরাপত্তা। আত্মবিশ্বাসী দেখতে একটি তারিখ মানুষকে এমন বিষয়গুলোর জন্য পরিকল্পনা করতে উৎসাহিত করে, যেগুলো অ্যাপটি সমর্থন করতে পারে না—যেমন গর্ভধারণ, গর্ভনিরোধ এবং চিকিৎসাগত সিদ্ধান্ত। একটি আত্মবিশ্বাসের লেবেল বলে দেয় "এটি একটি আনুমানিক হিসাব," আর তা-ই এটি আসলে।

অনিয়মিত চক্রের ক্ষেত্রে দৃঢ়তা। PCOS, পেরিমেনোপজ, পিল-পরবর্তী চক্র এবং হরমোন থেরাপি—সবই সিগমাকে আরও প্রশস্ত করে। একটি প্রচলিত ট্র্যাকার হয় খুব বাজেভাবে ভুল করে, নয়তো নীরবে ব্যবহারকারীকে ছেড়ে দেয়। একটি বেইজীয় ট্র্যাকার শুধু আনুমানিক হিসাবটিকে "দুর্বল সংকেত" লেবেল দেয় এবং কাজ চালিয়ে যায়।

মডেলটি যা নয়

কিছু কঠিন সীমা, লিখে রাখা হলো যাতে এগুলো এদিক-ওদিক না সরে যায়:

  • এটি পরবর্তী পিরিয়ডের তারিখের পরিসীমার বাইরে নির্দিষ্ট কোনো চক্রের ঘটনা অনুমান করে না।
  • এটি পরিবার-পরিকল্পনার কোনো সময়সীমা দেয় না।
  • এটি গর্ভধারণ বা গর্ভনিরোধের ব্যবহারের জন্য তৈরি করা হয়নি।
  • এটি ক্লিনিক্যালি যাচাই করা নয় এবং পিরিয়ড মিস হওয়া, অনিয়মিত রক্তস্রাব, বা দীর্ঘস্থায়ী উপসর্গের ক্ষেত্রে চিকিৎসা পরামর্শের বিকল্প নয়।

এই সীমাগুলো মডেলের সাবধানতার প্রকাশ নয়। এগুলো মডেলকে সঠিক পরিসরে রাখার প্রকাশ। পিরিয়ড অনুমান আর পরিবার-পরিকল্পনার অনুমান আলাদা সমস্যা—যাদের তথ্যের চাহিদা আলাদা এবং নিয়ন্ত্রক মানদণ্ডও আলাদা।

যেখানে গণিত মিলে যায় প্রতিদিনের অভ্যাসের সঙ্গে

Soulwise-এ Bayesian আউটপুট প্রতিদিনের চেক-ইনে ব্যবহৃত চক্র-পর্যায়ের প্রেক্ষাপট-কে খাবার জোগায়। 20-সেকেন্ডের এই অভ্যাসটি জিজ্ঞেস করে আপনি কেমন বোধ করছেন; উত্তরে পাঁচটি উপাদানের একটি হিসেবে চক্র-পর্যায়কে কাজে লাগানো হয়। যখন সিগমা বিস্তৃত থাকে, তখন রেসপন্স কার্ড চক্র-পর্যায়কে কম গুরুত্ব দেয়। যখন সিগমা সংকীর্ণ থাকে, তখন এটি চক্র-পর্যায়কে বেশি গুরুত্ব দেয়। গণিত নিজে কতটা আত্মবিশ্বাসী, সে ব্যাপারে সৎ থেকেই নিজের গুরুত্ব অর্জন করে।

সংক্ষেপে বললে: একটি সত্যিকারের Bayesian ট্র্যাকার সিগমাকে সামনে নিয়ে আসে। আপনার অ্যাপ যদি একটিমাত্র আত্মবিশ্বাসী তারিখ দেখায়, তাহলে ভেতরের মডেলটি হয়তো একই, কিন্তু উপস্থাপনাটি আসলে যা জানে তা লুকিয়ে রাখছে।

প্রায়শই জিজ্ঞাসিত প্রশ্ন

আমাদের ফ্রি টুলস ব্যবহার করে দেখুন

আপনার জন্মছক বিশ্লেষণ করে ব্যক্তিগত অন্তর্দৃষ্টি পান

এই নিবন্ধটি শেয়ার করুন