False Discovery Rate 의미 | [핵심 머신러닝] 주요 인자 탐지 (False Discovery Rate) 인기 답변 업데이트

당신은 주제를 찾고 있습니까 “false discovery rate 의미 – [핵심 머신러닝] 주요 인자 탐지 (False Discovery Rate)“? 다음 카테고리의 웹사이트 th.taphoamini.com 에서 귀하의 모든 질문에 답변해 드립니다: https://th.taphoamini.com/wiki/. 바로 아래에서 답을 찾을 수 있습니다. 작성자 ‍김성범[ 소장 / 인공지능공학연구소 ] 이(가) 작성한 기사에는 조회수 4,403회 및 좋아요 39개 개의 좋아요가 있습니다.

False discovery rate(FDR)은 다중검정에 사용되는 통계방법으로, false positive에 total positive를 나눈 비율을 의미한다.

false discovery rate 의미 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 [핵심 머신러닝] 주요 인자 탐지 (False Discovery Rate) – false discovery rate 의미 주제에 대한 세부정보를 참조하세요

false discovery rate 의미 주제에 대한 자세한 내용은 여기를 참조하세요.

False Discovery Rate(FDR)이란? – Deep Play

False Discovery Rate(FDR)는 다중비교문제에서 1종 오류를 조절하는 방법이다. FDR은 특히 유전학 연구에서 대량의 유전체 마커와 질병과의 연관성을 …

+ 더 읽기

Source: 3months.tistory.com

Date Published: 8/15/2022

View: 8091

FDR (False Discovery Rate) – BioinformaticsAndMe

FDR (False Discovery Rate). : FDR은 다중검정비교에서 ‘False positives / Total positives’의 비율을 의미함. : 1종 오류 = False positives.

+ 여기에 보기

Source: bioinformaticsandme.tistory.com

Date Published: 9/11/2021

View: 3274

FDR (False Discovery Rates) – T_Lab

: 유의하다고 판정한 가설 중, 실제로 유의하지 않는 가설의 비율을 조정하는 방법으로서, 위의 교차표에서 V는 우리가 관측할 수 없는 부분이기에 V/R의 …

+ 여기에 표시

Source: t-lab.tistory.com

Date Published: 6/28/2021

View: 9313

False Discovery Rate – ratsgo’s blog

바꿔 말해 m회 가설검정 가운데 각 H0이 참인데 기각된 비율, 즉 검정 전체 유의수준에 가까운 의미라는 뜻입니다. 실제로 FDR 제안자는 FDR을 α라고 …

+ 더 읽기

Source: ratsgo.github.io

Date Published: 1/19/2021

View: 5824

FDR – SLOG

이를 극복하고자 FDR(false discovery rate)이라는 새로운 측도를 제시하고 이를 조절하는 방법을 소개한다. FDR은 “귀무가설이 틀렸다고 판단한 주장 중 …

+ 자세한 내용은 여기를 클릭하십시오

Source: be-favorite.tistory.com

Date Published: 10/4/2021

View: 7861

[ML] 주요 인자 탐지 방법인 FDR(False Discovery Rate)

결국 FWER 방법도 해결하지 못한 문제점을 보완하기 위해 FDR(False Discovery Rate) 방법이 등장한다. 이는 기각된 가설 중 잘못 기각된 가설이 차지하는 …

+ 자세한 내용은 여기를 클릭하십시오

Source: techblog-history-younghunjo1.tistory.com

Date Published: 12/20/2021

View: 7961

FDR : False Discovery Rate – Analytic reasoning

False discovery rate, FDR,이란 통계적 평가에서 type I error, 즉 Posive 중에 false positive가 얼만큼 나왔는가에 대한 지표이다.

+ 자세한 내용은 여기를 클릭하십시오

Source: wycho.tistory.com

Date Published: 5/21/2022

View: 609

