Ý nghĩa thống kê (giá trị p) để so sánh hai phân loại với (trung bình) ROC AUC, độ nhạy và độ đặc hiệu


13

Tôi có một bộ thử nghiệm gồm 100 trường hợp và hai phân loại.

Tôi đã tạo dự đoán và tính toán ROC AUC, độ nhạy và độ đặc hiệu cho cả hai phân loại.

Câu hỏi 1: Làm thế nào tôi có thể tính giá trị p để kiểm tra xem cái này có tốt hơn đáng kể so với cái kia đối với tất cả các điểm không (ROC AUC, độ nhạy, độ đặc hiệu)?


Bây giờ, với cùng một bộ thử nghiệm gồm 100 trường hợp, tôi có các phép gán tính năng độc lập và khác nhau cho từng trường hợp. Điều này là do các tính năng của tôi là cố định nhưng chủ quan và được cung cấp bởi nhiều (5) đối tượng.

Vì vậy, tôi đã đánh giá hai phân loại của mình một lần nữa cho 5 "phiên bản" của bộ thử nghiệm của tôi và thu được 5 ROC AUC, 5 độ nhạy và 5 độ đặc hiệu cho cả hai phân loại. Sau đó, tôi đã tính giá trị trung bình của từng thước đo hiệu suất cho 5 đối tượng (trung bình ROC AUC, độ nhạy trung bình và độ đặc hiệu trung bình) cho cả hai phân loại.

Câu hỏi 2: Làm thế nào tôi có thể tính toán giá trị p để kiểm tra xem cái này có tốt hơn đáng kể so với cái kia liên quan đến điểm trung bình không (trung bình ROC AUC, độ nhạy trung bình, độ đặc hiệu trung bình)?


Câu trả lời với một số ví dụ python (tốt nhất là) hoặc mã MatLab được chào đón nhiều hơn.


Do so sánh trực tiếp độ chính xác, độ chính xác, AuC để có được phân loại tốt nhất trong số hai. Giá trị P không có ý nghĩa ở đây. Giá trị p được sử dụng trong bối cảnh đánh giá nếu mô hình hoạt động tốt hơn so với các bài tập ngẫu nhiên / 50-50 (dưới dạng thử nghiệm giả thuyết null / thay thế)
Nishad 20/07/18

2
Đầu tiên, tôi không đồng ý rằng so sánh hai biện pháp hiệu suất sử dụng giá trị p không có ý nghĩa ở đây. Tôi thấy rằng một phân loại có AUC 0,80 và 0,85 khác. Giả thuyết không có giá trị của tôi sẽ là không có sự khác biệt trong hiệu suất của cả hai trang rao vặt. Tôi muốn biết nếu sự khác biệt có ý nghĩa thống kê.
kostek

2
Thứ hai, tôi không tạo ra 5 phiên bản cho mô hình của mình. Tôi có hai mô hình được đào tạo trên một tập huấn luyện riêng biệt và bây giờ tôi đánh giá chúng trên 5 phiên bản khác nhau, các phiên bản khác nhau của bộ thử nghiệm của tôi. Tôi có hiệu suất trung bình cho cả hai phân loại (ví dụ: 0,81 AUC và 0,84 AUC) và muốn kiểm tra xem sự khác biệt có ý nghĩa thống kê hay không.
kostek

1
Tôi sẽ không nói rằng những gì tôi đang làm gần với xác nhận chéo. Trong trường hợp của tôi, các giá trị của các tính năng phụ thuộc vào đối tượng cung cấp chúng. Tôi biết rằng AUC có thể được sử dụng để so sánh các mô hình, nhưng tôi muốn biết liệu trong cài đặt của mình, kết quả so sánh của tôi có ý nghĩa thống kê hay không. Tôi chắc chắn rằng nó có thể được thực hiện và nó rất có ý nghĩa để làm điều đó. Câu hỏi của tôi là làm thế nào để làm điều đó.
kostek

3
Tôi không chắc chắn @Nishad đang làm gì, bạn có thể và nên sử dụng kiểm tra giả thuyết để xác định xem các mô hình của bạn có khác biệt đáng kể với nhau không. Độ lệch chuẩn của số liệu của bạn tồn tại và nhỏ hơn khi kích thước mẫu tăng (tất cả những thứ khác đều bằng nhau). Chênh lệch AUC giữa 0,8 và 0,9 có thể không đáng kể nếu bạn chỉ có 10 mẫu, nhưng có thể rất đáng kể nếu bạn có 10 triệu mẫu. Tôi không thấy bất kỳ mối quan hệ để xác nhận chéo là tốt. Sẽ bỏ phiếu cho ý kiến ​​nếu tôi có thể.
Hạt nhân Wang

