ROC AUC (평균)에 대한 두 분류기를 비교하기위한 통계적 유의성 (p- 값), 민감도 및 특이성


14

100 건의 테스트 세트와 2 개의 분류 기가 있습니다.

두 분류기 모두에 대한 예측을 생성하고 ROC AUC, 감도 및 특이성을 계산했습니다.

질문 1 : 모든 점수 (ROC AUC, 민감도, 특이성)와 관련하여 p- 값을 계산하여 하나가 다른 것보다 훨씬 나은지 확인하려면 어떻게해야합니까?


이제 100 건의 동일한 테스트 집합에 대해 각 사례마다 서로 다른 독립적 인 기능 할당이 있습니다. 내 기능은 고정되어 있지만 주관적이며 여러 주제에 의해 제공되기 때문입니다.

그래서 테스트 세트의 5 가지 "버전"에 대해 2 가지 분류기를 다시 평가하고 5 가지 ROC AUC, 5 가지 민감도 및 5 가지 특이성을 분류했습니다. 그런 다음 두 분류 자에 대해 5 명의 주제에 대한 각 성과 측정의 평균 (평균 ROC AUC, 평균 감도 및 평균 특이도)을 계산했습니다.

질문 2 : 평균 점수 (평균 ROC AUC, 평균 감도, 평균 특이성)와 관련하여 p- 값을 계산하여 하나가 다른 것보다 훨씬 나은지 확인하려면 어떻게해야합니까?


python (바람직하게는) 또는 MatLab 코드의 예제가있는 답변은 환영 이상입니다.


정밀도, 정확도, AuC를 직접 비교하여 두 가지 중에서 최고의 분류기를 얻습니다. P- 값은 여기서 의미가 없습니다. p- 값은 모형이 랜덤 / 50-50 대입보다 더 나은지 평가하는 맥락에서 사용됩니다 (널 / 대체 가설 검정으로)
Nishad

2
첫째, p- 값을 사용하는 두 가지 성능 측정을 비교하는 것이 의미가 없다는 데 동의하지 않습니다. 하나의 분류기는 AUC 0.80과 다른 분류기는 0.85입니다. 내 귀무 가설은 두 분류의 성능에 차이가 없다는 것입니다. 차이가 통계적으로 유의한지 알고 싶습니다.
kostek

2
둘째, 5 가지 버전의 모델을 만들지 않습니다. 별도의 트레이닝 세트에 대해 두 가지 모델을 학습했으며 이제 테스트 세트의 5 가지 "버전"에서 평가합니다. 두 분류기 (예 : 0.81 AUC 및 0.84 AUC) 모두에 대해 평균 성능을 가지며 차이가 통계적으로 유의한지 확인하고 싶습니다.
kostek

1
나는 내가하고있는 일이 교차 검증에 가깝다고 말하지 않을 것입니다. 필자의 경우 기능의 가치는 해당 기능을 제공하는 주제에 따라 다릅니다. AUC를 사용하여 모델을 비교할 수 있지만 내 설정에서 비교 결과가 통계적으로 유의한지 알고 싶습니다. 나는 그것이 이루어질 수 있고 그것을하는 것이 의미가 있다고 확신합니다. 내 질문은 그것을하는 방법입니다.
kostek

3
@Nishad가 무엇을 얻고 있는지 잘 모르겠습니다. 가설 테스트를 사용하여 모델이 서로 크게 다른지 여부를 확인할 수 있습니다. 측정 항목의 표준 편차가 존재하며 표본 크기가 증가함에 따라 더 작아집니다 (다른 모든 것들은 동일 함). 표본이 10 개만있는 경우 0.8과 0.9 사이의 AUC 차이는 중요하지 않지만 10M 표본이있는 경우 매우 중요 할 수 있습니다. 교차 유효성 검사와의 관계도 보지 못했습니다. 내가 할 수 있다면 의견을 투표하지 않을 것입니다.
원자력 왕

답변:


11