통계적 유의성과 실제적 중요성 (3) : FDR(False Discovery Rate …

Effect SIze와 FDR Logworth 값을 그래프로 표현하면 다음과 같습니다. LW(LogWorth) 2를 초과한다는 것은 P Value 0,01 미만이라는 뜻입니다. 오차 분산 …

+ 자세한 내용은 여기를 클릭하십시오

Source: m.blog.naver.com

Date Published: 10/21/2021

View: 1812

[BIT] FDR (False Discovery Rate) 계산을 쉽게 할 수 있는 …

… 하여 해당 유전자 또는 SNP 가 통계적으로 의미 있는지를 판단하게 됩니다. … 반면 FDR 은 p-value < a 인 것들 중에 false positive 인 것들의 ...

+ 여기를 클릭

Source: www.ibric.org

Date Published: 11/26/2021

View: 4512

주제와 관련된 이미지 false discovery rate 의미

주제와 관련된 더 많은 사진을 참조하십시오 [핵심 머신러닝] 주요 인자 탐지 (False Discovery Rate). 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

[핵심 머신러닝] 주요 인자 탐지 (False Discovery Rate)
[핵심 머신러닝] 주요 인자 탐지 (False Discovery Rate)

주제에 대한 기사 평가 false discovery rate 의미

  • Author: ‍김성범[ 소장 / 인공지능공학연구소 ]
  • Views: 조회수 4,403회
  • Likes: 좋아요 39개
  • Date Published: 2020. 12. 4.
  • Video Url link: https://www.youtube.com/watch?v=ebIECiIGsuE

False discovery rate

Structured data Category Statistics

False discovery rate(FDR)은 다중검정에 사용되는 통계방법으로, false positive에 total positive를 나눈 비율을 의미한다. Bonferroni correction과 마찬가지로 GWAS분석에 많이 활용되고 있는 통계방법이며, 한 블로그에서는 실험을 비유로한 false discovery rate에 대한 개념을 잘 설명하고 있다(http://ddiri01.tistory.com/category/%EA%B8%B0%EC%B4%88%ED%86%B5%EA%B3%84).

GWAS분석에서의 FDR #

, GWAS분석에서 Bonferroni correction은 사용하기 매우 간단하고 유용한 방법이지만 너무 엄격하게 대량의 마커를 사용하는 연관성 분석에서는 효용가치가 많이 떨어지고 있다. 이러한 문제점을 극복하기 위해 false discovery rate(FDR)라는 새로운 통계 분석법이 개발되었으며 본 방법은 대량의 유전마커를 이용한 연관성 연구에 매우 유용한 방법이다. FDR은 total positive에 대한 false positive 비율을 의미한다.

False Discovery Rate(FDR)=False positive/total positive

FDR을 계산하는 방법은 1. p-value의 값을 가장 큰 것부터 가장 작은 것 순서로 나열 2. 유의 수준 α=0.05k/N 공식을 이용하여 순차적으로 검정

k = N, (N-1), (N-2), —-, 1

이 분석 방법은 순차적으로 p-value의 값을 줄여감으로써 통계적 파워가 적게 감소하게 되는 장점을 가진다. Bonferroni correction과 FDR을 비교해 보면 Bonferroni correction은 검사 개수(N)가 증가할수록 p-value가 급격히 감소하여 많은 true positive가 유의하지 않게 나타날 수 있다. 그러나 FDR 방법은 검사 개수(N)가 증가하더라도 Bonferroni correction보다 p-value의 감소가 완만하여 true positive가 제거되는 비율이 낮아지는 장점을 가지고 있다.

이종극(2006). 질병 유전체 분석법 Wikipedia, False discovery rate (http://en.wikipedia.org/wiki/False_discovery_rate) http://ddiri01.tistory.com/category/%EA%B8%B0%EC%B4%88%ED%86%B5%EA%B3%84

Suggested Pages #

False Discovery Rate(FDR)이란?

False Discovery Rate

False Discovery Rate(FDR)는 다중비교문제에서 1종 오류를 조절하는 방법이다. FDR은 특히 유전학 연구에서 대량의 유전체 마커와 질병과의 연관성을 보는 연구(예를 들어 Genome-wide association study)에서 많이 사용하는 방법이다.

다중비교문제에서 기본적으로 많이 사용하는 본페로니 방법은 전체 테스트의 1종 오류를 alpha (예를 들어0.05)로 고정하는 방법이다. 즉, 전체 테스트가 유의하지 않은데 유의하다고 잘못판단할 확률을 0.05로 한다는 것이다.

50000개의 마커에 대해 연관성을 검정하며, 이 중 49000개가 실제로 연관성이 없고, 나머지 1000개가 실제 연관성이 있다고 해보자.

개별 테스트의 1종 오류를 0.05로 고정하면, 1종 오류는 유의하지 않은데, 유의하다고 판단할 확률이므로 49000*0.05 = 2450개가 평균적으로 false positive가 된다. 즉, 49000개 중에 2450개를 유의하다고 잘못판단하고, 나머지 46550개를 유의하지 않다고 잘 판단한 것이다. 만약 1000개의 실제 연관성이 있는 마커중 900개를 유의하다고 판단하고, 100개를 유의하지 않다고 판단했다고 하면, 총 3350개를 유의하다고 판단해서 그 중에 900개가 맞은 것이다.

본페로니 보정을 이용하여 전체 테스트의 1종 오류를 0.05로 고정하면 개별 테스트의 컷오프는 0.05/50000이 되므로, 49000*0.05/50000 = 약 0.05가 평균적으로 false positive가 된다. 따라서 본페로니 보정을 이용하면 false positive를 확연히 줄일 수 있다. 하지만 본페로니 보정의 단점은 너무 컷오프가 엄격하기 때문에 실제 유의한 마커의 effect size가 크지 않은 경우 유의하지 않다고 판단할 수 있다는 것이다. 이것이 소위 말하는 power의 문제이며, 1종 오류와 2종 오류가 trade off 관계임을 알 수 있다. 이렇게 false positive를 엄격하게 통제하면 너무 보수적인 결정을 내리게 되며 실제 유의한 마커를 찾아내기가 힘들어진다. 따라서 어느정도의 오차를 허용하면서 실제 유의한 마커도 잘 골라내는 방법이 필요하게 된다.

따라서 이러한 연구에서는 False Discovery Rate, 즉 유의하다고 판단한 것중에 틀릴 확률을 고정시키는 새로운 p-value를 정의하는 방법을 많이 사용한다. 우선 FDR의 정의부터 보면,

FDR = false positive / total positive (total positive = false positive + true positive)

즉, 유의하다고 판단한 것 중에 실제로는 유의하지 않은 것의 비율이다. 이 비율을 0.05로 고정한다면, 유의하다고 판단했을 때 틀릴 확률은 0.05로 고정할 수 있다. 이는 위의 접근법과는 다소 다르다. 1종 오류는 유의하지 않은데 유의하다고 판단할 확률이지만, FDR은 유의하다고 판단했을 대, 이것이 틀릴 확률이다. 위의 경우에는 3350개를 유의하다고 판단했는데 이 중 틀린 것이 2450이므로 FDR = 2450/3350 = 0.73 이다. 수많은 false positive로 인해 FDR이 높아졌음을 알 수 있고, 데이터가 밸런스하지 않기 때문에 실제 유의한 마커를 찾는 것이 매우 힘들다는 것을 알 수 있다.

근데 FDR은 실제 정답을 알아야 알 수 있다. 실제 유의한 (혹은 인과적 관계를 갖는) 마커를 알아야 FDR을 정확히 구할 수 있는데 이것은 힘든 일이다. 따라서 다양한 방법으로 FDR을 추정하는데 대표적인 방법으로는 Benjamini-Hochberg procedure가 있다.

위키피디아의 정의를 보자.

Benjamini–Hochberg procedure

The Benjamini–Hochberg procedure (BH step-up procedure) controls the FDR at level α {\displaystyle \alpha } .[1] It works as follows:

For a given α {\displaystyle \alpha } k such that P ( k ) ≤ k m α . {\displaystyle P_{(k)}\leq {\frac {k}{m}}\alpha .} Reject the null hypothesis (i.e., declare discoveries) for all H ( i ) {\displaystyle H_{(i)}} i = 1 , … , k {\displaystyle i=1,\ldots ,k}

우선, 모든 마커의 p-value를 큰 것부터 작은 것으로 내림차순 정렬을 한 후, 개별 테스트의 p-value를 각각 다르게 적용시키는 방법이다. 예를 들어, alpha = 0.05, m=50000, k=50000 인 경우, 가장 p-value가 큰 마커이다. 이 마커의 경우 p-value의 기각역은 50000*0.05/50000 = 0.05 이다. 즉, p-value가 낮은 마커로 갈 수록 점점 엄격한 p-value의 컷오프를 적용한다. Benjamini-Hochberg procedure는 이러한 방식으로 FDR을 0.05로 고정한다.

# 2018.2.6 추가

Benjamini 방법을 통해 기각역을 정하는 것을 시각화해서 보면 위와 같은 그림이 된다. 기각역을 고정시키는 본페로니나 Holm’s의 방법(회색선) 보수적인 기각역을 갖고, FDR의 경우(빨간색선) 어느 정도 false positive를 허용함으로써 너무 보수적이지 않도록 기각역을 조정한다.

참고 : http://t-lab.tistory.com/28

FDR (False Discovery Rate)

FDR ( False Discovery Rate) Start

BioinformaticsAndMe

FDR (False Discovery Rate)

: FDR은 다중검정비교에서 ‘False positives / Total positives’의 비율을 의미함

: 1종 오류 = False positives

: 1종 오류는 귀무가설이 실제로 참이지만, 이에 불구하고 귀무가설을 기각하는 오류 (실제 음성인 것을 양성으로 판정)

: Benjamini-Hochberg Procedure은 FDR을 줄이는 방법으로 단순하지만, 직관적이고 강력함

: Bonferroni correction보다 완만한 p-value 감소가 진행되어, 제거되는 True positive가 비율이 낮아짐

FDR 보정 과정 예제

0. Simple example

: FDR 검정의 예로 사용될 데이터는 아래와 같음

: 유전자(발현)는 약물에 영향받지 않는다는 가정

: 10개 유전자 검정 → 다중검정비교

1. Order to p-values from smallest to largest

: p-value의 값을 가장 유의한 순서로 나열함

: 10개 유전자에 대한 p-value 값이 산출됐고, 아래 그림처럼 나열됨

: p-value 0.01은 false positive ← 동일한 분포에서 추출된 데이터 비교이므로 차이가 유의할 수 않음

2. Rank the p-values

: 가장 유의한 수준으로 순위를 매김

3. The largest FDR adjusted p-value and the largest p-value are the same

: 순위의 마지막(10번째)인 p-value는 FDR 보정 후에도 동일한 값을 가짐

: 마지막 순위 p-value = 마지막 순위 adj p-value

4. The next largest adjusted p-value is the smaller of two options

: 바로 옆인 9번째 adjusted p-value는 두 가지 값 중 작은 것을 선택

a – 이전 adjusted p-value 값

b – 현재 p-value X (검정의 총 개수/해당 위치 순위)

: 9번째 위치에서 원래 p-value = 0.81

: 검정의 총 개수 = 10

: 해당 위치 순위 = 9

를 수식에 넣고 계산하면 0.90이 나온다

따라서, 9번째 위치에서 FDR 보정 후, adjusted p-value는 0.90이 된다

: 앞서와 같은 방식으로 첫번째 순위까지 반복하여 p-value 보정

p-value가 0.01으로 유의하다고 생각했던 첫번째 값은

FDR 보정 후 adjusted p-value가 0.1이 됐기 때문에,

더 이상 유의하지 않음

다중검정비교로 생길 수 있는 1종 오류(false positive)를 FDR 보정으로 회피

위 내용은 StatQuest 영상을 참조함

#Reference

1) https://www.youtube.com/watch?v=K8LQSvtjcEo

2) https://en.wikipedia.org/wiki/False_discovery_rate

3) https://www.statisticshowto.datasciencecentral.com/benjamini-hochberg-procedure/

4) https://www.jstor.org/stable/2346101?seq=1#page_scan_tab_contents

5) https://ko.wikipedia.org/wiki/1%EC%A2%85_%EC%98%A4%EB%A5%98%EC%99%80_2%EC%A2%85_%EC%98%A4%EB%A5%98

FDR ( False Discovery Rate) End BioinformaticsAndMe

FDR (False Discovery Rates)

FDR (False Discovery Rates)

이번 포스팅에서는 요즘 통계 연구중에서 Hot한 FDR에 대해서 이야기해보도록 하겠습니다. FDR은 특히, microarray처럼 데이터가 큰 부분에서 자주 언급이 되고있습니다.

그 전에, 여러 그룹에 대해서 평균의 차이를 비교하는, ANOVA Test에 대해 다시한번 생각해보도록 하겠습니다.

ANOVA Test는 다음과 같이 진행이 됩니다.

– Step 1. 귀무가설 : 전체 그룹 중, 하나 이상의 그룹에서 평균의 차이가 난다.

(H0 : M1 = M2 = M3 = … =Mk)

– Step 2. Step1의 귀무가설이 기각이 되어, 하나 이상의 그룹에서 평균의 차이가 난다면, 어떤 그룹 사이에서 평균의 차이가 나는지 사후검정(Post-hoc Test)를 진행한다.

(H0 : M1 = M2, M1 = M3, … M1 = Mk, M2 = M3, … M(k-1) = Mk)

주목할 점은, Step2. 사후검정입니다.

사후검정에는 bonferroni, Tukey, Duncan 등 여러 방법이 존재합니다. 이렇게 여러가지 방법이 존재하는 이유는, 다중 비교 문제(Multiple Comparison Problem)에 의해 각 방법에 따라 검정의 p-value의 조정을 다르게 하기 때문입니다.

다중 비교 문제 (Multiple Comparison Problem) 이란?

: ANOVA 검정 후, 사후 분석에서 일반적으로 C(k,2) (Combination)의 T-test가 필요합니다. 이렇게 되면 만약 비교할 그룹이 100개라면 100 * 99 / 2, 약 5000번의 T-test가 시행이 되는데 각각의 유의수준을 0.05로 잡게되면 5000번의 T-test 중 단 한번이라도 잘못된 결론을 내리게 될 확률 (False Positive)가 거의 100%(1-(1-0.05)^50)에 가깝게 됩니다.

