۱ محمدمهدی یوسفی
استفاده binomial در شبیه سازی دارو
مسعود کاویانی حل شده توسط مسعود کاویانی

با binomial چطور میشه در مثال قبل استفاده کرد؟

به صورت عمومی به صورت زیر می‌توانید از تابع binomial در آزمون‌های آماری استفاده کنید:

from scipy.stats import binomtest
import numpy as np
def ab_test_binomial(visitors_a, conversions_a, visitors_b, conversions_b, alternative='two-sided'):
    """
    Perform A/B testing using binomial test.
    Parameters:
    - visitors_a: Total visitors in group A
    - conversions_a: Conversions in group A
    - visitors_b: Total visitors in group B
    - conversions_b: Conversions in group B
    - alternative: 'two-sided', 'less', or 'greater' (default: 'two-sided')
    Returns:
    - p_value: The calculated p-value
    - result: Interpretation string
    """
    # Calculate conversion rates
    rate_a = conversions_a / visitors_a
    rate_b = conversions_b / visitors_b
    # Perform binomial test comparing B to A's rate
    test_result = binomtest(
        k=conversions_b,
        n=visitors_b,
        p=rate_a,
        alternative=alternative
    )
    p_value = test_result.pvalue
    # Interpretation
    if p_value < 0.05:
        if rate_b > rate_a:
            result = "Statistically significant: B performs better than A"
        else:
            result = "Statistically significant: A performs better than B"
    else:
        result = "Not statistically significant: No difference detected"
    return p_value, result, rate_a, rate_b
# Example usage
if __name__ == "__main__":
    # Example data
    visitors_a = 1000
    conversions_a = 100
    visitors_b = 1050
    conversions_b = 130
    p_value, result, rate_a, rate_b = ab_test_binomial(
        visitors_a, conversions_a, visitors_b, conversions_b
    )
    print(f"Conversion rate A: {rate_a:.2%}")
    print(f"Conversion rate B: {rate_b:.2%}")
    print(f"P-value: {p_value:.4f}")
    print(result)

توضیحات کد:

  1. این کد از تابع binomtest از کتابخانه scipy.stats استفاده می‌کند که یک تست دوجمله‌ای دقیق انجام می‌دهد.
  2. پارامترهای ورودی:
    • visitors_a: تعداد کل بازدیدکنندگان در گروه A
    • conversions_a: تعداد تبدیل‌ها در گروه A
    • visitors_b: تعداد کل بازدیدکنندگان در گروه B
    • conversions_b: تعداد تبدیل‌ها در گروه B
    • alternative: نوع تست ('two-sided' برای تست دوطرفه، 'less' یا 'greater' برای تست یکطرفه)
  3. خروجی‌ها:
    • p-value: مقدار احتمال مشاهده نتایج تحت فرض صفر
    • نتیجه تفسیری: آیا تفاوت معنی‌دار است یا خیر
    • نرخ تبدیل برای هر گروه
  4. مثال استفاده:
    • گروه A: 1000 بازدیدکننده، 100 تبدیل (نرخ 10%)
    • گروه B: 1050 بازدیدکننده، 130 تبدیل (نرخ ~12.38%)
    • برنامه p-value و تفسیر نتیجه را نمایش می‌دهد
بهترین پاسخ
مسعود کاویانی ۱۳ فروردین ۱۴۰۴، ۱۶:۳۰