연속 데이터를위한 Wojtek J. Krzanowski 및 David J. Hand ROC 곡선 (2009)은 ROC 곡선과 관련된 모든 사항에 대한 훌륭한 참조 자료입니다. 그것은 여러 주제를 다루기 위해 종종 다른 용어를 사용하는 답답한 광범위한 문헌 기반에 대한 많은 결과를 수집합니다.

또한이 책은 같은 양을 추정하기 위해 도출 된 대체 방법에 대한 주석과 비교를 제공하며 일부 방법은 특정 상황에서는 불가능한 가정을합니다. 이것은 그러한 맥락 중 하나입니다. 다른 답변은 Hanley & McNeil 방법을 사용하는데,이 방법은 점수 분포에 대한 이중 정규 모델을 가정하며, 이는 등급 점수 분포가 정규적이지 않은 경우 부적절 할 수 있습니다. 정규 분포 점수의 가정은 현대 환경 에서 특히 부적절 해 보입니다. 와 같은 일반적인 공통 모델 은 분류 작업을위한 "욕조"분포 (즉, 0과 1 근처의 극단에서 고밀도 분포)로 점수를 생성하는 경향이 있습니다. ).

질문 1-AUC

6.3 절에서는 두 개의 ROC 곡선에 대한 ROC AUC의 비교에 대해 설명합니다 (pp 113-114). 특히,이 두 모델 서로 연관되어 있으므로 을 계산하는 방법에 대한 정보는 여기서 매우 중요합니다. 그렇지 않으면 검정 통계량은 상관 관계의 기여를 설명하지 않기 때문에 편향됩니다.r

모수 분포 가정을 기반으로하지 않는 상관 관계가없는 ROC 곡선의 경우 AUC를 비교하는 Tet 및 신뢰 구간 통계는 및 기반으로 간단하게 계산할 수 있습니다. 3.5.1 절에 주어진 AUC 값과 표준 편차 및 추정치 : ^ AUC 2S1S2AUC^1AUC^2S1S2

Z=AUC^1AUC^2S12+S22

두 분류 자에 대해 동일한 데이터가 사용되는 경우로 이러한 테스트를 확장하려면 AUC 추정치 간의 상관 관계를 고려해야합니다.

z=AUC^1AUC^2S12+S22rS1S2

여기서 은이 상관의 추정치입니다. Hanley and McNeil (1983)은 이중 사례를 바탕으로 분석을 확장했지만 클래스 P 내 두 분류기 의 상관 관계 와 의 상관 관계 로부터 추정 된 상관 계수 을 계산하는 방법을 보여주는 요청에 따라 수학적 도출이 가능하다고 말하는 클래스 N 내의 두 분류기 중 하나. 다양한 다른 저자들 (예 : Zou, 2001)은 클래스 P와 N의 점수 분포를 동시에 정규로 변환 할 적절한 변환이 발견 될 수 있다고 가정하여 이중 정규 모델을 기반으로 테스트를 개발했습니다.r r P r nrrrPrn

DeLong et al (1988)은 AUC와 Mann-Whitney 검정 통계량 사이의 동일성 을 Sen (1960)으로 인한 일반화 된 통계 이론의 결과와 함께 활용 하여 AUC 간의 상관 관계를 추정했습니다. 이중 정규 가정에 의존하지 않습니다. 실제로 DeLong et al (1988)은 분류기의 비교 결과를 다음과 같이 제시했습니다 .k 2Uk2

3.5.1 절에서, 경험적 ROC 곡선 아래 면적이 Mann-Whitney - statistic과 같고U

PI,I=1,...,NPPSN의J,J=1,...,NNN의KS R의 N의 J ,J=1...NNS R의 P I ,J=1,...,

AUC^=1nNnPi=1nNj=1nP[I(sPj>sNi)+12I(sPj=sNi)]
여기서 는 클래스 객체 의 점수 이며 은 샘플에서 클래스 객체 의 점수입니다 . 우리가 가지고 있다고 가정하자 득점 산출 분류를 및 [I이 부분적으로 인덱싱 오류 정정 - Sycorax] 및 . 밝히다sPi,i=1,,nPPsNj,j=1,,nNNksNjr,j=1nNsPir,j=1,,nPAUC^r,r=1,,k