Câu trả lời:


11

Wojtek J. Krzanowski và David J. Hand ROC Curves for Contin Data (2009) là một tài liệu tham khảo tuyệt vời cho tất cả những thứ liên quan đến các đường cong ROC. Nó tập hợp một số kết quả trong một cơ sở văn học rộng rãi bực bội, thường sử dụng các thuật ngữ khác nhau để thảo luận về cùng một chủ đề.

Ngoài ra, cuốn sách này cung cấp bình luận và so sánh các phương pháp thay thế đã được rút ra để ước tính cùng một số lượng, và chỉ ra rằng một số phương pháp đưa ra các giả định có thể không thể đo lường được trong các bối cảnh cụ thể. Đây là một trong những bối cảnh như vậy; các câu trả lời khác báo cáo phương pháp Hanley & McNeil, giả định mô hình nhị phân để phân phối điểm, có thể không phù hợp trong trường hợp phân phối điểm số không (gần) bình thường. Giả định về điểm số phân phối thông thường có vẻ đặc biệt không phù hợp trong bối cảnh hiện đại , các mô hình phổ biến điển hình như có xu hướng tạo ra điểm số với phân phối "bồn tắm" cho các nhiệm vụ phân loại (nghĩa là phân phối với mật độ cao ở cực trị gần 0 và 1 ).

Câu 1 - AUC

Phần 6.3 thảo luận về so sánh của ROC AUC cho hai đường cong ROC (trang 113-114). Cụ thể, sự hiểu biết của tôi là hai mô hình này có mối tương quan với nhau, vì vậy thông tin về cách tính rất quan trọng ở đây; mặt khác, thống kê kiểm tra của bạn sẽ bị sai lệch bởi vì nó không tính đến sự đóng góp của mối tương quan.r

Đối với trường hợp đường cong ROC không tương thích không dựa trên bất kỳ giả định phân phối tham số nào, số liệu thống kê cho các khoảng thời gian và độ tin cậy so sánh AUC có thể được dựa trên các ước tính ^ AUC 2 của các giá trị AUC và ước tính độ lệch chuẩn S 1S 2 , như được đưa ra trong phần 3.5.1:AUC^1AUC^2S1S2

Z=AUC^1AUC^2S12+S22

Để mở rộng các thử nghiệm như vậy cho trường hợp sử dụng cùng một dữ liệu cho cả hai phân loại, chúng ta cần tính đến mối tương quan giữa các ước tính AUC:

z=AUC^1AUC^2S12+S22rS1S2

Trong đó là ước tính của mối tương quan này. Hanley và McNeil (1983) đã thực hiện một phần mở rộng như vậy, dựa trên phân tích của họ về trường hợp bất thường, nhưng chỉ đưa ra một bảng chỉ ra cách tính hệ số tương quan ước tính r từ tương quan r P của hai phân loại trong lớp P và tương quan của r n của hai phân loại trong lớp N, nói rằng đạo hàm toán học có sẵn theo yêu cầu. Nhiều tác giả khác (ví dụ Zou, 2001) đã phát triển các thử nghiệm dựa trên mô hình nhị phân, giả sử rằng có thể tìm thấy một phép biến đổi phù hợp sẽ biến đổi đồng thời phân phối điểm của các lớp P và N thành bình thường.rrrPrn

DeLong et al (1988) đã tận dụng sự đồng nhất giữa AUC và thống kê kiểm tra Mann-Whitney, cùng với kết quả từ lý thuyết về -statistic tổng quát do Sen (1960), để rút ra một estiamte về mối tương quan giữa AUC không dựa vào giả định bất thường. Trên thực tế, DeLong et al (1988) đã trình bày các kết quả sau đây để so sánh giữa các phân loại k 2 .Uk2

Trong Phần 3.5.1, chúng tôi đã chỉ ra rằng khu vực dưới đường cong ROC theo kinh nghiệm bằng với -statistic Mann-Whitney , và được đưa ra bởiU

trong đósPi,i=1,Mạnh,nPlà điểm số của cácđối tượnglớpPsNj,j=1,Lỗi,nNlà điểm số cho cácđối tượnglớpNtrong mẫu. Giả sử rằng chúng ta cókphân loại, đạt điểm sốs r N j ,

AUC^=1nNnPi=1nNj=1nP[I(sPj>sNi)+12I(sPj=sNi)]
sPi,i=1,,nPPsNj,j=1,,nNNk s r P i , j = 1 , ... , n P [Tôi sửa chữa một lỗi lập chỉ mục trong phần này - Mặt trăng Sycorax], và ^ Một U C r , r = 1 , ... , k . Định nghĩasNjr,j=1nNsPir,j=1,,nPAUC^r,r=1,,k

