A / B 테스트에 사용할 통계 테스트는 무엇입니까?


12

우리는 각각 1000 샘플의 두 집단을 가지고 있습니다. 각 코호트 당 2 개의 수량을 측정합니다. 첫 번째는 이진 변수입니다. 두 번째는 두꺼운 꼬리 분포를 따르는 실수입니다. 각 측정 항목에 가장 적합한 동질 집단을 평가하려고합니다. 사람들은 z-test를 제안하고, 다른 사람들은 t-test를 사용하고, 다른 사람들은 Mann-Whitney U를 선택할 수 있습니다.

  • 사례별로 각 측정 항목에 대해 어떤 테스트를 선택해야합니까?
  • 한 테스트에서 코호트간에 유의 한 차이가 있고 다른 테스트에서 중요하지 않은 차이가있는 경우 어떻게됩니까?

답변:


12

두 측정 항목이 1) 이진법과 2) 굵은 꼬리 법인 경우 정규 분포를 가정하는 t- 검정을 피해야합니다.

Mann-Whitney U가 최선의 선택이며 분포가 거의 정상이더라도 충분히 효율적이어야한다고 생각합니다.

두 번째 질문과 관련하여 :

한 테스트에서 코호트간에 유의 한 차이가 있고 다른 테스트에서 중요하지 않은 차이가있는 경우 어떻게됩니까?

통계적 차이가 경계선이고 데이터에 "분쇄 된"표본 분포가있는 경우 이는 드문 일이 아닙니다. 이 상황에서는 분석가가 각 통계 검정의 모든 가정과 한계 를 신중하게 고려하고 가정 위반이 가장 적은 통계 검정에 가장 큰 비중을 두어야합니다.

정규 분포를 가정합니다. 정규성에 대한 다양한 테스트가 있지만 이야기의 끝은 아닙니다. 일부 검정 은 정규성과 약간의 편차가 있어도 대칭 분포에 대해 잘 작동하지만 기울기 분포에 대해서는 잘 작동하지 않습니다.

일반적으로, 가정이 명확하게 위반되는 테스트는 실행하지 말 것을 제안합니다.

편집 : 두 번째 변수의 경우 변환이 순서 유지 인 한 변수를 정규 분포 (또는 적어도 가까운)로 변환하는 것이 가능할 수 있습니다. 변환이 두 코호트 모두에 대해 정규 분포를 생성한다는 확신이 있어야합니다. 두 번째 변수를 로그 정규 분포에 맞추면 로그 함수가 변수를 정규 분포로 변환합니다. 그러나 분포가 파레토 (전력 법)이면 정규 분포로 변환되지 않습니다.

편집 : 이 의견 에서 제안했듯이 베이지안 추정 을 t-testing 및 기타 Null Hypothesis Significance Testing (NHST)의 대안으로 고려해야 합니다.


정보에 대해서 감사드립니다. 나는 충분히 명확하지 않았으며, 두 가지 수량 중 하나는 이진수이고 다른 하나는 두꺼운 꼬리 분포에 따른 실수입니다. 이것을 명확히하기 위해 질문을 편집했습니다.
iliasfl

예, 이해합니다. 이진 변수에 대해 한 번, 실제 변수에 대해 한 번 (중 꼬리 분포) 테스트를 두 번 실행하려고합니다. Mann-Whitney U를 둘 다 실행하는 것이 좋습니다.

Mann-Whitney가 이진 데이터에 적합한 이유는 무엇입니까?
Glen_b-복귀 모니카

Mann-Whitney U는 두 개의 값 (즉, 이진)을 갖는 불연속 분포를 포함하여 비정규 분포에 효과적입니다. 경우 모든 데이터가 진했다, 어쩌면 또 다른 시험은 잘 작동합니다.
MrMeritology

누군가 이것이 사실인지 확인할 수 있습니까? ...

7