이것을 일반화 하면 다음과 같은 수식이 나옵니다.

이렇게, 여러번 검정을 하면서 False Positive의 확률이 커지는 것을 다중 비교 문제라고 합니다.

이 부분을 보정하는 것이 사후검정이 여러가지 방법이 있는 이유이고, 현재 가장 많이 쓰이는 방법 중 하나는 bonferroni 방법입니다.

Bonferroni 방법이란?

: 가장 직관적이고 간단한 방법으로, 유의수준을 검정하려는 횟수로 나누어 개별 검정의 유의수준으로 정하는 것입니다. 예를 들면, 5000번의 T-test를 한다면, 각각의 T-test 유의수준을 0.05 / 5000 = 0.00001 로 하는 것 입니다.

– 장점 : 계산이 간단하며, 직관적인 이해가 가능

– 단점 : 너무 보수적이여서 비교의 개수가 커지면 유의수준이 너무 작아져 검정력이 떨어짐

이 외에도, Tukey, Dunkan 등의 방법들이 있습니다. 이 모든 방법의 공통점으로, 너무 보수적이라는 것이 문제입니다.

그 이유에 대해 알아보도록 하겠습니다.

실제 가설들의 유의 여부에 대해 알고있다면, 위와 같이 2X2 교차표를 만들 수 있습니다. ( 사실 우리가 알 수 있는 부분은, m-R과 R 부분인 것을 눈치채셨나요? )

Bonferroni의 방법은 위의 교차표에서 V를 조정하는 것을 목표로 두고 있습니다. 즉, Family-wise error rate ( : the probability of at least one type 1 error, P(V>=1) ) 를 조정하는 것입니다. 이것은, 실제로 유의하지 않지만 유의하다고 나타낼 검정 갯수를 조정한 방법이기 때문에 보수적으로 결과가 나타나는 것입니다.

이렇게, FWER을 조정하는 방법은 bonferroni 이외에도 Holm’s Procedure이라는 것도 있습니다.

Holm’s Procedure이란?

: bonferroni방법 처럼 단일 유의수준(Single)을 통해 보정하는 것이 아니라, 각각의 개별연구에 대해서 순서적으로(Sequential) 모두 다른 조정 유의수준을 부여하는 것입니다.

– Step 1. 개별연구의 p-value를 작은 순서대로 나열합니다.

– Step 2. 각 순서의 index에 맞추어 처음으로 다음의 부등식을 만족하는 i를 찾습니다.

N : 전체 비교해야 할 검정의 갯수

i : 순서대로 나열한 p-value의 index

α : 전체 유의수준

– Step 3. i보다 작은 p-value의 해당하는 검정만을 기각합니다.

예를 들면, 내가 비교할 검정이 5개이고, 각각의 순서대로 나열된 p-value와 조정된 유의수준을 다음과 같다면

1st 2nd 3rd 4th 5th 개별 p-value 0.0001 0.0010 0.0170 0.0220 0.0770 조정된 기각역 0.0100 0.0125 0.0167 0.0250 0.0500

개별 p-value가 조정된 기각역보다 처음으로 큰 부분은 “3” 입니다. 그러면 첫번째, 두번째 검정만을 기각하고 나머지 검정은 채택하게 되는 것 입니다. ( 4번째 p-value도 기각역보다 작지만 기각하지 않습니다. )

하지만, 이 방법 역시 bonferroni보다 조금 덜 보수적일뿐, 아직도 보수적인 성향을 갖고 있습니다.

그렇다면, 이제 위의 교차표에서 V와 같이 갯수를 조정하는 것이 아니라, V/R 비율을 조정하는 방법인 FDR에 대해서 알아보겠습니다.

FDR(False-Discovery Rate)란?

: 유의하다고 판정한 가설 중, 실제로 유의하지 않는 가설의 비율을 조정하는 방법으로서, 위의 교차표에서 V는 우리가 관측할 수 없는 부분이기에 V/R의 기대값을 말합니다.

이 방법이 요즘 가장 Hot한 이유는, 생각보다 굉장히 단순하기 때문입니다.

– Step 1. 개별연구의 p-value를 작은 순서대로 나열합니다.

– Step 2. 각 순서의 index에 맞추어 처음으로 다음의 부등식을 만족하는 i를 찾습니다.

– Step 3. i보다 작은 p-value의 해당하는 검정만을 기각합니다.

FDR로 조정되어서 위의 간단한 5개의 검정을 다시 예를 들어보도록 하겠습니다.

1st 2nd 3rd 4th 5th 개별 p-value 0.0001 0.0010 0.0170 0.0220 0.0770 조정된 기각역 0.0100 0.0200 0.0300 0.0400 0.0500

위의 표에서는 처음으로 조정된 기각역이 개별 p-value보다 작아지는 것은 5번째입니다. 즉, 4번째 가설까지만을 기각하게 됩니다.

이렇게 간단하지만 실제로 엄청난 효과를 가져옵니다.

위의 그래프는 “Computer age statistical inference – algorithms, evidence and data science / 저자 : Bradley Efron, Trevor Hastie” 의 책에서 ‘prostate’ 데이터에서 6033개의 개별연구에 대한 p-value(파란점)와 Holm의 방법(회색선)과 FDR의 방법(빨간선)으로 만든 기각역에 대한 그래프 입니다.

Holm의 방법으로는 7개의 연구만 기각했지만, FDR로는 28개의 연구를 기각함으로써, 보수적인 문제점을 극복한 것을 볼 수 있습니다.

여태까지 설명한 FDR의 방법은 Benjamini과 Hochberg의 연구로 소개된 방법입니다.

여기에서 더욱 발전한 방법으로는 Efron의 방법(위의 책 참고!)도 있습니다.

데이터가 커지면 커질수록, 즉 빅데이터가 나타날 수록 다중검정비교문제는 더욱 중요시 될 것입니다!

FDR의 포스팅을 마치도록 하겠습니다.

Reference

[1] Computer age statistical inference – algorithms, evidence and data science / 저자 : Bradley Efron, Trevor Hastie

[2] Benjamini, Yoav, and Yosef Hochberg. “Controlling the false discovery rate: a practical and powerful approach to multiple testing.” Journal of the royal statistical society. Series B (Methodological) (1995): 289-300.

[3] Efron, Bradley, and Robert Tibshirani. “Empirical Bayes methods and false discovery rates for microarrays.” Genetic epidemiology 23.1 (2002): 70-86.

False Discovery Rate · ratsgo’s blog

# load & split data data <- read.csv ( 'data.csv' , header = F ) good <- data [ which ( data [, 35 ] == 'g' ), -35 ] bad <- data [ which ( data [, 35 ] == 'b' ), -35 ] # T-test Ttest <- c () for ( i in 1 : dim ( good )[ 2 ]) { Ttest [ i ] <- t.test ( good [, i ], bad [, i ]) $ p.value } # individual test which ( Ttest < 0.05 ) # family-wise test (패키지 사용) # bonferroni : p-values are multiplied by the number of comparisons family.wise.test = p.adjust ( Ttest , method = "bonferroni" ) which ( family.wise.test < 0.05 ) # family-wise test (자작) which ( Ttest < 0.05 / length ( Ttest )) # FDR (패키지 사용) library ( fdrtool ) fdr <- fdrtool ( Ttest , statistic = 'pvalue' , cutoff.method = 'fndr' ) fdr $ param # FDR (자작) fdr.level <- 0.05 var_table <- matrix ( 0 , nrow = length ( Ttest ), ncol = 4 ) colnames ( var_table ) <- c ( 'id' , 'rank' , 'P-value' , 'i/m*FDR' ) var_table [, 1 ] <- c ( 1 : length ( Ttest )) var_table [, 3 ] <- Ttest var_table <- var_table [ order ( var_table [, 3 ]),] var_table [, 2 ] <- c ( 1 : length ( Ttest )) var_table [, 4 ] <- var_table [, 2 ] / length ( Ttest ) * fdr.level max ( which ( var_table [, 3 ] < var_table [, 4 ])) # 중요 변수 개수 var_table [ 1 : max ( which ( var_table [, 3 ] < var_table [, 4 ])), 1 ] # 중요 변수 추출 # all variables model library ( MASS ) data [, 35 ] <- as.numeric ( data [, 35 ]) colnames ( data )[ 35 ] <- 'Target' data <- data [, -2 ] trn_idx <- sample ( 1 : dim ( data )[ 1 ], round ( 0.7 * dim ( data )[ 1 ])) train_data <- data [ trn_idx ,] test_data <- data [ - trn_idx ,] allmodel <- lda ( Target ~ . , train_data ) # var selection model train_data_good <- train_data [ which ( train_data $ Target == 1 ), - train_data $ Target ] train_data_bad <- train_data [ which ( train_data $ Target == 2 ), - train_data $ Target ] Ttest <- c () for ( i in 1 : dim ( train_data_good )[ 2 ]) { Ttest [ i ] <- t.test ( train_data_good [, i ], train_data_bad [, i ]) $ p.value } family.wise.test = p.adjust ( Ttest , method = "bonferroni" ) individual_model <- lda ( Target ~ . , train_data [, c ( which ( Ttest < 0.05 ), 34 )]) familywise_model <- lda ( Target ~ . , train_data [, c ( which ( family.wise.test < 0.05 ), 34 )]) # fdr model fdr.level <- 0.05 var_table <- matrix ( 0 , nrow = length ( Ttest ), ncol = 4 ) colnames ( var_table ) <- c ( 'id' , 'rank' , 'P-value' , 'i/m*FDR' ) var_table [, 1 ] <- c ( 1 : length ( Ttest )) var_table [, 3 ] <- Ttest var_table <- var_table [ order ( var_table [, 3 ]),] var_table [, 2 ] <- c ( 1 : length ( Ttest )) var_table [, 4 ] <- var_table [, 2 ] / length ( Ttest ) * fdr.level important_vars <- var_table [ 1 : max ( which ( var_table [, 3 ] < var_table [, 4 ])), 1 ] fdr_model <- lda ( Target ~ . , train_data [, c ( important_vars , 34 )]) # prediction all <- predict ( allmodel , test_data ) individual <- predict ( individual_model , test_data ) familywise <- predict ( familywise_model , test_data ) fdr <- predict ( fdr_model , test_data ) # calculate ACC ACC_all <- sum ( diag ( table ( test_data $ Target , all $ class ))) / length ( all $ class ) ACC_indi <- sum ( diag ( table ( test_data $ Target , individual $ class ))) / length ( individual $ class ) ACC_fdr <- sum ( diag ( table ( test_data $ Target , fdr $ class ))) / length ( fdr $ class ) ACC_family <- sum ( diag ( table ( test_data $ Target , familywise $ class ))) / length ( familywise $ class )

