Youtube에 'StatQuest'라는 통계관련 정말정말 좋은 채널이 있다.
최근 올라온 동영상 중 p-hacking이 어떤 것인지 피하려면 어떻게 해야 하는지에 관한 영상들이 있어 간단히 정리해본다.
가설 검정
실험이나 연구를 계획할 때는 조건에 따른 결과의 차이를 통해 인과관계를 탐색해 나가는 것이 일반적이다. 이 때 우리가 증명하고 싶은 가설은 '차이가 있음'에 있다.
예) '약을 투여했더니 증상이 호전되었다'
하지만 '차이가 있다'는 가설은 그 정도에 따라 무한으로 가설을 세울 수 있기 때문에, 유일하게 설정할 수 있는 '차이가 없다'를 가설로 내세워 기각하는 방식이 주로 이용된다. 이 때 기각하기 위해 설정하는 가설이 '귀무가설', 기각 시 채택되는 연구가설이 '대립가설'이라는 이름으로 사용된다.
p-value
귀무가설의 판정은, 실제 귀무가설의 참과 거짓 여부에 따라 4가지 패턴이 발생한다.
귀무가설
1) 기각에 실패, 실제로도 귀무가설은 참 ➔ True Negative
2) 기각에 실패, 실제 귀무가설은 거짓 ➔ 2종 오류, False Negative
3) 기각, 실제 귀무가설은 참 ➔ 1종 오류, False Positive
4) 기각, 실제로도 귀무가설은 거짓 ➔ True Positive
영어 표현이 복잡한데, 기각의 실패/성공 여부에 따라 Negative/Positve로 구분하고, 판단의 옳고 그름에 따라 True/False가 앞에 붙는 형식이다.
이 때, p-value는 1종 오류(False Positive)의 확률을 나타낸다.
귀무가설을 기각한다면 저지를 수 있는 오류의 확률, 즉 우리가 귀무가설을 기각하고 대립가설을 채택할 경우 저지를 수 있는 오류의 확률이다.
보통 이와 같은 오류의 확률이 미리 설정한 유의수준 (보통 0.05 = 5%) 보다 낮을 때, 우리는 귀무가설을 기각하고 대립가설을 채택한다.
p-hacking
p-hacking은 1종 오류 검정의 맹점을 공략하는 방식의 연구 행태를 말한다. 그리고, 이러한 연구 행태는 실험의 재현성을 현저히 낮추며 큰 문제가 되고 있다.
귀무가설을 기각하기 위한 유의수준을 0.05이하로 설정하였다고 해보자. 1종 오류의 확률이라는 관점에서 0.04와 0.06은 큰 차이가 없어 보이지만, 검정 절차 상 0.04는 기각이 되고, 0.06은 채택이 된다.
연구자들은 귀무가설을 기각하고 대립가설(연구가설)을 채택하길 원한다. 그래서 일부러 또는 모르고 p-value를 유의수준 이하로 내리는 과오를 범한다.
p-value는 다음과 같은 방식으로 공략? 또는 잘못된 해석을 할 수 있다.
1) 다중 실험에서 낮은 p-value값이 나온 결과를 해석에 이용
2) 이미 추출한 표본에 의도적으로 표본을 추가하여 p-value값을 낮춤
먼저 1)의 다중 실험의 예를 살펴보자. 새로 개발한 100종류의 약이 실제로 효과가 있는지 시험하고, 대조군과 실험군의 차이를 각각 검정 했다고 치자. 몇몇 결과 중 p-value가 유의 수준(0.05, 5%) 이하로 나타났을 때, 귀무가설을 기각하고 연구가설을 채택할 수 있을까?
결론은 아니다. 100종류의 약이 사실 아무런 효과가 없는 가짜 약이라도 우리가 설정한 유의 수준에 의해 약 5번의 실험에서는 귀무 가설을 기각하고 효과가 있다는 잘못된 결론을 얻을 수 있다. 고로, 다중 실험의 일부 결과만을 채용한다거나, 각각의 p-value를 이용한 해석은 p-hacking으로 이어진다. 고로, 이 경우 p-value를 보정 후 해석할 필요가 있다.
다음 2)의 경우를 살펴보자. 한 실험에서 p-value가 0.06이 나왔는데, 특정 표본들을 추가해서 p-value를 다시 구한다고 해보자. p-value는 False positive, 즉 귀무가설을 잘못 기각할 확률이며, 실험 별로 정의된다. 즉, 가설 검정을 위한 실험 별로 p-value가 의미를 가지는 것이기 때문에 다른 실험에서 얻어진 표본을 합하여 다시 한 번 계산 되어서는 안되는 값이다. 고로, 올바른 실험을 위해서는 Power analysis를 통한 적정 Sample 수를 설정할 필요가 있다.
False discovery rate (FDR); Benjamini-Hochberg method
p-hacking 1)의 문제를 해결하기 위해서는 다중 검정 결과를 보정할 필요가 있다. 이를 위한 여러 방법들이 있는데, 여기서는 FDR에 대해 정리해본다.
False discovery rate (FDR)의 핵심 아이디어는 귀무가설을 기각했을 때, 이것이 잘못된 기각인 경우의 비율을 줄이는 것을 목표로 한다.
p-value는 유의미한 차이에 의해서도 무의미한 차이에 의해서도 발생할 수 있기 때문에, 같은 p-value 값을 갖는 실험이더라도 실제로 유의미한 차이에 의한 관측과 실제는 무의미한 차이지만 False positive가 되어버린 관측이 뒤섞여있을 것이다. 그 비율을 줄이는 방향으로 p-value를 재조정 하는 것이 False discovery rate의 개념이다.
이를 위한 여러 방법이 있는데 그 중 Benjamini-Hochberg 법이 있다. 이 방법은 무의미한 실험, 즉 실험군과 대조군이 같은 distribution에서 추출된 경우 발생하는 p-value의 분포는 uniform distribution을 이룬다는 점을 이용하여 False positive의 비율을 이 기준에 맞춘다.
False positive의 비율을 $\alpha$의 기준에 맞출 경우를 생각해보자. 이 때, 각 시험의 p-value가 uniform distribution이라면 관측된 p-value는 다음과 같은 관계를 지닌다.
$\large{p_{i} = \frac{\alpha}{M}i}$
$\alpha$: 유의수준 (e.g. 0.05)
$i$: p-value 값의 rank (제일 큰 p-value값에서 M, 제일 작은 p-value값에서 0)
$M$: 측정된 p-value 값의 개수
Benjamini-Hochberg법에서는 관측된 $p_{i}$ 값이 $\frac{\alpha}{M}i$ 보다 작은 경우에 대해 귀무가설을 기각하는 방식으로 p-value 보정을 하며, 이를 식으로 나타내면 다음과 같고,
$\large{\mbox{adjusted }p_{i} : p_{i}\frac{M}{i} \le \alpha}$
보정된 p값이 유의수준 이하일 경우 기각할 수 있게 보정된다.
Power analysis
검정력(Power)는 실제 귀무가설이 거짓일 때, 귀무가설을 기각하지 못하는 오류(2종오류)를 범하지 않을 확률을 나타낸다. 즉, 올바르게 귀무가설을 기각할 확률을 나타내며, 2종오류를 $\beta$라 하였을 때, $1-\beta$로 표현할 수 있다.
Power가 0.8이라 함은 80프로의 확률로 올바른 귀무가설 기각을 할 확률을 나타내며, 이는 실험군과 대조군 데이터 간 overlap과 sample size에 영향 받는다.
예를 들어, 실험군과 대조군 간 data의 overlap이 적다면 적은 sample size로도 원하는 power를 만족할 것이고, overlap이 많다면 많은 sample size가 필요할 것이다. 이 sample size를 결정하기 위해 power analysis가 이용된다.
Power analysis를 하는 순서는 다음과 같다.
1) 우리가 원하는 Power를 결정한다 (0.8이 보편적임).
2) 귀무가설을 잘못 기각할 확률, 즉, 유의수준을 결정한다 (0.05가 보편적임).
3) Effect size를 구한다. Effect size는 overlap의 정도를 정량화 하는데 실험군과 대조군의 평균값의 거리와 그들의 분산 정도에 영향 받는다. Effect size를 구할 수 있는 많은 방법들이 있기 때문에 overlap을 추정할 수 있는 연구와 병행할 필요가 있다.
4) 1,2,3)을 이용하면 sample size를 구할 수 있다. 즉, 우리가 원하는 검정력과 유의 수준의 분석을 위해 실험군과 대조군 Data의 overlap을 고려했을 때, 적정한 sample의 size를 구하는 방법이 power analysis인 것이다.
참고 사이트)
StatQuest p-hacking : https://youtu.be/HDCOUXE3HMM
StatQuest FDR : https://youtu.be/K8LQSvtjcEo
StatQuest power analysis : https://youtu.be/VX_M3tIyiYk
FDR :
https://3months.tistory.com/262
'공부 > 정보과학' 카테고리의 다른 글
[통계] 베이지안 회귀분석 (0) | 2020.08.28 |
---|---|
[통계] 베이즈 추론 (0) | 2020.08.27 |
[예제] 시계열 Data로부터 Transfer Entropy 구하기 (55) | 2019.02.19 |
[예제] 라그랑즈 승수법을 이용한 최대 엔트로피 계산 (0) | 2018.12.15 |
[확률과정] 푸아송 과정 실전편 - 발생 시간 간격의 관점에서 (0) | 2018.10.10 |
댓글