"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > تذوق الشاي: حزمة بايثون للتحليل الإحصائي لاختبارات أ/ب

تذوق الشاي: حزمة بايثون للتحليل الإحصائي لاختبارات أ/ب

تم النشر بتاريخ 2024-11-08
تصفح:317

tea-tasting: a Python package for the statistical analysis of A/B tests

مقدمة

لقد قمت بتطوير tea-tasting، وهي حزمة بايثون للتحليل الإحصائي لاختبارات A/B والتي تضم:

  • اختبار الطالب، Bootstrap، تقليل التباين باستخدام CUPED، تحليل الطاقة، وطرق وأساليب إحصائية أخرى خارج الصندوق.
  • دعم مجموعة واسعة من واجهات البيانات الخلفية، مثل BigQuery، وClickHouse، وPostgreSQL/GreenPlum، وSnowflake، وSpark، وPandas، و20 واجهة خلفية أخرى مدعومة من Ibis.
  • واجهة برمجة التطبيقات القابلة للتوسيع: تحديد المقاييس المخصصة واستخدام الاختبارات الإحصائية التي تختارها.
  • واجهة برمجة تطبيقات ملائمة لتقليل العمل اليدوي، وإطار عمل لتقليل الأخطاء.
  • توثيق تفصيلي.

في منشور المدونة هذا، أستكشف كلًا من هذه المزايا لاستخدام تذوق الشاي في تحليل التجارب.

إذا كنت متشوقًا لتجربتها، فراجع الوثائق.

الأساليب الإحصائية

تذوق الشاي يشمل الأساليب والتقنيات الإحصائية التي تغطي معظم ما قد تحتاجه في تحليل التجارب.

تحليل المتوسطات والنسب المترية باستخدام اختبار الطالب واختبار Z. أو استخدم Bootstrap لتحليل أي إحصائية أخرى من اختيارك. وهناك طريقة محددة مسبقًا لتحليل الكميات باستخدام Bootstrap. تذوق الشاي يكتشف أيضًا عدم التطابق في نسب العينات للصيغ المختلفة لاختبار أ/ب.

تذوق الشاي يطبق طريقة دلتا لتحليل نسب المتوسطات. على سبيل المثال، متوسط ​​عدد الطلبات لكل متوسط ​​عدد الجلسات، بافتراض أن الجلسة ليست وحدة عشوائية.

استخدم بيانات ما قبل التجربة، أو توقعات المقاييس، أو المتغيرات المشتركة الأخرى لتقليل التباين وزيادة حساسية التجربة. يُعرف هذا النهج أيضًا باسم CUPED أو CUPAC.

قد يكون حساب فترات الثقة لتغير النسبة المئوية في اختبار الطالب واختبار Z أمرًا صعبًا. مجرد أخذ فاصل الثقة للتغيير المطلق وتقسيمه على متوسط ​​التحكم سيؤدي إلى نتيجة متحيزة. يطبق تذوق الشاي طريقة دلتا لحساب الفاصل الزمني الصحيح.

تحليل القوة الإحصائية لاختبار الطالب واختبار Z. هناك ثلاثة خيارات ممكنة:

  • احسب حجم التأثير، بالنظر إلى القوة الإحصائية والعدد الإجمالي للملاحظات.
  • حساب العدد الإجمالي للملاحظات، بالنظر إلى القوة الإحصائية وحجم التأثير.
  • حساب القوة الإحصائية، بالنظر إلى حجم التأثير والعدد الإجمالي للملاحظات.

تعرف على المزيد في دليل المستخدم التفصيلي.

تتضمن خارطة الطريق ما يلي:

  • اختبار الفرضيات المتعددة:
    • معدل الخطأ العائلي: طريقة هولم-بونفيروني.
    • معدل الاكتشاف الكاذب: إجراء بنياميني-هوخبيرج.
  • اختبارات ومحاكاة A/A لتحليل قوة أي اختبار إحصائي.
  • المزيد من الاختبارات الإحصائية:
    • الاختبارات التقريبية والدقيقة لبيانات التردد.
    • اختبار مان-ويتني يو.
  • الاختبار المتسلسل: قيمة p صالحة دائمًا باستخدام mSPRT.