FDR

❗️블로그 옮김: https://www.taemobang.com

※ prerequisite

다중 검정

FWER

(참고) 후의 설명에서 나올 가설검정의 True positive(Discovery) 등과 같은 용어는 다음의 테이블을 보고 이해하면 된다.

Table 1 출처 – High-Dimensional Data Analysis (Patrick Breheny)

예를 들어 True positive는 위 표에서 True Discovery($A$)로 표현할 수 있고, 귀무가설을 기각시켰는데 그 결정이 옳은 판단임을 의미한다. False negative는 위 표에서 굳이 표현하자면 False Don’t reject($h_0 – A$)이며, 귀무가설을 기각시키지 않았는데 그 결정이 틀린 판단임을 의미한다. True negative와 False positive도 위와 같은 방식으로 해석하면 된다.

FWER은 유전자 표현 데이터와 같은 고차원 데이터의 다중검정에서 여전히 지나치게 보수적인 결정을 내릴 수 있음을 확인했다. 이를 극복하고자 FDR(false discovery rate)이라는 새로운 측도를 제시하고 이를 조절하는 방법을 소개한다. FDR은 “귀무가설이 틀렸다고 판단한 주장 중 잘못된 판단의 기대 비율(비율의 기댓값)”을 말한다. 대표적으로 두 사람이 제안한 FDR이 있는데 이는 다음과 같다($h$:가설의 수).

Benjamini & Hochberg의 FDR = $E[\frac{A}{R}\;|\; R>0]\;p(R>0)$

Storey의 positive FDR = $E[\frac{A}{R}\;|\; R>0]$ (for very large $h$, $\because p(R>0) \approx 1$)

유전자 표현(genes expression)을 $X$로 하는 것과 같은 고차원 데이터에서 두 그룹간 다중검정시, FDR과 pFDR은 거의 동일할 것이다. FDR은 많은 False positive를 허용하지만, 훨씬 더 많은 True positive를 찾아낸다. 즉, 가설검정 횟수가 매우 많을 때도 FWER보다 훨씬 더 liberal 한 결정을 내릴 수 있다(“검정력이 강하다”는 말과 같다). FDR을 조절하는 대표적인 방법인 BH(Benjamini & Hochberg) procedure을 이용해 FDR $q$ 수준에서 검정을 수행한다고 하면, 개별검정의 q-value가 다음과 같은 조건을 만족하면 귀무가설 $H_{0(i)}$를 기각시킬 수 있게 된다.

$p_{(i)} \leq \frac{i}{h}q$

($p_{(i)}$ : p-value를 오름차순으로 정렬한 것)

FWER에서 개별검정의 adjusted p-value $\tilde{p}$를 제시해주듯, FDR은 q-value라는 측도를 제시해준다. q-value도 p-value에 기반한 값으로 FDR에서 제공하는 일종의 adjusted p-value라고 할 수 있다.

$\tilde{q}_j = \textrm{inf} \left \{q : H_0 \;\; \textrm{rejected at FDR }\leq q \right \}$

inf는 infimum으로 하한을 말하며, $\tilde{q}_j$의 상한값은 항상 1이다. 위 수식의 해석은 “가설 $j$를 기각하는데에 필요한 FDR $q$수준의 하한이 q-value”이다. FWER처럼 $\alpha$를 조절하는 것이 아니므로 해석에는 주의가 필요하다. 예를 들어, 가설 $j$의 $q = 0.05$라 하자. 이는 FDR 5% 수준에서 귀무가설을 기각시킬 수 있는 검정임을 뜻하여, FDR을 5% 이상 허용시 귀무가설을 기각할 수 있게 된다. 조금 달리 말하면 $q = 0.05$는 귀무가설이 틀렸다고 판단한 주장 중 잘못된 판단의 비율을 5% 이상으로 설정하면, 가설 $j$를 기각할 수 있다는 뜻이다. 그래서 FDR의 q-value는 FWER의 adjusted p-value보다 좀 더 직관적인 해석력을 가진다고 할 수 있다.

이제 두 종류의 백혈병을 각각 앓는 환자들($n = 72$)의 microarray 데이터($p=7129$)로 FWER과 FDR을 조절하는 다중검정법 간에 adjusted p-value가 어떻게 변화해 나가는지 알아보자. 이를 시각적으로 표현하면:

출처 – High-Dimensional Data Analysis (Patrick Breheny)

Y축은 adjusted p-value또는 q-value가 귀무가설을 기각하기 위해 최소한으로 허용해야만 하는 FWER과 FDR을 의미하며, X축은 그 값들을 오름차순으로 정렬했을 때의 rank라고 보면된다. 본페로니 교정은 어차피 모든 개별검정에서 adjusted p-value 값이 같으므로, 검정시 동시에 고려하는 유전자의 수를 점차 늘려 그 값을 그래프로 찍은것같다. Bonferroni와 Westfall은 동시에 검정이 필요한 가설의 수가 커질수록 급격하게 FWER이 증가하여, 많은 False negative를 야기시킬 것으로 보인다. 그러나 BH 방법의 경우 증가의 정도가 매우 완만하여, 가설의 수가 커져도 많은 True positive를 잡아낼 수 있을 것으로 예상한다. 이처럼, 고차원 데이터($n \ll p$)의 다중검정과 같은 상황에는 FWER보다 FDR이 훨씬 더 좋은 측도로 여겨진다.

FDR에서 제공하는 q-value와 그에 따른 해석, 그리고 실제로 FWER보다 위와 같은 상황에 더 좋은 측도임을 확인했다. F그러나 아직 FDR의 대해 충분히 이해하기에는 설명이 매우 부족하다. 이제 그림들을 통해서 FDR과 BH 방법이 대체 어떤 역할을 하는지 직관적으로 이해해보자!

(앞으로의 설명과 그림의 출처는 Youtube의 StatQuest 채널 – False Discovery Rates, FDR, Clearly explained에 기반을 두고 있습니다. 원본 영상을 한 번정도는 보시는 것을 추천드립니다. FDR을 설명하는 최고의 영상입니다.)

False Discovery Rates, FDR, Clearly explained (Statquest) on Youtube

