tea-tasting : un package Python pour l'analyse statistique des tests A/B

WBOY
Libérer: 2024-08-12 22:35:32
original
792 Les gens l'ont consulté

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

Introduction

J'ai développétea-tasting, un package Python pour l'analyse statistique de tests A/B comprenant :

  • Test t de Student, Bootstrap, réduction de la variance avec CUPED, analyse de puissance et autres méthodes et approches statistiques prêtes à l'emploi.
  • Prise en charge d'un large éventail de backends de données, tels que BigQuery, ClickHouse, PostgreSQL/GreenPlum, Snowflake, Spark, Pandas et plus de 20 autres backends pris en charge par Ibis.
  • API Extensible : définissez des métriques personnalisées et utilisez les tests statistiques de votre choix.
  • API pratique pour réduire le travail manuel et un cadre pour minimiser les erreurs.
  • Documentation détaillée.

Dans cet article de blog, j'explore chacun de ces avantages de l'utilisation de ladégustation de thédans l'analyse des expériences.

Si vous avez hâte de l'essayer, consultez la documentation.

Méthodes statistiques

tea-tastingcomprend des méthodes et techniques statistiques qui couvrent la plupart de ce dont vous pourriez avoir besoin dans l'analyse des expériences.

Analysez les moyennes métriques et les proportions avec le test t de Student et le test Z. Ou utilisez Bootstrap pour analyser toute autre statistique de votre choix. Et il existe une méthode prédéfinie pour l'analyse des quantiles à l'aide de Bootstrap.tea-tastingdétecte également les différences dans les ratios d'échantillons de différentes variantes d'un test A/B.

tea-tastingapplique la méthode delta pour l'analyse des ratios de moyennes. Par exemple, le nombre moyen de commandes par nombre moyen de sessions, en supposant que cette session n'est pas une unité de randomisation.

Utilisez des données pré-expérimentales, des prévisions métriques ou d'autres covariables pour réduire la variance et augmenter la sensibilité d'une expérience. Cette approche est également connue sous le nom de CUPED ou CUPAC.

Le calcul des intervalles de confiance pour la variation dupourcentagedu test t et du test Z de Student peut être délicat. Le simple fait de prendre l'intervalle de confiance pour le changementabsoluet de le diviser par la moyenne de contrôle produira un résultat biaisé.tea-tastingapplique la méthode delta pour calculer l'intervalle correct.

Analysez la puissance statistique pour le test t et le test Z de Student. Il y a trois options possibles :

  • Calculez la taille de l'effet, en fonction de la puissance statistique et du nombre total d'observations.
  • Calculez le nombre total d'observations, en fonction de la puissance statistique et de la taille de l'effet.
  • Calculez la puissance statistique, compte tenu de la taille de l'effet et du nombre total d'observations.

Apprenez-en plus dans le guide d'utilisation détaillé.

La feuille de route comprend :

  • Test d'hypothèses multiples :
    • Taux d'erreur familial : méthode Holm-Bonferroni.
    • Taux de fausse découverte : procédure Benjamini-Hochberg.
  • Tests et simulations A/A pour analyser la puissance de tout test statistique.
  • Plus de tests statistiques :
    • Tests asymptotiques et exacts pour les données de fréquence.
    • Test de Mann-Whitney U.
  • Tests séquentiels : valeur p toujours valide avec mSPRT.

Vous pouvez définir une métrique personnalisée avec un test statistique de votre choix.

Backends de données

Il existe de nombreuses bases de données et moteurs différents pour stocker et traiter les données expérimentales. Et dans la plupart des cas, il n'est pas efficace d'extraire les données expérimentales détaillées dans un environnement Python. De nombreux tests statistiques, tels que le test t de Student ou le test Z, ne nécessitent que des données agrégées pour l'analyse.

Par exemple, si les données expérimentales brutes sont stockées dans ClickHouse, il est plus rapide et plus efficace de calculer les décomptes, les moyennes, les variances et les covariances directement dans ClickHouse plutôt que de récupérer des données granulaires et d'effectuer des agrégations dans un environnement Python.

Interroger manuellement toutes les statistiques requises peut être une tâche ardue et sujette aux erreurs. Par exemple, l'analyse des mesures de ratio et la réduction de la variance avec CUPED nécessitent non seulement le nombre de lignes et la variance, mais également les covariances. Mais ne vous inquiétez pas : ladégustation de théfait tout cela pour vous.