V r 01 = 1

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

tiếp theo, xác định ma trận W 10k×kW10 với thứ nguyên tố w r , s 10 = 1(r,s)k×kma trậnW01vớiphần tử thứ (r,s)w r

w10r,s=1nP1i=1nP[V10r(sPi)AUC^r][V10s(sPi)AUC^s]
k×kW01(r,s) Sau đó, ma trận hiệp phương sai estiamted cho vectơ( ^ A U C 1,Hoài, ^ A U C k
w01r,s=1nN1i=1nN[V01r(sNi)AUC^r][V01s(sNi)AUC^s]
của các khu vực ước tính dưới các đường cong là W = 1(AUC^1,,AUC^k)với các phần tửwr,s. Đây là một khái quát về kết quả cho phương sai ước tính của AUC estiamted đơn, cũng được đưa ra trong phần 3.5.1. Trong trường hợp có hai phân loại, mối tương quan estiamtedrgiữa các AUC ước tính được đưa ra bởiw1,2
W=1nPW10+1nNW01
wr,sr có thể được sử dụng trongzở trên.w1,2w1,1w2,2z

Do các câu trả lời khác đưa ra các biểu thức Hanley và McNeil cho các công cụ ước tính của phương sai AUC, nên ở đây tôi sẽ sao chép công cụ ước tính DeLong từ p. 68:

Cách tiếp cận thay thế do DeLong et al (1988) và được minh họa bởi Pepe (2003) có thể đưa ra một ước tính đơn giản hơn và một trong đó đưa ra khái niệm hữu ích thêm về giá trị vị trí. Giá trị vị trí của điểm có tham chiếu đến một dân số được chỉ định là chức năng sống sót của dân số đó tại s . Giá trị vị trí này cho s trong dân số N là 1 - F ( s ) và đối với s trong dân số P là 1 - G ( s ) . Ước tính thực nghiệm của các giá trị vị trí được đưa ra bởi tỷ lệ rõ ràng. Do đó, giá trị vị trí của quan sát s Nsss1F(s)s1G(s) trong quần thể P ký hiệu P N i , là tỷ lệ của các giá trị mẫu từ P vượt quás N ivar(s N P i )là phương sai của các giá trị vị trí của mỗi quan sát từ N so với dân số P. ..sNisNiPsNivar(sPiN)

Ước tính phương sai của DeLong et al (1988) của được đưa ra theo các phương sai này: s 2 ( ^ A U C ) = 1AUC^

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

Lưu ý rằng là hàm phân phối tích lũy của điểm số trong dân số N và G là hàm phân phối tích lũy của điểm số trong dân số P. Một cách tiêu chuẩn để ước tính FG là sử dụng . Cuốn sách cũng cung cấp một số phương pháp thay thế cho các ước tính ecdf, chẳng hạn như ước tính mật độ hạt nhân, nhưng điều đó nằm ngoài phạm vi của câu trả lời này.FGFG

Các thống kê z có thể được coi là độ lệch chuẩn thông thường và các kiểm tra thống kê về giả thuyết null tiến hành theo cách thông thường. (Xem thêm: )Zz

Đây là một phác thảo cấp cao, đơn giản về cách kiểm tra giả thuyết hoạt động:

  • Kiểm tra, theo cách nói của bạn, "liệu một phân loại tốt hơn đáng kể so với các phân loại khác" có thể được đánh giá lại khi kiểm tra giả thuyết khống rằng hai mô hình có AUC bằng nhau về mặt thống kê so với giả thuyết thay thế rằng các số liệu thống kê là không bằng nhau.

  • Đây là một thử nghiệm hai đuôi.

  • Chúng tôi bác bỏ giả thuyết khống nếu thống kê kiểm tra nằm trong khu vực quan trọng của phân phối tham chiếu, đây là phân phối chuẩn thông thường trong trường hợp này.

  • Kích thước của khu vực quan trọng phụ thuộc vào mức độ của thử nghiệm. Đối với mức ý nghĩa 95%, thống kê kiểm tra rơi vào khu vực quan trọng nếu z > 1,96 hoặc z < - 1,96 . (Đây là các lượng tử α / 21 - α / 2 của phân phối chuẩn thông thường.) Nếu không, bạn không từ chối giả thuyết null và hai mô hình được liên kết thống kê.αz>1.96z<1.96α/21α/2

Câu 1 - Độ nhạy và độ đặc hiệu

t

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

The main sticking point is developing the appropriate test given that the two sample proportions will be correlated (as you've applied two models to the same test data). This is addressed on p. 111.

Turning to particular tests, several summary statistics reduce to proportions for each curve, so that standard methods for comparing proportions can be used. For example, the value of tp for fixed fp is a proportion, as is the misclassification rate for fixed threshold t. We can thus compare curves, using these measures, by means of standard tests to compare proportions. For example, in the unpaired case, we can use the test statistic (tp1tp2)/s12, where tpi is the true positive rate for curve i as the point in question, and s122 is the sum of the variances of tp1 and tp2...

For the paired case, however, one can derive an adjustment that allows for the covariance between tp1 and tp2, but an alternative is to use McNemar's test for correlated proportions (Marascuilo and McSweeney, 1977).

The is appropriate when you have N subjects, and each subject is tested twice, once for each of two dichotomous outcomes. Given the definitions of sensitivity and specificity, it should be obvious that this is exactly the test that we seek, since you've applied two models to the same test data and computed sensitivity and specificity at some threshold.

The McNemar test uses a different statistic, but a similar null and alternative hypothesis. For example, considering sensitivity, the null hypothesis is that the proportion tp1=tp2, and the alternative is tp1tp2. Re-arranging the proportions to instead be raw counts, we can write a contingency table

Model 1 Positive at tModel 1 Negative at tModel 2 Positive at tabModel 2 Negative at tcd
where cell counts are given by counting the true positives and false negatives according to each model

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)

and we have the test statistic

M=(bc)2b+c
which is distributed as χ12 a chi-squared distribution with 1 degree of freedom. With a level α=95%, the null hypothesis is rejected for M>3.841459.

For the specificity, you can use the same procedure, except that you replace the sPir with the sNjr.

Question 2

It seems that it is sufficient to merge the results by averaging the prediction values for each respondent, so that for each model you have 1 vector of 100 averaged predicted values. Then compute the ROC AUC, sensitivty and specificity statistics as usual, as if the original models didn't exist. This reflects a modeling strategy that treats each of the 5 respondents' models as one of a "committee" of models, sort of like an ensemble.


Thanks for your answer and provided references. What about p-values for sensitivity and specificity?
kostek

For Q1, does it mean that there is no difference between computing p-value for sensitivity and specificity and that they both always have the same p-value and I simply make a contingency table and run McNemar test on it?
kostek

No, you’d do one test for each.
Sycorax says Reinstate Monica

That is a very detailed answer, thank you. About McNemar-test; what are exactly a,b,c,d? What proportions are these?
Drey

@Drey They're not proportions; they're counts. I make this explicit in a revision.
Sycorax says Reinstate Monica

2

Let me keep the answer short, because this guide does explain a lot more and better.

Basically, you have your number of True Postives (nTP) and number of True Negatives (nTN). Also you have your AUC, A. The standard error of this A is:

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

with Q1=A/(2A) and Q2=2A2/(1+A).

To compare two AUCs you need to compute the SE of them both using:

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

where r is a quantity that represents the correlation induced between the two areas by the study of the same set of cases. If your cases are different, then r=0; otherwise you need to look it up (Table 1, page 3 in freely available article).

Given that you compute the z-Score by

z=(A1A2)/SEA1A2

From there you can compute p-value using probability density of a standard normal distribution. Or simply use this calculator.

This hopefully answers Question 1. - at least the part comparing AUCs. Sens/Spec is already covered by the ROC/AUC in some way. Otherwise, the answer I think lies in the Question 2.

As for Question 2, Central Limit Theorem tells us that your summary statistic would follow a normal distribution. Hence, I would think a simple t-test would suffice (5 measures of one classifier against 5 measures of the second classifier where measures could be AUC, sens, spec)

Edit: corrected formula for SE (2r)


Thanks for provided links. For Question 1, If I set A to be sensitivity or specificity, would the equations for SE and z-Score hold?
kostek

No, because sens only handles TPs and spec handles TNs. It is possible to compute confidence intervals for sens/spec with Binomial proportion CI, but be vigilant (small sample size?). Your p^ would be sens or spec. If CIs overlap in your comparison, then the difference would be not statistically significant under the alpha-level.
Drey

0

For Question 1, @Sycorax provided a comprehensive answer.

For Question 2, to the best of my knowledge, averaging predictions from subjects is incorrect. I decided to use bootstrapping to compute p-values and compare models.

In this case, the procedure is as follows:

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

This procedure performs one-tailed test and assumes that M1 mean performance > M2 mean performance.

A Python implementation of bootstrapping for computing p-values comparing multiple readers can be found in this GitHub repo: https://github.com/mateuszbuda/ml-stat-util

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.