StatQuest에서 제시하는 FDR의 주 아이디어(Main idea)는, “FDR은 좋아 보이는 나쁜 데이터를 제거하는 도구(FDR are a tool to weed out bad data that looks good.”라는 것이다. 그 이유는 이 글을 읽다보면 짐작할 수 있다. 이제 본론으로 들어가서, 예를 통해 설명한다. 쥐들의 RNA-sequencing 유전자 표현(gene expression)을 측정값을 그래프로 표현해보자. 이는 같은 종의 쥐여도 측정시마다 항상 조금씩 달라진다.

출처 – False Discovery Rates, FDR, Clearly explained (Statquest) on Youtube

회색 점선은 쥐들의 RNA 평균값을 뜻한다. 대부분 값은 평균 근처에 있고, 평균보다 훨씬 작거나 큰 RNA 값들도 가끔 존재한다. 따라서 RNA 값을 분포로 나타내면 다음과 같을 것이다.

출처 – False Discovery Rates, FDR, Clearly explained (Statquest) on Youtube

자 이제 아래와 같이 쥐 3마리의 RNA를 분포로부터 추출했다고 하자.

출처 – False Discovery Rates, FDR, Clearly explained (Statquest) on Youtube

첫 번째 Sample은 분포의 중심으로부터 추출된 것으로 예상되고, 두 번째 Sample도 그렇다. 즉, two-sample t-test를 수행하면 p-value > 0.05일 것이다. 반대로 만약 다음과 같이 추출됐다면, p-value < 0.05일 것이다. 출처 - False Discovery Rates, FDR, Clearly explained (Statquest) on Youtube 이런 상황이 발생하는 경우를 우리는 “false positive”라고 한다(가설검정에서 귀무가설을 기각시키는 행위를 positive로 정의한다). 그 이유는 위와 같이 추출이 된 경우 p-value < 0.05가 되어 귀무가설을 기각하게 되는데, 사실 두 표본은 같은 분포로부터 추출된 것이기 때문이다. 단일검정을 수행하는 것과 같은 보통의 경우 이러한 false positive는 잘 발생하지 않는다. 출처 - False Discovery Rates, FDR, Clearly explained (Statquest) on Youtube (유의수준 0.05하에) 95%의 경우는 왼쪽의 그림처럼 추출되어, p-value > 0.05로 올바른 판단 “true negative”를 내리겠지만, 5%의 경우는 그렇지 않다(즉 “false positive”). 이렇게 false positive는 5%밖에 발생하지 않지만, 사람과 쥐의 세포는 최소 10,000개의 유전자로 구성되어 있고, 만약 우리가 같은 타입의 쥐로부터 표본 2개를 추출한다면 그에 따라 최소 10,000번의 검정이 필요하게 된다. 이 경우 10,000번의 5%이므로, 500개의 false positive가 발생할 수 있다. 이는 500개의 유전자는 유의한 차이가 있는 것처럼 보이지만 실제로는 그렇지 않음을 뜻한다. 500개의 false positive는 너무나 많다! 이런 경우에 우리는 무엇을 할 수 있을까? FDR은 이러한 false positive의 수를 통제할 수 있게 해준다. 사실 FDR은 false positive를 직접적으로 제한하는 방법은 아니고, false positive를 제한하는 방법들과 상호교환적인(interchangeable) 용어로 쓰인다. 특히 “Benjamini-Hochberg method(BH method)”에서 그렇다. BH method를 자세하게 알아보기 전에, 어떤 개념을 기반으로 만들어진 방법인지 알아보자.

먼저 동일한 분포로부터 표본을 추출하여 10,000개의 p-value 값을 구하자.

출처 – False Discovery Rates, FDR, Clearly explained (Statquest) on Youtube

당연히 대부분의 p-values 값이 클 것이며, 발생시킨 10,000개의 p-value로 히스토그램을 그려보자.

출처 – False Discovery Rates, FDR, Clearly explained (Statquest) on Youtube

히스토그램의 빈 크기는 0.05이다. 즉 10,000개 중 510개의 p-value가 잘못된 결론(false positive)을 내렸다. 그리고 그 옆의 빈 0.05-0.1의 값을 가지는 p-value도 전체 p-value 중 약 5%를 차지한다. p-value 분포가 균일하게 분포하고 있으므로, 검정의 p-value가 20개의 빈 중 하나에 포함될 확률은 모두 같음을 알 수 있다. 그럼 이제 다른 두 분포로부터 표본을 추출하는 경우 p-value의 분포가 어떻게 되는지 확인해보자. 실험군(mice treated with drugs)은 빨간색 선, 대조군(control mice)은 검은색 선으로 나타낸다. 아마 대부분 작은 값의 p-value를 가지게 될 것이다.

출처 – False Discovery Rates, FDR, Clearly explained (Statquest) on Youtube

예상과 일치하는 결과이며, p-value의 분포를 히스토그램으로 나타내면 다음과 같다.

출처 – False Discovery Rates, FDR, Clearly explained (Statquest) on Youtube

마찬가지로 빈 크기는 0.05이다. 대부분의 p-value가 0.05보다 작으며, 이는 대부분이 올바른 결론(True positive)을 내리고 있음을 뜻한다. 나머지 빈(즉, p-values > 0.05)은 잘못된 결론(false negative)을 내린다. 지금까지 알아본 바를 정리해보자.

○ 같은 분포로부터 발생시킨 표본들로 계산한 p-value들은 균일 분포 형태를 띈다.

○ 다른 두 분포로부터 발생시킨 표본들로 계산한 p-value들은 0으로 크게 치우쳐져 있다(skewed to the right).

위 사실은 꼭 기억해야하며 중요하다. 이제 신경세포에 있는 활성 유전자(active genes)들을 검정하는 실험을 한다고 가정할 것이다. 신경세포는 실험군(treated with a drug), 대조군으로 구성되고, 약물은 1,000개의 유전자에 영향을 끼쳤다. 즉 이 1,000개의 유전자들은 다른 두 분포로부터 표본을 발생시킨 경우와 같다고 보면 되고, 나머지 9,000개는 같은 분포로부터 표본을 발생시킨 경우와 같다.

출처 – False Discovery Rates, FDR, Clearly explained (Statquest) on Youtube

그래서 1,000개의 유전자와 나머지 유전자들의 p-value 분포는 각각 위와 같은 분포 형태를 띤다. 두 히스토그램을 합치면 10,000개 유전자의 p-value 히스토그램이 될 것이고 다음과 같다.

출처 – False Discovery Rates, FDR, Clearly explained (Statquest) on Youtube

같은 분포로부터 추출된 표본으로 추정한 p-value는 균일하게 분포한다는 점을 이용하여, 둘을 합친 히스토그램을 보면 우리는 많은 것을 추론할 수 있다.

출처 – False Discovery Rates, FDR, Clearly explained (Statquest) on Youtube

그림을 보고 순서대로 추론하자(빈의 크기는 0.05). 먼저 첫 번째 그림을 통해 주황색으로 색칠된 bin들에 속하는 p-value들은 균일하게 분포하고 있으므로 약물로부터 영향을 받지 않은 유전자들임을 알 수 있다. 그에 따라 두 번째 그림에서 색칠이 되어있는 4개의 빈에 포함된 p-value들은 약물로부터 영향을 받은 유전자들과 그렇지 않은 유전자들이 섞여 분포하고 있음을 알 수 있다. p-value들이 균일하게 분포하고 있는 빈의 높이를 기준으로 빨간색 점선을 그어 y축 눈금을 읽어보면(3번째 그림) 각 빈의 빈도를 알 수 있고, 빈 당 450개의 p-value가 쌓여있다. 그럼 이 빨간색 점선을 쭉 연장하여 이를 올바른 판단(true positive)을 내리는 cut-off로 사용할 수 있으며, 빨간색 점선 위로 파란색으로 색칠된 것들은 약물로부터 영향을 받은 유전자들의 p-values임을 알 수 있다(4번째 그림). 보통 귀무가설을 기각시키는 기준을 0.05로 설정하기 때문에 나머지 빈들에 속하는 경우 어차피 모두 귀무가설을 기각시키지 못하는 결론을 내린다(negative). 그래서 우리는 귀무가설을 기각시키는 결론을 내리게 되는 첫 번째 빈에 속하는 p-values에 집중하자(5번째 그림). 그럼 약 450개의 p-values가 각각 점선 위아래에 위치하게 된다. 근데 여기서 점선 위의 것은 약물에 영향을 받은 유전자들이므로 올바른 결론(true postive)을 내린 것이 된다. 첫 번째 빈에 속하는 true positives를 false positives로부터 골라내는 한 가지 방법은 가장 작은 p-values 450개만 고려하는 것이다. 이는 꽤 좋은 방법일 것이다. 그 이유는 다음 그림에 잘 설명이 되어있다.

출처 – False Discovery Rates, FDR, Clearly explained (Statquest) on Youtube

각 p-values의 전체 분포에서 첫 번째 빈에 속하는 p-value들의 분포만을 확대하여 살펴보자. 실제로 유의한 차이가 있는 유전자들은 0으로 매우 치우쳐져 분포하고, 차이가 없는 유전자들은 빈도가 낮게 고르게 분포한다. 그래서 p-values를 오름차순을 정렬해 처음 450개만 고려하면 True positives만 잘 골라낼 수 있다는 것이다! 이 개념들을 잘 이해했다면 FDR과 BH method에 대해 훨씬 더 잘 이해할 수 있다.

BH method에 깔려있는 아이디어는 다 이해했으니, Details을 살펴보자. ○ 우리는 BH method의 기본적인 idea를 히스토그램을 통해 시각적으로 이해할 수 있었다. 그래서 BH method는 “eyeball“ method에 기반을 두었다고도 표현한다. 곧 BH method가 하는 역할이 어떻게 되는지 살펴볼 것이다.

○ BH method는 ”유의하다(significant)“는 결론이 내려진 false positive의 수를 제한하는 방식으로 p-value를 조정한다(이를 특별히 q-value라고 표현함). 여기서 p-value를 조정한다는 뜻은, 기존의 개별검정의 p-value를 더 크게 만드는 것이다. 예를 들어 FDR correction을 수행하기 전 p-value가 0.04(significant)였다면, FDR correction 후엔 0.06이 된다는 것이다. 이는 동영상의 초반에서 제시해주는 FDR의 주 아이디어와 연결되는 내용이기도 하다.

○ FDR < 0.05 하에 검정을 수행한다는 뜻은, ”유의하다(significant)“라는 결과 중 5% 미만은 false positive임을 뜻한다. 즉 이를 그림으로 설명해보면: 출처 - False Discovery Rates, FDR, Clearly explained (Statquest) on Youtube 색칠된 빈에 속하는 모든 p-values < 0.05이며, 오른쪽 그림의 검은 점선 상자는 FDR correction을 수행하여 계산된 adjusted p-value(또는 q-vlaue) < 0.05인 유전자들을 나타낸다. 여기서 알아두어야 할 점은 해당 박스 안의 모든 유전자가 “true positive”는 아니라는 것이며, 이 의미를 전달하기 위해 상자를 빨간색으로 색칠된 빈이 약간 겹치게 그렸다. 즉, 수정된 p-value들의 5%는 false positive일 것이며, 95%는 올바른 결론(true positive)이라는 말이다. 그럼 실제로 유의한 차이가 있는(True positives) 모든 유전자의 adjusted FDR p-values가 0.05보다 작은 값을 갖지 않는 이유는 뭘까? 그 이유는 모든 true positives 유전자들이 매우 작은 p-values를 갖진 않기 때문이다. 다음 그림에 잘 설명되어있다: 출처 - False Discovery Rates, FDR, Clearly explained (Statquest) on Youtube 마지막으로 BH method의 수학적 idea를 간단한 예를 통해 살펴보자. 생각보다 간단하다. 출처 - False Discovery Rates, FDR, Clearly explained (Statquest) on Youtube 같은 분포를 가지는 10쌍의 표본들을(i.e. 약물에 영향을 받지 않은 10개 유전자) 추출하여 p-value를 계산하고, 이를 오름차순으로 정렬한다. 그 결과가 두 번째 p-values이며, 하나의 p-values가 잘못된 결론(false positives)을 내린다. 이때 BH method가 오름차순으로 정렬된 p-values를 어떻게 수정하고 이것이 어떤 역할을 하는지 자세히 알아보자. 먼저, 가장 큰 p-value = 0.91은 FDR correction을 거쳐도 변하지 않는다(큰 것에서 작은 것 순으로 수정을 하여 step-up method라고도 함). 다음 p-value = 0.81부터 두 가지 선택을 할 수 있고, 이는 다음의 식을 통해 선택된다($\tilde{p}_j$ = adjusted p-value = q-value). $\tilde{p}_j = min(p_{i+1}, \frac{m}{i}p_i)$, ($i$ : p-value의 rank, $m$ : total # of p-values) 즉 수정된 p-value와 이전에 수정된 p-value 중 더 작은 값을 선택함. 위 예에서 이전의 adjusted p-value = 0.91이며, p-value = 0.81의 adjusted p-value는 $0.81$*$\frac{10}{9} = 0.90$ 이다. 그래서 0.90 값을 adjusted p-value로 택하게 된다. 이 과정을 반복하면 최종적으로: 출처 - False Discovery Rates, FDR, Clearly explained (Statquest) on Youtube 마지막으로 이러한 예를 더 큰 검정횟수로 확장하여 BH method를 적용한 경우, p-value 값의 전후를 나타내는 그림을 보자. 출처 - False Discovery Rates, FDR, Clearly explained (Statquest) on Youtube 왼쪽 그림을 먼저 보면 eyeball method에 의해 첫 번째 빈의 상위 4개 p-values들은 “true positives”가 된다. 오른쪽 그림의 모든 p-values들을 BH procedures를 거쳐서 수정한 결과에 해당한다. 첫 번째 빈들의 adjusted p-values들을 보자. 기존의 하위 4개의 false positives들이 0.05보다 큰 값을 가지게 됐으며, 나머지 true positives는 0.05보다 작은 값을 유지하고 있다. 즉 모두 올바른 판단을 내려 FDR 수준이 0이 됐다! 하지만, 이는 매우 이상적인 결과이다. 실제 문제에서는 앞서 BH method의 details를 설명할 때 마지막 부분에서 보여주었던 예제에서 확인한 바와 같이, True positives의 p-value의 모든 값이 매우 작진 않아 5%의 FDR을 허용했듯이, 일정 퍼센트의 FDR을 허용하는 검정을 수행해야 할 것이다. 참고 자료 High-Dimensional Data Analysis (Patrick Breheny) False Discovery Rates, FDR, Clearly explained (Statquest) on Youtube

[ML] 주요 인자 탐지 방법인 FDR(False Discovery Rate)

🔉해당 포스팅에서 사용된 자료는 고려대학교 산업경영공학부 김성범교수님의 Youtube 강의자료에 기반했음을 알려드립니다. 혹여나 출처를 밝혔음에도 불구하고 저작권의 문제가 된다면 [email protected]으로 연락주시면 해당 자료를 삭제하겠습니다.(저작권의 문제가 되지 않도록 사진은 최대한 제가 직접 만든 자료로 대체했습니다 🙂 )

이번 포스팅에서는 주요 인자를 탐지하는 방법 중 하나인 FDR(False Discovery Rate)에 대해 알아보려고 한다. 본격적으로 FDR에 대해 알아보기에 앞서 ‘주요 인자를 탐지’한다는 것이 무엇인지 알아보자.

주요 인자 탐지는 ‘이상 탐지(Anomaly Detection)’를 하기 위한 분석이라고 할 수 있다. 이상 탐지란, 특정한 도메인에서 일반적으로 예상되는 특성을 따르지 않는 데이터나, 정상으로 규정된 데이터와 다른 특징을 가지는 즉, 비정상적인 데이터를 찾아내는 것을 의미한다. 이 때 주요 인자 탐지는 이 비정상적인 데이터의 주요한 특징(인자)를 탐색하고 파악하는 것이다.

주요 인자 탐지는 비정상적인 데이터의 특성을 파악하는 것이다.

1. 주요 인자라는 것을 어떻게 판단할 수 있을까?

비정상적인 데이터는 분명히 정상인 데이터와는 다른 패턴을 보일 것이다. 그말은 즉슨 여러 데이터 특성 즉, 여러가지 변수 측면에서 정상 데이터와는 다른 값을 가짐을 의미한다. 하지만 여기서 ‘다른’이라는 단어가 좀 애매모호하다. 도대체 정상 데이터와 얼마나 달라야 비정상적인 데이터의 인자로 취급한다는 것일까? 분명 객관적인 지표가 필요하다. 우리는 이 객관적인 지표를 마련하기 위해 통계적으로 접근을 취할 수 있다.

$p$개의 $x$변수가 있다고 가정해보자.

위 데이터처럼 $p$개의 $x$변수들이 있다고 가정해보자. 위에서 빨간색 값들은 비정상인 이상(False) 데이터들의 특성이고 파란색 값들은 정상인 데이터들의 특성이다. 그렇다면 위의 4가지 변수들 중 어떤 것이 이상 데이터의 특성을 가장 잘 나타낼까? 아마 대부분의 사람들이 $x_2$ 변수를 가리킬 것이다. 그러면 그렇게 생각한 근거가 무엇일까? 답은 간단하다. 이상인 데이터들의 특성은 모두 10이고 정상인 데이터들은 모두 200이기 때문이고 그 차이값이 다른 $x$ 변수들보다 월등히 크게 나기 때문이다.

그렇다면 이를 통계학적인 방법을 사용하게 되면 다음과 같다. 비정상인 데이터들의 $x_2$ 값들의 평균값과 정상 데이터들의 $x_2$ 값들의 평균값을 비교해서 이 차이가 클수록 이상을 탐지하는 주요 요인(변수)일 것이다. 따라서 다음과 같은 수식으로 나타낼 수 있다.

$$\max\arg i\,[\bar{x_i}_{normal} – \bar{x_i}_{abnormal}], i=(1, 2, 3, \cdots, p)$$

그래서 하나의 변수 $x_i$에 대해 정상/비정상 2개의 집단에 대한 평균 차이 검정인 T-test를 수행하면 된다. 물론 2개 이상의 집단에 대한 T-test를 수행하기 이전에 두 집단의 $x_i$값들에 대한 등분산성 여부를 먼저 체크하는 것이 순서이다. 등분산 검정(F-test), T-test 검정 방법, P-value 해석에 대한 설명을 하다 보면 너무 길어질 뿐더러 해당 주제를 좀 벗어날 것 같아서 만약 이에 대한 내용을 모른다면 여기 또는 다른 좋은 블로그들을 참고해보자.

그래서 결국 각 $x_i$ 변수에 대해 T-test 검정을 수행하면 된다. 그런데 최근에 들어 변수가 하나만 존재하는 일변량 문제는 거의 발생하지 않고 대부분 다변량 문제가 발생한다. 그렇다면 이렇게 가설이 여러개인 다중 가설을 한 번에 검정해야 할까? 아니면 각각 검정해야 할까?

2. 하나의 가설을 여러번 검정하기?

우선 동일한 $\alpha$(1종 오류가 발생할 확률(비율))을 가정하고 단일 가설을 $p$번 검정하는 방법이 있다.(이를 Individual한 방법이라고 도 한다.) 하지만 이는 가설의 개수가 많아질수록 $\alpha$값이 증가한다는 치명적인 문제를 발생시킨다. 다음 그림을 보자. $\alpha$값을 0.01로 동일하게 설정하고 가설을 100번 검정했을 때이다.

100번의 가설검정을 한 후 $\alpha$값의 변화

위 표를 보면 가설검정을 10번까지만 수행하더라도 초기값이 0.01이었던 $\alpha$값이 0.1까지 상승한 것을 볼 수 있다. 심지어 100번까지 수행하게 되면 0.63까지 상승하게 된다. $\alpha$값이 0.63이라는 것은 1종 오류가 발생할 확률을 63%까지는 인정하는 것을 의미한다. 결국 1종 오류가 매우 많이 발생함에도 문제라고 생각하지 않는다는 것이다! 이러한 문제를 Multiplicity 문제라고 한다. 따라서 동일한 $\alpha$값을 설정하고 $p$번 단일 가설 검정을 반복하게 되면 Multiplicity 문제가 발생한다.

3. 여러개의 가설을 하나로 취급하자!

그래서 이를 해결하고자 모든 가설을 하나로 취급하는 FWER(Family-Wise Error Rate) 방법이 존재한다. 이 방법은 가설 검정 개수가 10개일 때까지는 Multiplicity 문제를 어느정도 해결하지만 그 이상의 100개, 1000개로 가게 되면 Individual한 방법과 동일하게 Multiplicity 문제가 발생한다.

4. P-value의 임곗값을 찾자, FDR !

결국 FWER 방법도 해결하지 못한 문제점을 보완하기 위해 FDR(False Discovery Rate) 방법이 등장한다. 이는 기각된 가설 중 잘못 기각된 가설이 차지하는 평균 비율을 뜻한다. 이렇게만 설명하면 이해가 잘 안 된다. 우선 다음 그림을 살펴보자.

P-value를 기준으로 오름차순 정렬하자.

위 그림을 보면 알겠지만 우선 동일한 $\alpha$값을 설정하고 각 $x_i$에 대한 $p-value$값을 구하고 $p-value$값이 작은 순서대로 정렬한다. 이렇게 하면 하나의 $p-value$에 매핑된 변수인 $x_i$ 와 가설검정 $H_i$도 같이 정렬이 된다.

FDR의 포인트는 이렇게 정렬된 $p-value$에서 ‘특정한 $p-value$값’ 보다 작은 가설 검정들은 중요한 가설 검정들이며 결국 그 가설 검정에 매핑된 변수 $x_i$들은 이상 탐지에 중요한 변수(인자)임을 판단하는 $p-value\,Threhsold$ 값을 구하는 것이다.

FDR을 이용해 $p-value Threshold$값을 구해보자.

FDR은 이 $p-value\,Threhsold$를 구하기 위해 특정한 공식과 $\alpha$값을 이용한다고 한다. 이 때 $\alpha$값은 모든 가설 검정 시 적용하는 동일한 1종 오류 허용 비율 값이다. 우선 $p-value\,Threhsold$를 구하는 공식은 다음과 같다. 이 때 $i$는 해당 $p-value$의 순위, $m$은 전체 $p-value$의 총 개수를 의미한다.(참고로 $\pi_0$는 강의 속 교수님께서 1로 설정한다고 언급하셨다. 자세한 건 해당 논문을 살펴봐야 할 것 같다.)

$$\widehat{i} = \max i \left[P_i \le {i\over m}\cdot{\alpha\over\pi_0}\right]$$

결국 위 조건식을 만족하는 $i$값을 찾아야 한다. 이를 이해하기 위해 예시를 하나 들어보자.

Rank($p-value$ 오름차순) $p-value$ $i / m \cdot \alpha$ 중요 변수 여부 1 0.0001 0.0033 Yes 2 0.0004 0.0067 Yes 3 0.0019 0.0100 Yes 4 0.0095 0.0133 Yes 5 0.0201 0.0167 No 6 0.0278 0.0200 No 7 0.0298 0.0233 No

위와 같이 $p-value$를 정렬하고 위에서 본 공식에 대입해 값을 구했다. 이제 $p-value\,Threhsold$를 찾아보자. 위 공식을 만족하는 값을 찾기 위해서는 Rank가 낮은 순위부터 거슬러 올라가면서 $p-value$가 더 작아지기 시작하는 $i$값을 찾으면 된다.

위 데이터에서는 $i = 4$일 때 해당 조건을 만족한다. 따라서 Rank가 4이전의 $p-value$값에 해당하는 $x_i$ 변수들이 중요한 변수임을 판단할 수 있다.

그런데 지금까지 알아본 FDR 방법은 모든 $x_i$값들이 정규분포임을 가정한 상태로 진행한 것이다. 왜냐하면 가설 검정을 진행할 때 분포가 정규분포와 유사한 형태의 t-분포임을 가정하고 진행하기 때문이다. 그렇다면 $x_i$값들이 정규분포인지 아닌지 모를 때는 어떻게 할까?

5. 비모수 방법론으로서의 일변량 FDR !

바로 반복 Sampling 기반 FDR을 수행하면 된다. 이는 주어진 $x_i$ 변수의 값들을 마구섞는 shuffle을 반복적으로 수행 하고 이를 기반으로 FDR을 수행하는 것이다. 다음 그림을 보자.

$x_1$을 반복적으로 Shuffle 시켜보자.

위처럼 $x_1$에 대해 반복적으로 shuffle을 수행하고 정상/비정상 집단에 따라 평균값을 취하고 그 차이를 계산한다.

$$ T_x = {\left\vert \bar{x_i}_{normal} \right\vert} – {\left\vert \bar{x_i}_{abnormal} \right\vert}$$

그리고 $n$번 반복해 Shuffle한 횟수만큼의 $T_x$를 구하고 이 $n$개의 $T_x$ 중 Shuffle하기 전인 $T_x$보다 큰 값이 몇 개인지 비율을 계산함으로써 $p-value$를 계산할 수 있다.

$$p-value_x = {{Number\,\ge T_x}\over{Sampling\,number\,of\,shuffle}}$$

6. 비모수방법론으로서의 다변량 FDR !

다음은 위 상황에서 다변량의 변수가 존재할 때 반복 Sampling 기반 FDR을 수행하는 방법을 알아보자. 본질은 똑같으나 $p-value$ 계산식에서 분모에 변수의 개수를 추가적으로 곱해준다. 즉, 다른 변수의 존재도 고려해주는 것이다. 공식은 다음과 같다.

$$p-value_x = {{Number\,\ge T_x}\over{Sampling\,number\,of\,shuffle \cdot number of features}}$$

예를 들어, $x_1$와 $x_2$ 두 개의 변수가 존재할 때, $x_1$의 $p-value$를 구하기 위해서 $x_1$뿐만 아니라 $x_2$도 다 같이 shuffle을 시킨 후 집단에 따른 평균차이 값을 구하고 $T_{x1}$과 비교할 때 $T_{x2}$로 구해진 $T_{x2}$와도 비교를 하는 점이다.

만약 $T_{x1}$ 값이 매우 큰 값이라고 했을 때, $T_{x2}$값이 중에 $T_{x1}$값 보다 매우 큰 값이 있다면 그것은 결국 $x_2$가 $x_1$보다는 중요하다는 뜻이기 때문이다. 그래서 다른 변수와의 비교를 통해 다른 변수들을 고려하게 되는 것이다.

FDR : False Discovery Rate

False discovery rate, FDR,이란 통계적 평가에서 type I error, 즉 Posive 중에 false positive가 얼만큼 나왔는가에 대한 지표이다. 다시 말해 유의한 결과를 찾은 것들 중에서 실제로 유의하지 않은 것들의 비율이다.

FDR은 conditional probability인 Bayesian inference이며, 수식은 다음과 같다.

FDR = P( not ill | test pos ) = P( test pos | not ill ) P( not ill ) / P( test pos )

where

P( test pos ) = P( test pos | not ill) P( not ill ) + P( test pos | ill ) P( ill ).

Positive로 판명된 사람들 중에 실제로 아프지 않은 사람이 얼만큼 되는지이다. 이것이 중요한 이유는 아프지 않은 사람을 아픈 사람으로 취급해서 치료를 진행하면 문제가 생기기 때문이기도 하지만, null hypothesis를 잘 설정하였는지, 통계적으로 얻은 값이 의미있다고 할 수 있는지, 결과를 얼만큼 신뢰할 수 있는지 등 수학적 모델에 대한 평가를 하는데 중요한 역할을 하기 때문이다.

https://doi.org/10.1098/rsos.140216

위 tree diagram을 보자. 10,000명의 사람이 있을 때, 전염성이 1%인 병에 대해서 alpha를 5%, 즉 5%인 495명을 잘못 판단하는 오류까지는 significant하다고 해보자.

FDR = (0.05*9900) / (0.05*9900 + 0.8*100) = 495/(495 + 80) = 0.86087.

이때 FDR은 86.1%이 된다. 병이 걸리지 않았는데, 걸렸다고 잘못 판단하는 경우가 86.1%이 나왔다.

이렇게 높은 확률로 잘못 진단한다면 아마도 신뢰성이 떨어질 것이다. 이것은 alpha를 5%로 잡아서이기 때문이지만, 샘플 그룹의 차이가 크기 때문이기도 하다.

가장 쉽게 FDR을 떨어트리는 방법은 alpha, 즉 significant level을 더 낮게 잡는 것이다. 그렇게 되면 false positive의 수가 줄어들어 FDR을 낮출 수 있다.

Adjustment method

Benjamini-Hochberg adjustment

: The FDR-based control is less stringent with the increased gain in power and has been widely used in cases where a large number of hypotheses are simultaneously tested.

http://dx.doi.org/10.21037/jtd.2017.05.34

Reference

– A general introduction to adjustment for multiple comparisons (2017), http://dx.doi.org/10.21037/jtd.2017.05.34

– P-values and statistical tests 7. Multiple test corrections, http://www.compbio.dundee.ac.uk/user/mgierlinski/talks/p-values1/p-values8.pdf

통계적 유의성과 실제적 중요성 (3) : FDR(False Discovery Rate) 계산

다시 요약하면, 변수의 개수가 많을 경우 실제적으로는 별로 중요하지 않는 데, 통계적으로는 중요하다고 판정될 수 있는 오류를 방지하기 위한 개념이 FDR 입니다. 이러한 실제적인 차이(Practical Difference/Significance )를 규명하기 위한 JMP Menu는 Response Screening 이라는 이름으로 두 군데에 있습니다.

분석 결과는 같습니다

1) Analyze / Screening / Response Screening

2) Analyze / Fit Model에서 Personality를 Response Screening 으로 설정

