HypEx(가설 및 실험)는 데이터 분석에서 인과 추론 및 AB 테스트 프로세스를 간소화하기 위해 제작된 포괄적인 라이브러리입니다. 효율성과 효과를 위해 개발된 HypEx는 밀접하게 관련된 쌍을 일치시키기 위해 Rubin의 인과 모델(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에 있는 이 노트북을 방문하여 직접 결과를 추정해 보세요.
그룹 규모 | 32768 | 65536 | 131 072 | 262 144 | 524 288 | 1 048 576 | 2 097 152 | 4 194 304 |
---|---|---|---|---|---|---|---|---|
인과 추론 | 46초 | 169년대 | 없음 | 없음 | 없음 | 없음 | 없음 | 없음 |
DoWhy | 9초 | 19대 | 40대 | 77년대 | 159초 | 312s | 615s | 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는 전례 없는 속도와 정확성으로 복잡한 데이터 세트의 인과 관계를 밝힐 준비가 되어 있습니다.