HypEx (仮説と実験) は、データ分析における因果推論と AB テストのプロセスを合理化するために作成された包括的なライブラリです。効率と有効性を目指して開発された HypEx は、密接に関連するペアを照合するためにルービンの因果モデル (RCM) を採用し、治療効果を推定する際の公平なグループ比較を保証します。
完全に自動化されたパイプラインを誇る HypEx は、平均治療効果 (ATE)、治療対象に対する平均治療効果 (ATT)、および対照に対する平均治療効果 (ATC) を巧みに計算します。これらの推定を実行するための標準化されたインターフェイスを提供し、さまざまな人口サブグループにわたる介入の影響についての洞察を提供します。
HypEx には、因果推論を超えて、差異内差異 (Diff-in-Diff) や CUPED メソッドなどの堅牢な AB テスト ツールが装備されており、仮説を厳密にテストし、実験結果を検証します。
HypEx の一部の機能は、特定の補助タスクの解決を容易にすることができますが、実験計画に関する決定を自動化することはできません。以下では、HypEx に実装されているが実験計画を自動化しない機能について説明します。
注:マッチングの場合、次元の呪いが発生し、結果が代表的でなくなる可能性があるため、7 つを超える特徴を使用しないことをお勧めします。
特徴選択では、ターゲット近似の精度に対する特徴の重要性がモデル化されます。ただし、見落とされる機能、ターゲット記述に対する機能の複雑な影響、またはビジネス ロジックの観点から見た機能の重要性の可能性を排除するものではありません。データ漏洩があると、アルゴリズムは正しく機能しません。
機能を選択する際の考慮点:
ReadTheDocs へのリンク
ランダム治療アルゴリズムは、実際の治療をランダムにシャッフルします。対象者に対する治療効果は0に近いと予想されます。
これらの方法は、実験の成功を示す十分に正確な指標ではありません。
ReadTheDocs へのリンク
pip install -U hypex
ここで使用例とチュートリアルをご覧ください。
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 ()
ライブラリとその機能の詳細については、ReadTheDocs のドキュメントを参照してください。
HypEx の使用を開始するのに役立つ包括的なガイドとチュートリアル、および高度な使用例のための詳細な API ドキュメントが見つかります。
私たちの活気に満ちたコミュニティに参加してください!貢献、問題の報告、またはサポートの求めに関するガイドラインについては、貢献ガイドラインを参照してください。
Habr (ru) - HypEx がさまざまな分野で因果推論にどのように革命をもたらしているかを発見してください。
A/B テストセミナー - マッチングと A/B テストに関する NoML セミナー
HypEx とのマッチング: シンプルガイド - 説明付きの簡単なマッチングガイド
HypEx とのマッチング: グループ化 - グループ化ガイドとのマッチング
HypEx と因果推論、および DoWhy - HypEx が因果推論に最適なソリューションである理由を発見します
HypEx と因果推論、および DoWhy: パート 2 - HypEx が因果推論に最適なソリューションである理由を発見する
Kaggle のこのノートブックにアクセスして、自分で結果を評価してください。
グループの規模 | 32 768 | 65 536 | 131 072 | 262 144 | 524 288 | 1 048 576 | 2 097 152 | 4 194 304 |
---|---|---|---|---|---|---|---|---|
因果推論 | 46秒 | 169秒 | なし | なし | なし | なし | なし | なし |
なぜするのか | 9秒 | 19秒 | 40代 | 77秒 | 159秒 | 312秒 | 615秒 | 1 235秒 |
グループ化を使用した HypEx | 2秒 | 6秒 | 16秒 | 42秒 | 167秒 | 509秒 | 1 932秒 | 7 248秒 |
グループ化なしの HypEx | 2秒 | 7秒 | 21秒 | 101秒 | 273秒 | 982秒 | 3 750 秒 | 14 720 秒 |
ご質問がありますか、HypEx について話し合いたいですか? Telegram チャットに参加して、コミュニティや開発者とつながりましょう。
HypEx は、因果推論と AB テストを詳しく調べるデータ アナリストや研究者にとって不可欠なリソースです。 HypEx は、自動化機能、高度なマッチング技術、徹底した検証手順を備えており、複雑なデータセットの因果関係を前例のない速度と精度で解明する準備ができています。