V10r=1nNj=1nN[I(sPir>sNjr)+12I(sPir=sNjr)],i=1,,nP
V01r=1nPi=1nP[I(sPir>sNjr)+12I(sPir=sNjr)],j=1,,nN

다음으로, 번째 요소 사용하여 행렬 을 정의하십시오. 및 행렬 과 번째 원소 곡선 아래 추정 된 영역 의 벡터 에 대한 추정 공분산 행렬은 다음과 같습니다.k×kW10(r,s)

w10r,s=1nP1i=1nP[V10r(sPi)AUC^r][V10s(sPi)AUC^s]
k×kW01(r,s)
w01r,s=1nN1i=1nN[V01r(sNi)AUC^r][V01s(sNi)AUC^s]
(AUC^1,,AUC^k)
W=1nPW10+1nNW01
요소가 . 이것은 3.5.1 절에 제시된 단일 추정 AUC의 추정 분산에 대한 결과의 일반화이다. 두 분류기의 경우 , 추정 된 AUC 사이 의 추정 된 상관 관계 은 의해 주어진다. 위의 에서 사용할 수 있습니다 .wr,srw1,2w1,1w2,2z

AUC 분산 추정값에 대한 Hanley 및 McNeil 표현에 대한 또 다른 답변이 있으므로 여기서는 DeLong 추정값을 p. 68 :

DeLong et al (1988) 및 Pepe (2003)에 의해 제시된 대안은 아마도 더 간단한 추정치를 제공 할 것이며, 배치 가치라는 추가적인 유용한 개념을 소개 할 수도 있습니다. 점의 위치 값이 특정 인구를 참조하는 것은에서 그 인구의 생존자 기능입니다 . 모집단 N 에 대한 배치 값 은 이고 모집단 P 에 대한 배치 값 은 입니다. 배치 값의 경험적 추정치는 명백한 비율로 제공됩니다. 따라서 모집단 P에서 로 표시된 관측치 의 배치 값은 P를 초과하는 표본 값의 비율입니다.sss1F(s)s1G(s)sNisNiPsNi 및 은 모집단 P에 대한 N부터 각 관측치의 배치 값의 분산입니다.var(sPiN)

의 분산에 대한 DeLong et al (1988) 추정값은 다음과 같은 분산으로 제공됩니다. AUC^

s2(AUC^)=1nPvar(sPiN)+1nNvar(sNiP)

참고 모집단 N과의 점수의 누적 분포 함수 추정 인구 P. 표준 방식으로 점수의 누적 분포 함수 그리고 사용하는 . 이 책은 또한 커널 밀도 추정과 같은 ecdf 추정에 대한 대체 방법을 제공하지만이 답변의 범위를 벗어납니다.FGFG

통계 와 는 표준 정규 편차로 가정 될 수 있으며, 귀무 가설의 통계 테스트는 일반적인 방식으로 진행됩니다. (또한 참조 )Zz

다음은 가설 검정의 작동 방식을 간략하게 요약 한 것입니다.

  • 즉, 두 모델이 통계가 같지 않다는 대립 가설과 비교하여 두 모델이 통계적으로 동일한 AUC를 갖는다는 귀무 가설을 테스트 할 때, "하나의 분류 기가 다른 분류기보다 훨씬 우수한지 여부"를 테스트하는 것으로 해석 할 수 있습니다.

  • 이것은 양측 테스트입니다.

  • 검정 통계량이 기준 분포의 임계 영역 (이 경우 표준 정규 분포)에있는 경우 귀무 가설을 기각합니다.

  • 임계 영역의 크기 는 테스트의 수준에 따라 다릅니다 . 유의 수준이 95 % 인 경우 또는 경우 검정 통계량은 임계 영역에 속합니다 . (이것은 표준 정규 분포 의 및 Quantile입니다.) 그렇지 않으면 귀무 가설을 기각하지 못하고 두 모형이 통계적으로 연결됩니다.αz>1.96z<1.96α/21α/2

질문 1-감도 및 특이성