يمكنك تحديد مقياس مخصص باستخدام اختبار إحصائي من اختيارك.

الواجهات الخلفية للبيانات

هناك العديد من قواعد البيانات والمحركات المختلفة لتخزين ومعالجة البيانات التجريبية. وفي معظم الحالات، ليس من الفعال سحب البيانات التجريبية التفصيلية إلى بيئة بايثون. تتطلب العديد من الاختبارات الإحصائية، مثل اختبار الطالب أو اختبار Z، بيانات مجمعة فقط للتحليل.

على سبيل المثال، إذا تم تخزين البيانات التجريبية الأولية في ClickHouse، فسيكون من الأسرع والأكثر كفاءة حساب الأعداد والمتوسطات والفروق والتباينات المشتركة مباشرة في ClickHouse بدلاً من جلب البيانات الدقيقة وتنفيذ التجميعات في بيئة Python.

يمكن أن يكون الاستعلام عن جميع الإحصائيات المطلوبة يدويًا مهمة شاقة وعرضة للأخطاء. على سبيل المثال، لا يتطلب تحليل مقاييس النسبة وتقليل التباين باستخدام CUPED عدد الصفوف والتباين فحسب، بل يتطلب أيضًا التباينات المشتركة. ولكن لا تقلق —تذوق الشاي يفيدك في كل هذا.

تذوق الشاي يقبل البيانات إما على شكل Pandas DataFrame أو Ibis Table. Ibis عبارة عن حزمة Python تعمل كواجهة برمجة تطبيقات DataFrame للعديد من الواجهات الخلفية للبيانات. وهو يدعم 20 واجهة خلفية بما في ذلك BigQuery وClickHouse وPostgreSQL/GreenPlum وSnowflake وSpark. يمكنك كتابة استعلام SQL، وتغليفه كجدول Ibis، وتمريره إلى  tea-tasting.

ضع في اعتبارك أن تذوق الشاي يفترض أن:

  • يتم تجميع البيانات حسب وحدات التوزيع العشوائي، مثل المستخدمين الفرديين.
  • يوجد عمود يشير إلى متغير اختبار A/B (يُسمى عادةً بـ A، B، وما إلى ذلك).
  • تم تضمين جميع الأعمدة اللازمة لحسابات المقاييس (مثل عدد الطلبات والإيرادات وما إلى ذلك) في الجدول.

تتطلب بعض الأساليب الإحصائية، مثل Bootstrap، بيانات تفصيلية للتحليل. في هذه الحالة، يجلب  تذوق الشاي البيانات التفصيلية أيضًا.

تعرف على المزيد في الدليل الخاص بالواجهات الخلفية للبيانات.

واجهة برمجة تطبيقات مريحة

يمكنك تنفيذ جميع المهام المذكورة أعلاه باستخدام NumPy وSciPy وIbis فقط. في الواقع، يستخدم تذوق الشاي هذه العبوات تحت الغطاء. ما يقدمه تذوق الشاي في الأعلى هو واجهة برمجة تطبيقات مريحة ذات مستوى أعلى.

العرض أسهل من الوصف. إليك المثال الأساسي:

import tea_tasting as tt


data = tt.make_users_data(seed=42)

experiment = tt.Experiment(
    sessions_per_user=tt.Mean("sessions"),
    orders_per_session=tt.RatioOfMeans("orders", "sessions"),
    orders_per_user=tt.Mean("orders"),
    revenue_per_user=tt.Mean("revenue"),
)

result = experiment.analyze(data)
print(result)
#>             metric control treatment rel_effect_size rel_effect_size_ci pvalue
#>  sessions_per_user    2.00      1.98          -0.66%      [-3.7%, 2.5%]  0.674
#> orders_per_session   0.266     0.289            8.8%      [-0.89%, 19%] 0.0762
#>    orders_per_user   0.530     0.573            8.0%       [-2.0%, 19%]  0.118
#>   revenue_per_user    5.24      5.73            9.3%       [-2.4%, 22%]  0.123

يعد النهج المكون من مرحلتين، مع تحديد المعلمات والاستدلال المنفصل، شائعًا في النمذجة الإحصائية. يساعد هذا الفصل في جعل الكود أكثر نمطية وأسهل للفهم.