실제 데이터의 경우 데이터의 부트 스트랩을 기반으로 자체 테스트 통계를 생성하는 것이 좋습니다. 이 방법은 비정규 모집단 분포를 처리하거나 편리한 분석 솔루션이없는 모수에 대한 신뢰 구간을 개발하려고 할 때 정확한 결과를 생성하는 경향이 있습니다. (전자는 귀하의 경우에 해당합니다. 문맥에 대해서는 후자를 언급합니다.)

실제 데이터의 경우 다음을 수행하십시오.

  1. 두 집단을 모으십시오.
  2. 풀에서 교체하여 1000 개의 요소로 구성된 두 그룹을 샘플링하십시오.
  3. 두 그룹 간의 표본 평균 차이를 계산합니다.
  4. 이러한 차이의 분포를 개발하려면 2, 3 단계를 수천 번 반복하십시오.

해당 분포를 얻은 후 실제 표본의 평균 차이를 계산하고 p- 값을 계산하십시오.


고마워, 그래서 당신은 어떤 평균과 표준 편차로 정상이어야하는 분포로 끝납니다. 승자를 결정하기 위해 p- 값과 신뢰 구간을 어떻게 계산할 것입니까 (있는 경우)?
iliasfl

분포가 반드시 정상적인 것은 아닙니다. 그것은 샘플링 된 것의 대략적인 분포를 가질 것입니다. 이것이 부트 스트랩을 사용하는 것의 아름다움입니다. 어쨌든 실제 결과에서 검정 통계량을 계산하여 p- 값을 얻습니다. 즉, 각 코호트의 평균 차이. 그런 다음 그 숫자를 분포와 비교하십시오. 귀하가 얻는 백분위 수는 평균 차이에 대한 단측 검정에 대한 p- 값입니다.
Nathan Gould

4
Nathan이 설명하는 것은 베이지안 유의성 검정 방법의 기초이기도합니다. 베이지안 추정이 T- 검정 (BEST) 접근법을 대체했습니다 (현재 사용 중) . 풀링 방식을 구현하려는 경우 해당 프레임 워크를 살펴 봐야합니다.
cwharland 2016 년

0

두 번째 @MrMeritology의 답변입니다. 실제로 MWU 테스트가 독립 비율 테스트보다 강력하지 않을지 궁금합니다. MWU를 배워서 가르치는 데 사용한 교과서는 MWU가 서수 (또는 간격 / 비율) 데이터에만 적용될 수 있다고 말했기 때문입니다.

그러나 아래에 나와있는 시뮬레이션 결과는 MWU 테스트가 실제로 비율 테스트보다 약간 더 강력하다는 것을 나타내며 1 형 오류를 잘 제어합니다 (그룹 1 = 0.50의 모집단 비율).

여기에 이미지 설명을 입력하십시오

그룹 2의 인구 비율은 0.50으로 유지됩니다. 반복 횟수는 각 지점에서 10,000입니다. Yate의 수정없이 시뮬레이션을 반복했지만 결과는 동일했습니다.

library(reshape)

MakeBinaryData <- function(n1, n2, p1){
  y <- c(rbinom(n1, 1, p1), 
        rbinom(n2, 1, 0.5))
  g_f <- factor(c(rep("g1", n1), rep("g2", n2)))
  d <- data.frame(y, g_f)
  return(d)
}

GetPower <- function(n_iter, n1, n2, p1, alpha=0.05, type="proportion", ...){
  if(type=="proportion") {
    p_v <- replicate(n_iter, prop.test(table(MakeBinaryData(n1, n1, p1)), ...)$p.value)
  }

  if(type=="MWU") {
    p_v <- replicate(n_iter, wilcox.test(y~g_f, data=MakeBinaryData(n1, n1, p1))$p.value)
  }

  empirical_power <- sum(p_v<alpha)/n_iter
  return(empirical_power)
}

p1_v <- seq(0.5, 0.6, 0.01)
set.seed(1)
power_proptest <- sapply(p1_v, function(x) GetPower(10000, 1000, 1000, x))
power_mwu <- sapply(p1_v, function(x) GetPower(10000, 1000, 1000, x, type="MWU"))

당신의 결과 사진은 모두 검은 색입니다
Ooker
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.