저는 다음 기능을 갖춘 A/B 테스트 통계 분석용 Python 패키지인 tea-tasting을 개발했습니다.
이번 블로그 게시물에서는 실험 분석에서 차 시음을 활용하여 얻을 수 있는 이점을 각각 살펴봅니다.
사용해보고 싶다면 설명서를 확인하세요.
차 시음에는 실험 분석에 필요한 대부분의 통계적 방법과 기법이 포함됩니다.
스튜던트 t-테스트와 Z-테스트를 사용하여 측정 평균과 비율을 분석합니다. 또는 부트스트랩을 사용하여 원하는 다른 통계를 분석하세요. 그리고 Bootstrap을 사용하여 분위수를 분석하기 위해 미리 정의된 방법이 있습니다. 차 시음은 A/B 테스트의 다양한 변형 샘플 비율에서 불일치도 감지합니다.
차 시음은 평균 비율 분석을 위해 델타 방법을 적용합니다. 예를 들어, 세션이 무작위 단위가 아니라고 가정할 때 평균 세션 수당 평균 주문 수입니다.
실험 전 데이터, 측정항목 예측 또는 기타 공변량을 사용하여 분산을 줄이고 실험의 민감도를 높입니다. 이 접근 방식은 CUPED 또는 CUPAC이라고도 합니다.
스튜던트 t-검정과 Z-검정의 백분율 변화에 대한 신뢰 구간 계산은 까다로울 수 있습니다. 절대 변화에 대한 신뢰구간을 취하여 이를 통제 평균으로 나누면 편향된 결과가 나옵니다. 차 시음은 델타 방식을 적용하여 정확한 간격을 계산합니다.
스튜던트 t-테스트와 Z-테스트의 통계적 검정력을 분석합니다. 세 가지 가능한 옵션이 있습니다:
자세한 사용자 가이드에서 자세히 알아보세요.
로드맵에는 다음이 포함됩니다.
원하는 통계 테스트를 통해 맞춤 측정항목을 정의할 수 있습니다.
실험 데이터를 저장하고 처리하기 위한 다양한 데이터베이스와 엔진이 있습니다. 그리고 대부분의 경우 자세한 실험 데이터를 Python 환경으로 가져오는 것은 효율적이지 않습니다. 스튜던트 t-테스트, Z-테스트 등 많은 통계 테스트에서는 분석을 위해 집계된 데이터만 필요합니다.
예를 들어 원시 실험 데이터가 ClickHouse에 저장되어 있는 경우 Python 환경에서 세분화된 데이터를 가져와 집계를 수행하는 것보다 ClickHouse에서 직접 개수, 평균, 분산, 공분산을 계산하는 것이 더 빠르고 효율적입니다.
필요한 모든 통계를 수동으로 쿼리하는 것은 어렵고 오류가 발생하기 쉬운 작업일 수 있습니다. 예를 들어 CUPED를 사용한 비율 측정항목 및 분산 감소 분석에는 행 수와 분산뿐만 아니라 공분산도 필요합니다. 하지만 걱정하지 마세요. 차 시음이 모두 효과가 있습니다.
차 시음은 Pandas DataFrame 또는 Ibis Table로 데이터를 허용합니다. Ibis는 다양한 데이터 백엔드에 대한 DataFrame API 역할을 하는 Python 패키지입니다. BigQuery, ClickHouse, PostgreSQL/GreenPlum, Snowflake 및 Spark를 포함하여 20개 이상의 백엔드를 지원합니다. SQL 쿼리를 작성하고 Ibis 테이블로 래핑한 후 차 시음에 전달할 수 있습니다.
차 시음은 다음을 가정합니다.
부트스트랩과 같은 일부 통계 방법에는 분석을 위해 세부적인 데이터가 필요합니다. 이 경우에는 차 시음을 통해 세부 데이터도 가져옵니다.
데이터 백엔드 가이드에서 자세히 알아보세요.
NumPy, SciPy 및 Ibis만 사용하여 위에 나열된 모든 작업을 수행할 수 있습니다. 실제로 차 시음에서는 이러한 패키지를 내부적으로 사용합니다. 그 위에 차 시음이 제공하는 것은 편리한 상위 API입니다.
설명하는 것보다 보여주는 것이 더 쉽습니다. 기본 예는 다음과 같습니다.
import tea_tasting as tt data = tt.make_users_data(seed=42) experiment = tt.Experiment( sessions_per_user=tt.Mean("sessions"), orders_per_session=tt.RatioOfMeans("orders", "sessions"), orders_per_user=tt.Mean("orders"), revenue_per_user=tt.Mean("revenue"), ) result = experiment.analyze(data) print(result) #> metric control treatment rel_effect_size rel_effect_size_ci pvalue #> sessions_per_user 2.00 1.98 -0.66% [-3.7%, 2.5%] 0.674 #> orders_per_session 0.266 0.289 8.8% [-0.89%, 19%] 0.0762 #> orders_per_user 0.530 0.573 8.0% [-2.0%, 19%] 0.118 #> revenue_per_user 5.24 5.73 9.3% [-2.4%, 22%] 0.123
별도의 매개변수화와 추론을 사용하는 2단계 접근 방식은 통계 모델링에서 일반적입니다. 이러한 분리는 코드를 더욱 모듈화하고 이해하기 쉽게 만드는 데 도움이 됩니다.
차 시음은 까다롭고 오류가 발생하기 쉬운 계산을 수행합니다.
오류를 방지하기 위해 실험 데이터를 표현하는 프레임워크도 제공합니다. 올바른 분석을 위해서는 데이터를 무작위 단위별로 그룹화하고 데이터 세트의 모든 단위를 포함하는 것이 중요합니다.
또한 차 시음은 결과의 예쁜 형식화, 측정항목 매개변수에 대한 컨텍스트 관리자 등 몇 가지 편리한 방법과 기능을 제공합니다.
마지막으로 중요한 것은 문서입니다. 저는 도구 채택을 위해서는 좋은 문서화가 중요하다고 믿습니다. 이것이 바로 제가 여러 사용자 가이드와 API 참조를 작성한 이유입니다.
사용자 가이드의 기본 사용법 예시부터 시작하는 것이 좋습니다. 그런 다음 동일한 가이드에서 분산 감소 또는 검정력 분석과 같은 특정 주제를 탐색할 수 있습니다.
차 시음과 함께 원하는 데이터 백엔드를 사용하는 방법을 알아보려면 데이터 백엔드 가이드를 참조하세요.
차 시음에 포함되지 않은 통계 테스트를 수행하려면 맞춤 측정항목 가이드를 참조하세요.
API 참조를 사용하여 차 시음에서 사용할 수 있는 함수, 클래스 및 메소드에 대한 모든 매개변수와 자세한 정보를 살펴보세요.
실험 분석에 적용할 수 있는 통계 방법은 다양합니다. 그러나 대부분의 경우 실제로는 그 중 소수만이 사용됩니다.
한편, SciPy와 같은 범용 통계 패키지에는 포함되지 않은 A/B 테스트 분석에만 특화된 방법이 있습니다.
차 시음 기능에는 가장 중요한 통계 테스트와 A/B 테스트 분석에 특화된 방법이 포함되어 있습니다.
차시음은 분석에 소요되는 시간을 줄이고 오류 확률을 최소화하는 데 도움이 되는 편리한 API를 제공합니다.
또한 차 시음은 데이터가 저장되어 있는 선택한 데이터 백엔드에서 통계를 계산하여 계산 효율성을 최적화합니다.
자세한 문서를 통해 실험 분석을 위해 차 시음을 사용하는 방법을 빠르게 배울 수 있습니다.
패키지 이름 "tea-tasting"은 두 가지 주제를 가리키는 말장난입니다.
위 내용은 차 시음: A/B 테스트의 통계 분석을 위한 Python 패키지의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!