تذوق الشاي يقوم بإجراء حسابات يمكن أن تكون صعبة وعرضة للخطأ:

  • تحليل مقاييس النسبة بطريقة دلتا.
  • تقليل التباين باستخدام CUPED/CUPAC (أيضًا بالاشتراك مع طريقة دلتا لمقاييس النسبة).
  • حساب فترات الثقة لكل من التغير المطلق والنسبة المئوية.
  • تحليل القوة الإحصائية.

كما يوفر إطارًا لتمثيل البيانات التجريبية لتجنب الأخطاء. يعد تجميع البيانات حسب وحدات التوزيع العشوائي وتضمين جميع الوحدات في مجموعة البيانات أمرًا مهمًا للتحليل الصحيح.

بالإضافة إلى ذلك، يوفر تذوق الشاي بعض الأساليب والوظائف المريحة، مثل التنسيق الجميل للنتيجة ومدير السياق للمعلمات المترية.

التوثيق

أخيرًا وليس آخرًا: التوثيق. أعتقد أن التوثيق الجيد أمر بالغ الأهمية لاعتماد الأداة. ولهذا السبب قمت بكتابة العديد من أدلة المستخدم ومرجع API.

أوصي بالبدء بمثال الاستخدام الأساسي في دليل المستخدم. ومن ثم يمكنك استكشاف موضوعات محددة، مثل تقليل التباين أو تحليل الطاقة، في نفس الدليل.

راجع الدليل الخاص بالواجهات الخلفية للبيانات لمعرفة كيفية استخدام الواجهة الخلفية للبيانات من اختيارك مع تذوق الشاي.

راجع الدليل الخاص بالمقاييس المخصصة إذا كنت تريد إجراء اختبار إحصائي غير مدرج في تذوق الشاي.

استخدم مرجع واجهة برمجة التطبيقات (API) لاستكشاف جميع المعلمات والمعلومات التفصيلية حول الوظائف والفئات والأساليب المتاحة في تذوق الشاي.

الاستنتاجات

هناك مجموعة متنوعة من الأساليب الإحصائية التي يمكن تطبيقها في تحليل التجربة. ولكن يتم استخدام عدد قليل منها فقط في معظم الحالات.

من ناحية أخرى، هناك طرق خاصة بتحليل اختبارات A/B غير مدرجة في الحزم الإحصائية للأغراض العامة مثل SciPy.

تتضمن وظيفة

تذوق الشاي أهم الاختبارات الإحصائية، بالإضافة إلى طرق خاصة بتحليل اختبارات A/B.

يوفر تذوق الشاي واجهة برمجة تطبيقات مريحة تساعد على تقليل الوقت المستغرق في التحليل وتقليل احتمالية الخطأ.

بالإضافة إلى ذلك، يعمل تذوق الشاي على تحسين الكفاءة الحسابية عن طريق حساب الإحصائيات في الواجهة الخلفية للبيانات التي تختارها، حيث يتم تخزين البيانات.

من خلال الوثائق التفصيلية، يمكنك أن تتعلم بسرعة كيفية استخدام تذوق الشاي لتحليل تجاربك.

ملاحظة: اسم الحزمة

اسم الحزمة "تذوق الشاي" هو تلاعب بالكلمات التي تشير إلى موضوعين:

  • سيدة تذوق الشاي هي تجربة مشهورة ابتكرها رونالد فيشر. في هذه التجربة، طور فيشر إطار اختبار أهمية الفرضية الصفرية لتحليل ادعاء سيدة بأنها تستطيع تمييز ما إذا كان الشاي أو الحليب قد أضيفا أولاً إلى الكوب.
  • يشبه "تذوق الشاي" صوتيًا "اختبار t" أو اختبار t للطالب، وهو اختبار إحصائي تم تطويره بواسطة William Gosset.
بيان الافراج يتم استنساخ هذه المقالة على: https://dev.to/e10v/tea-tasting-a-python-package-for-the-statical-analysis-of-tests-4fnj؟1 إذا كان هناك أي انتهاك ، فيرجى الاتصال بـ [email protected] لحذفه.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3