Open fenzhantw opened 2 months ago
와 자료 퀄리티.... 감동이네요!
좋은 자료를 만들어주셔서 정말 감사합니다! 자료 다시 읽어보면서 현재 실험 환경이 마련되어 있지는 않지만 업무를 하면서 여기서 RCT를 진행한다면 어떻게 할 수 있을까 고민해 볼 수 있었습니다. 그러다 관찰 단위와 관련하여 궁금한 점이 생겨 질문 드립니다!
질문을 정리하다 보니 RCT 뿐만 아니라 대부분의 실험에서 고려할 점 같아요. 다른 분들은 '사용자'(혹은 주 관찰 단위)를 주로 어떻게 정의하여 실험하시는지, 관찰 단위를 설정하는 데에 큰 어려움이 없으셨을지도 궁금합니다. 😃
무작위 실험의 순서
(0) 가설 및 실험 디자인 – Sample Size(how long?), OEC, Guardrail Metric, Data Quality etc.. (1) 실험 할당 – 고유 식별자에 기반하여, 사용자를 그룹으로 나누고, 제품 변형(variant) 하나로 할당 (2) 실험 실행 – 사용자의 행동 데이터를 Logging (3) 실험 로그 처리 - Log 데이터를 저장소로 업로드하여 처리 (e.g., 서버 로그와 실험 metadata 결합) (4) 실험 분석 - variant로 영향을 받은 사용자로 필터링 처리된 로그를 분석하는 단계 (5) Ship or Abort – 실험한 Feature를 반영? or 실험 Reproduce? or Abort ?
무작위 실험의 패턴 (Engineering)![image](https://github.com/CausalInferenceLab/causal-inference-practice/assets/81638919/f1083a23-bb99-442f-9571-9831ee74807d)
Assignment : Hash Function
Assignment 샘플 모집단 목록을 재사용 한다면? Carryover Effect (Kohavi et al. 2012)
동일한 사용자 그룹이 여러 테스트에서 지속적으로 변경 사항을 경험할 때 발생
버킷 할당에 사용되는 일관된 시드 때문에 버킷은 이전 A/B 테스트를 "기억"하여 후속 테스트 결과에 영향
Release :
무작위 실험의 패턴 (Analytics)
Randomization Unit = Analysis Unit ->Independence of randomization units -> User Level Randomization
실험군과 대조군의 간섭 Interference (Network Effect) -> 네트워크 클러스터 생성 [Detecting interference: An A/B test of A/B tests] -> 클러스터에 따라 사용자를 무작위로 처리하여 동일한 클러스터의 모든 사용자가 동일한 치료 그룹에 속하도록 처리
Selection Bias 처리 하기 위한 패턴 A/A Testing(Randomization Check) & SRM(Sample Ratio Mismatch) -> A/A Testing : 부스트트랩된 A/A 테스트에서 P값 분포가 균일한지 테스트
-> SRM: A와 B에서 계산된 사용자 비율과 실험이 시작되기 전에 구성된 비율(예: 50/50 분할) 사이에 통계적으로 유의미한 차이
SRM은 Microsoft에서 지난 1년 동안 수행된 실험에서 약 6%를 자치할 만큼 일반적인 Data Quality 문제
기본적인 접근은 세그먼트 하위 모집단에 대해 카이제곱 테스트를 통해서, 비율의 불균형을 파악
Variance와 민감도(Conditional Triggering & CUPED)
-> Conditional Triggering: A/B 테스트가 진행되는 화면에 접근하기 어려울 때, Treatment를 받지 못한 사용자를 실험에 포함 시키면 오버트래킹 현상 (ATE가 0 -> Variance 증가) 작은 변화를 감지하기 어려움
-> Variance Reduction 방법 중 CUPED는 실험 전 공변량을 활용
Novelty & Primary effect
-> 초두 효과 (Primacy Effect) 사용자들이 기존 제품/방식에 익숙하고 변화를 꺼려하여 발생하는 효과
-> 신기 효과 (Novelty Effect) 변화를 좋아하고 기존 제품/방식보다 새로운 기능을 선호하여 발생하는 효과
처치 효과가 언제 안정화되는지 확인하려면 (1) 실험을 오래 실행 (2) Novelty & Primary에 영향을 받지 않는 신규 사용자를 통해 실험
신규 사용자는 제품을 처음 사용하기 때문에, 두 효과에 영향을 받지 않음 / 제품 사용 기간에 따라 가중치를 줄 수도 있음
표본의 수 고려
테스트 수행 기간을 정하기 위해서는 테스트를 위한 샘플 사이즈를 알아야 하며, 요구되는 파라미터 (1) Type II 에러율 β 또는 Power (1−β) -> 업계 표준 0.8 (2) 유의 수준 α -> 업계 표준 0.05 (3) 최소 검출 가능 효과 (Minimum detectable effect, MDE)
샘플 사이즈를 알게 되었다면 샘플 사이즈를 사용자 수로 나눠 테스트 수행 기간을 구할 수 있음
추가적 고려 사항