tea-tastingaccepte les données sous forme de Pandas DataFrame ou de Ibis Table. Ibis est un package Python qui sert d'API DataFrame pour divers backends de données. Il prend en charge plus de 20 backends, dont BigQuery, ClickHouse, PostgreSQL/GreenPlum, Snowflake et Spark. Vous pouvez écrire une requête SQL, l'envelopper sous forme de table Ibis et la transmettre àtea-tasting.

Gardez à l'esprit quela dégustation de thésuppose que :

  • データは、個々のユーザーなどのランダム化単位によってグループ化されます。
  • A/B テストのバリエーションを示す列があります (通常、A、B などのラベルが付けられます)。
  • メトリクスの計算に必要な列 (注文数、収益など) がすべてテーブルに含まれています。
ブートストラップなどの一部の統計手法では、分析に詳細なデータが必要です。この場合、

tea-tastingは詳細なデータも取得します。

データ バックエンドに関するガイドで詳細をご覧ください。

便利なAPI

NumPy、SciPy、Ibis だけを使用して、上記のすべてのタスクを実行できます。実際、

tea-tastingは内部でこれらのパッケージを使用しています。tea-tastingが提供するのは、便利な高レベル API です。

説明するよりも見せる方が簡単です。基本的な例は次のとおりです:


リーリー

統計モデリングでは、パラメーター化と推論を別々に行う 2 段階のアプローチが一般的です。この分離は、コードをよりモジュール化し、理解しやすくするのに役立ちます。

tea-tastingは、トリッキーでエラーが発生しやすい計算を実行します:

    デルタ法による比率メトリクスの分析
  • CUPED/CUPACによる分散削減(比率指標のデルタ法との組み合わせも)
  • 絶対変化とパーセント変化の両方の信頼区間の計算。
  • 統計力の分析
エラーを回避するために実験データを表現するためのフレームワークも提供します。ランダム化ユニットごとにデータをグループ化し、データセットにすべてのユニットを含めることは、正しい分析のために重要です。

さらに、

tea-tastingは、結果のきれいなフォーマットやメトリクスパラメータのコンテキストマネージャーなど、いくつかの便利なメソッドと関数を提供します。

ドキュメント

最後に重要なこと: ドキュメント。私は、ツールの導入には適切なドキュメントが不可欠であると信じています。そのため、私はいくつかのユーザーガイドと API リファレンスを作成しました。

ユーザーガイドの基本的な使用例から始めることをお勧めします。その後、同じガイドで分散削減や検出力分析などの特定のトピックを検討できます。

お茶の試飲

で選択したデータ バックエンドを使用する方法については、データ バックエンドに関するガイドを参照してください。お茶の試飲に含まれていない統計テストを実行したい場合は、カスタム指標に関するガイドを参照してください。

API リファレンスを使用して、

tea-tastingで使用できるすべてのパラメーターと関数、クラス、メソッドに関する詳細情報を調べます。結論

実験の分析にはさまざまな統計手法を適用できます。しかし、ほとんどの場合、実際に使用されるのはほんの一握りです。一方で、SciPyのような汎用統計パッケージには含まれていない、A/Bテストの分析に特化した手法もあります。

ティーテイスティング

機能には、最も重要な統計テストと、A/B テストの分析に固有のメソッドが含まれています。

tea-tasting

は、分析にかかる時間を短縮し、エラーの可能性を最小限に抑えるのに役立つ便利な API を提供します。

さらに、ティーテイスティング

は、データが保存されている選択したデータバックエンドで統計を計算することにより、計算効率を最適化します。

詳細なドキュメントにより、実験の分析にティーテイスティング

を使用する方法をすぐに学ぶことができます。

追伸パッケージ名パッケージ名「tea-tasting」は、2 つの主題を指す言葉遊びです:

レディ・テイスティング・ティーは、ロナルド・フィッシャーが考案した有名な実験です。この実験で、フィッシャーは帰無仮説有意性検定フレームワークを開発し、紅茶とミルクのどちらを先にカップに入れたかを見分けることができたという女性の主張を分析しました。

「ティーテイスティング」は、ウィリアム・ゴセットによって開発された統計テストである「t 検定」またはスチューデントの t 検定に音声的に似ています。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!