예제 파일은 JMP 내의 파일을 활용하도록 하겠습니다.

Sample Data : Help / Sample Data Library / probe.jmp

(Process 의 변경에 따른 387개 공정의 변화여부를 check한 Data)

1. Analyze / Screening / Response Screening에서 387개 반응치를 Y로, Process를 X로 선택합니다

[BIT] FDR (False Discovery Rate) 계산을 쉽게 할 수 있는 소프트웨어인 QVALUE 프로그램

내용 요약: Reference 샘플 대비 target 샘플에서 RNA expression 발현량이 차이가 나는 유전자를 분석하거나, 또는 SNP 와 질병과의 연관 관계 분석 (association analysis, 일반적으로 case-control study) 에서 질병에 영향을 줄 수 있는 allele 또는 genotype 을 보유한 SNP 를 찾아낼 때 다양한 통계적인 방법을 적용하게 됩니다. 특히 RNA expression 발현량 차이 분석에서는 T-test 나 ANOVA 와 같은 통계 방법을 이용하게 되며 case-control study 에서는 chi-square test 또는 logistic regression 을 이용하게 됩니다. 이러한 통계 방법을 이용하여 분석을 하게 되면 결과적으로 p-value 가 나오게 되는데, 미리 설정한 cutoff (a, significance level, 유의 수준, 일반적으로 a=0.01 또는 0.05) 값과 p-value 를 비교하여 해당 유전자 또는 SNP 가 통계적으로 의미 있는지를 판단하게 됩니다. 하지만, RNA expression 실험이나 SNP 를 이용한 GWAS (Genome-wide Association Study) 를 수행할 경우에는 최소 수백개 에서 수만개 이상의 유전자 또는 SNP 을 동시에 통계 테스트를 하기 때문에 multiple test correction 을 수행할 필요가 있습니다. Multiple test correction 방법으로는 크게 FWER (Family-wise Error Rate) 과 FDR (False Discovery Rate) 이 있는데, FWER 은 테스트 대상이 모두 독립이라는 가정을 이용하기 때문에 굉장히 conservative 합니다. 반면 FDR 은 p-value < a 인 것들 중에 false positive 인 것들의 비율이 어느 정도인지를 나타내는 것이므로 FWER 에 비해 덜 conservative 하며, 따라서 FWER 에서 제외될 수 있는 true positive 들을 살릴 수 있다는 장점이 있습니다. FDR 은 p-value < a 인 것들 중에서 false positive 인 비율을 나타내고 있는 반면에 q-value 는 테스트 대상인 유전자 또는 SNP 의 분석 결과인 p-value 가 false positive 인 것으로 잘못 판단 내릴 확률을 나타내는 수치입니다. 따라서 n 개의 계산된 p-value 가 있다고 한다면 q-value 또한 n 개가 됩니다. 아래는 p-value 와 q-value 에 대한 설명을 요약한 것입니다 (SNP 를 이용한 case-control study 일 경우를 가정했습니다). u P-value § SNP 에서 관측되는 genotype(또는 allele) 빈도가 case 와 control 그룹에서 실제로는 차이가 나지 않음에도 불구하고 통계분석(chi-square test) 결과 차이가 나는 것으로 (=false positive) 잘못 판단 내릴 확률 u Q-value § SNP 에서 관측되는 genotype(또는 allele) 빈도가 case 와 control 그룹에서 통계적으로 차이가 나는 것으로 판단을 내렸는데, 실제로는 차이가 나지 않을 (=false discovery) 확률 QVALUE 프로그램은 이러한 q-value 를 쉽게 계산해 주는 프로그램입니다. 기본적으로 R 패키지 형태로 제공되는데, R 을 실행한 후 명령창 에서 해당 프로그램을 실행시켜주면 GUI 가 떠서 분석을 수행할 수 있는 구조로 되어 있습니다. QVALUE 프로그램의 특징은 아래와 같습니다. This software takes a list of p-values resulting from the simultaneous testing of many hypotheses and estimates their q-values. A point-and-click interface is now available! The q-value of a test measures the proportion of false positives incurred (called the false discovery rate) when that particular test is called significant. A short tutorial on q-values and false discovery rates is provided with the manual. Various plots are automatically generated, allowing one to make sensible significance cut-offs. Several mathematical results have recently been shown on the conservative accuracy of the estimated q-values from this software. The software can be applied to problems in genomics, brain imaging, astrophysics, and data mining. QVALUE 사용법은 아래와 같습니다 (Windows XP 가 OS 일 때의 사용방법). 1. R 스크립트를 다운로드 받아서 설치 (http://bibs.snu.ac.kr/R/ 참고) 2. QVALUE 패키지를 받아 압축을 푼 후 R 이 설치된 폴더의 “library” 폴더에 저장 3. 윈도우 명령창을 실행 한 후 <그림 1> 과 같이 “r” 이라고 입력한 후 엔터키를 누릅니다.

<그림 1> 윈도우 명령창에서 r 명령어 실행

4. 윈도우에서 R 을 구동하면 <그림 2> 와 같은 화면이 되며, r 명령창에서 “library(qvalue) “ 라고 입력후 엔터키를 누릅니다.

<그림 2> qvalue 프로그램 로딩

5. <그림 3> 처럼 “qvaule.gui()” 라고 입력한 후 엔터키를 누르면 <그림 4> 와 같이 qvalue 를 실제 사용할 수 있는 인터페이스가 뜹니다.

<그림 3> qvalue 프로그램 실행

<그림 4> qvalue 프로그램 인터페이스

6. <그림 5> 는 입력 파일의 예로, 계산된 p-value 하나가 한 개 라인에 입력되어 있는 텍스트 파일입니다. 이 파일을 <그림 4>의 [Browse] 버튼을 눌러 입력합니다. 파일 입력이 된 후 [Load] 버튼을 눌러 QVALUE 프로그램에 데이터를 메모리에 올립니다

7. [Execute] 버튼을 누르면 분석이 실행되며, 분석이 완료되면 <그림 6> 과 같이 제일 아래 화면에 “Computing q-values…done: pi_0=0.6299” 이라는 텍스트가 나타납니다 (텍스트 내용 중 p_0=… 값은 분석 결과에 따라 다릅니다).

<그림 5> qvalue 프로그램 입력 파일 양식

<그림 6> 분석 완료 화면

8. <그림 6> 의 [Save Output] 버튼을 누르면 분석 결과를 텍스트 파일로 저장할 수 있는데, <그림 7> 은 저장한 분석 결과 예입니다. 첫번째 칼럼이 입력한 p-value, 다음 칼럼이 해당 p-value 의 q-value 값입니다.

키워드에 대한 정보 false discovery rate 의미

다음은 Bing에서 false discovery rate 의미 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 [핵심 머신러닝] 주요 인자 탐지 (False Discovery Rate)

  • 동영상
  • 공유
  • 카메라폰
  • 동영상폰
  • 무료
  • 올리기
[핵심 #머신러닝] #주요 #인자 #탐지 #(False #Discovery #Rate)


YouTube에서 false discovery rate 의미 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 [핵심 머신러닝] 주요 인자 탐지 (False Discovery Rate) | false discovery rate 의미, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.

See also  Zapatillas Anaheim Factory Old Skool 36 Dx | Vans Anaheim Factory Old Skool 36 Dx Canvas - Vn0A38G2Oak 2382 좋은 평가 이 답변

Leave a Comment