민감도와 특이도를 비교하는 일반적인 전략은 이러한 통계가 비율에 대한 통계적 추론을 수행하는 데 중요하며 이는 잘 연구 된 표준 문제입니다. 구체적으로, 민감도는 일부 임계 값 보다 큰 점수를 가진 모집단 P의 비율 이며 마찬가지로 유사성 wrt 모집단 N에 대해서도 동일합니다. t

sensitivity=tp=P(sP>t)1specificity=fp=P(sN>t)

주된 고착 점은 두 개의 샘플 비율이 상관되어 있다는 점을 고려할 때 적절한 테스트를 개발하는 것입니다 (두 테스트를 동일한 테스트 데이터에 적용한 것처럼). 이것은 p. 111.

특정 테스트로 전환하면 몇 가지 요약 통계가 각 곡선의 비율로 감소하여 비율을 비교하는 표준 방법을 사용할 수 있습니다. 예를 들어, 고정 임계 값 대한 오 분류 율과 마찬가지로 고정 대한 값은 비례 입니다. 따라서이 측정 값을 사용하여 비율을 비교하는 표준 테스트를 통해 곡선을 비교할 수 있습니다. 예를 들어, 짝을 수없는 경우 검정 통계량 사용할 수 있습니다. 여기서 는 문제의 지점 인 곡선 의 실제 양수 비율 이고 는 과 의 분산의 합 ...tpfpt(tp1tp2)/s12tpiis122tp1tp2

그러나 쌍을 이룬 경우, 과 사이의 공분산을 허용하는 조정을 도출 할 수 있지만, 상관 비율에 대해 McNemar의 검정을 사용하는 것이 대안입니다 (Marascuilo and McSweeney, 1977).tp1tp2

당신이있을 때 적절한 과목을, 각 주제는 한 번에 두 개의 이분법 적 결과의 각각에 대해 두 번 테스트됩니다. 민감도와 특이도의 정의를 고려할 때, 동일한 시험 데이터에 두 가지 모델을 적용하고 일부 임계 값에서 민감도와 특이도를 계산했기 때문에 이것이 우리가 추구하는 시험이라는 것이 분명해야합니다.N

McNemar 검정은 다른 통계량을 사용하지만 유사한 귀무 가설과 대립 가설을 사용합니다. 예를 들어, 민감도를 고려할 때 , 귀무 가설은 비율 이고 대안은 입니다. 비율 을 다시 원시 계수 로 다시 정렬하면 우발 사태 표 여기서 셀 는 계산으로 계산됩니다. 각 모델에 따른 진정한 긍정과 거짓 긍정tp1=tp2tp1tp2

Model 1 Positive at tModel 1 Negative at tModel 2 Positive at tabModel 2 Negative at tcd

a=i=1nPI(sPi1>t)I(sPi2>t)b=i=1nPI(sPi1t)I(sPi2>t)c=i=1nPI(sPi1>t)I(sPi2t)d=i=1nPI(sPi1t)I(sPi2t)

우리는 검정 통계량 가지고 있는데, 이것은 자유도 1 인 카이 제곱 분포 로 분포됩니다. 수준이 이면 대해 귀무 가설이 기각됩니다 .

M=(bc)2b+c
χ12α=95%M>3.841459

의 경우 특이도 , 당신은 동일한 절차를 사용하면 대체하는 것을 제외하고 수 과 .sPirsNjr

질문 2

각 응답자에 대한 예측 값을 평균화하여 결과를 병합하는 것으로 충분하므로 각 모델에 대해 100 개의 평균 예측 값으로 구성된 1 개의 벡터가 있습니다. 그런 다음 원래 모델이 존재하지 않는 것처럼 평소와 같이 ROC AUC, 감도 및 특이성 통계를 계산하십시오. 이는 5 명의 응답자 모델을 앙상블과 같은 일종의 "위원회"중 하나로 취급하는 모델링 전략을 반영합니다.


답변과 참고 자료를 제공해 주셔서 감사합니다. 감도와 특이성에 대한 p- 값은 어떻습니까?
kostek

Q1의 경우 감도와 특이성에 대한 p- 값 계산 사이에 차이가 없으며 둘 다 항상 동일한 p- 값을 가지고 있으며 단순히 비 상표를 만들고 McNemar 테스트를 실행한다는 의미입니까?
kostek

