HypEx (Hypothèses et expériences) est une bibliothèque complète conçue pour rationaliser les processus d'inférence causale et de test AB dans l'analyse de données. Développé dans un souci d'efficience et d'efficacité, HypEx utilise le modèle causal de Rubin (RCM) pour faire correspondre des paires étroitement liées, garantissant ainsi des comparaisons de groupes équitables lors de l'estimation des effets du traitement.
Bénéficiant d'un pipeline entièrement automatisé, HypEx calcule habilement l'effet moyen du traitement (ATE), l'effet moyen du traitement sur le traité (ATT) et l'effet moyen du traitement sur le contrôle (ATC). Il offre une interface standardisée pour exécuter ces estimations, fournissant ainsi un aperçu de l'impact des interventions sur divers sous-groupes de population.
Au-delà de l'inférence causale, HypEx est équipé d'outils de test AB robustes, notamment les méthodes Difference-in-Differences (Diff-in-Diff) et CUPED, pour tester rigoureusement les hypothèses et valider les résultats expérimentaux.
Certaines fonctions de HypEx peuvent faciliter la résolution de tâches auxiliaires spécifiques mais ne peuvent pas automatiser les décisions relatives à la conception des expériences. Ci-dessous, nous discuterons des fonctionnalités implémentées dans HypEx mais n'automatisent pas la conception des expériences.
Remarque : Pour la correspondance, il est recommandé de ne pas utiliser plus de 7 fonctionnalités car cela pourrait entraîner une malédiction de dimensionnalité, rendant les résultats non représentatifs.
La sélection de fonctionnalités modélise l'importance des fonctionnalités pour la précision de l'approximation de la cible. Cependant, cela n'exclut pas la possibilité de fonctionnalités négligées, l'impact complexe des fonctionnalités sur la description de la cible ou l'importance des fonctionnalités du point de vue de la logique métier. L'algorithme ne fonctionnera pas correctement en cas de fuite de données.
Points à considérer lors de la sélection des fonctionnalités :
Lien vers ReadTheDocs
L'algorithme de traitement aléatoire mélange de manière aléatoire le traitement réel. On s'attend à ce que l'effet du traitement sur la cible soit proche de 0.
Cette méthode ne constitue pas un marqueur suffisamment précis d’une expérience réussie.
Lien vers ReadTheDocs
pip install -U hypex
Découvrez des exemples d'utilisation et des didacticiels ici.
from hypex import Matcher
from hypex . utils . tutorial_data_creation import create_test_data
# Define your data and parameters
df = create_test_data ( rs = 42 , na_step = 45 , nan_cols = [ 'age' , 'gender' ])
info_col = [ 'user_id' ]
outcome = 'post_spends'
treatment = 'treat'
model = Matcher ( input_data = df , outcome = outcome , treatment = treatment , info_col = info_col )
results , quality_results , df_matched = model . estimate ()
from hypex import AATest
from hypex . utils . tutorial_data_creation import create_test_data
data = create_test_data ( rs = 52 , na_step = 10 , nan_cols = [ 'age' , 'gender' ])
info_cols = [ 'user_id' , 'signup_month' ]
target = [ 'post_spends' , 'pre_spends' ]
experiment = AATest ( info_cols = info_cols , target_fields = target )
results = experiment . process ( data , iterations = 1000 )
results . keys ()
from hypex import ABTest
from hypex . utils . tutorial_data_creation import create_test_data
data = create_test_data ( rs = 52 , na_step = 10 , nan_cols = [ 'age' , 'gender' ])
model = ABTest ()
results = model . execute (
data = data ,
target_field = 'post_spends' ,
target_field_before = 'pre_spends' ,
group_field = 'group'
)
model . show_beautiful_result ()
Pour des informations plus détaillées sur la bibliothèque et ses fonctionnalités, visitez notre documentation sur ReadTheDocs.
Vous trouverez des guides et didacticiels complets qui vous aideront à démarrer avec HypEx, ainsi qu'une documentation détaillée de l'API pour les cas d'utilisation avancés.
Rejoignez notre communauté dynamique! Pour obtenir des directives sur la contribution, le signalement de problèmes ou la recherche d'aide, veuillez vous référer à nos Directives de contribution.
Habr (ru) - découvrez comment HypEx révolutionne l'inférence causale dans divers domaines.
Séminaire A/B testing - Séminaire en NoML sur le matching et les tests A/B
Correspondance avec HypEx : Guide simple - Guide de correspondance simple avec explication
Correspondance avec HypEx : Regroupement - Guide de correspondance avec le regroupement
HypEx vs Causal Inference et DoWhat - découvrez pourquoi HypEx est la meilleure solution pour l'inférence causale
HypEx vs Causal Inference et Do Why : partie 2 - découvrez pourquoi HypEx est la meilleure solution pour l'inférence causale
Visitez ce carnet dans Kaggle et estimez les résultats par vous-même.
Taille du groupe | 32 768 | 65 536 | 131 072 | 262 144 | 524 288 | 1 048 576 | 2 097 152 | 4 194 304 |
---|---|---|---|---|---|---|---|---|
Inférence causale | 46s | 169 | Aucun | Aucun | Aucun | Aucun | Aucun | Aucun |
FairePourquoi | 9s | 19s | années 40 | 77 | 159 | 312s | 615 | 1 235s |
HypEx avec regroupement | 2s | 6s | 16s | 42s | 167 | 509 | 1 932 s | 7 248s |
HypEx sans regroupement | 2s | 7s | 21s | 101 | 273 | 982 | 3 750 | 14 720 |
Vous avez des questions ou souhaitez discuter d’HypEx ? Rejoignez notre chat Telegram et connectez-vous avec la communauté et les développeurs.
HypEx constitue une ressource indispensable pour les analystes de données et les chercheurs qui se penchent sur l'inférence causale et les tests AB. Grâce à ses capacités automatisées, ses techniques de mise en correspondance sophistiquées et ses procédures de validation approfondies, HypEx est en mesure de démêler les relations causales dans des ensembles de données complexes avec une rapidité et une précision sans précédent.