아니요, 각각에 대해 하나의 테스트를 수행합니다.
Sycorax는 Reinstate Monica

매우 자세한 답변입니다. 감사합니다. McNemar-test 소개; 정확히 무엇입니까? 이것들은 어떤 비율입니까? a,b,c,d
Drey

@Drey 그들은 비율이 아니다; 그들은 세다. 나는 이것을 개정판에서 명시 적으로 만듭니다.
Sycorax는 Reinstate Monica

2

이 안내서는 더 많은 설명을 제공 하므로 답변을 짧게 유지하겠습니다 .

기본적으로, 당신은 진정한 Postives (의 전화 번호가 진정한 원판) 및 번호 ( ). 또한 AUC, A가 있습니다.이 A의 표준 오차는 다음과 같습니다.nTPnTN

SEA=A(1A)+(nTP1)(Q1A2)+(nTN1)(Q2A2)nTPnTN

함께 및 .Q1=A/(2A)Q2=2A2/(1+A)

두 AUC를 비교하려면 다음을 사용하여 두 AUC를 계산해야합니다.

SEA1A2=(SEA1)2+(SEA2)22r(SEA1)(SEA2)

여기서 은 동일한 사례 집합을 연구하여 두 영역간에 유도 된 상관 관계를 나타내는 양입니다. 경우가 다르면 ; 그렇지 않으면 찾아야합니다 (무료로 제공되는 기사의 표 1, 3 페이지).rr=0

다음과 같이 -Score 를 계산하면z

z=(A1A2)/SEA1A2

여기에서 표준 정규 분포의 확률 밀도를 사용하여 p- 값을 계산할 수 있습니다. 또는 단순히이 계산기를 사용하십시오.

질문 1에 대한 답변 입니다. -적어도 AUC를 비교하는 부분. Sens / Spec은 어떤 방식 으로든 ROC / AUC에서 이미 다루고 있습니다. 그렇지 않으면, 내가 생각하는 대답은 질문 2에 있습니다.

에 관해서 질문 2 , 중심 극한 정리는 당신의 요약 통계가 정규 분포를 따르는 것을 우리에게 알려줍니다. 따라서 간단한 t- 검정으로 충분하다고 생각합니다 (AUC, sens, spec 일 수있는 두 번째 분류기의 5 가지 측정 기준에 대해 하나의 분류 기준 5 측정 기준)

편집 : 대한 수정 된 수식 ( )2 r SE2r


제공된 링크에 감사드립니다. 질문 1에서 A를 민감도 또는 특이 도로 설정하면 SE 및 z-Score의 방정식이 유지됩니까?
kostek

sens는 TP 만 처리하고 spec은 TN 만 처리하므로 아니요. 이항 비율 CI 로 감각 / 사양에 대한 신뢰 구간을 계산할 수 있지만주의를 기울여야합니다 (작은 표본 크기?). 귀하의 는 감각 또는 사양입니다. 비교에서 CI가 겹치는 경우 알파 수준에서 차이가 통계적으로 유의하지 않습니다. p^
Drey

0

질문 1의 경우 @Sycorax는 포괄적 인 답변을 제공했습니다.

2 번 문제는 제가 아는 한, 피험자들의 평균 예측이 잘못되었습니다. 부트 스트랩을 사용하여 p- 값을 계산하고 모델을 비교하기로 결정했습니다.

이 경우 절차는 다음과 같습니다.

For N iterations:
  sample 5 subjects with replacement
  sample 100 test cases with replacement
  compute mean performance of sampled subjects on sampled cases for model M1
  compute mean performance of sampled subjects on sampled cases for model M2
  take the difference of mean performance between M1 and M2
p-value equals to the proportion of differences smaller or equal than 0

이 절차는 단측 테스트를 수행하며 M1 평균 성능> M2 평균 성능이라고 가정합니다.

여러 독자를 비교하는 p- 값 계산을위한 Python 부트 스트랩 구현은 다음 GitHub 리포지토리에서 찾을 수 있습니다. https://github.com/mateuszbuda/ml-stat-util

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