Статистическая значимость (p-значение) для сравнения двух классификаторов в отношении (среднего) ROC AUC, чувствительности и специфичности


14

У меня есть тестовый набор из 100 случаев и два классификатора.

Я генерировал прогнозы и вычислял ROC AUC, чувствительность и специфичность для обоих классификаторов.

Вопрос 1: Как я могу вычислить значение p, чтобы проверить, является ли одно значительно лучше другого по всем показателям (ROC AUC, чувствительность, специфичность)?


Теперь для одного и того же набора тестов из 100 случаев у меня есть разные и независимые назначения функций для каждого случая. Это потому, что мои функции фиксированы, но субъективны и представлены несколькими (5) субъектами.

Итак, я снова оценил свои два классификатора для 5 «версий» моего тестового набора и получил 5 ROC AUC, 5 чувствительности и 5 особенностей для обоих классификаторов. Затем я вычислил среднее значение каждого показателя эффективности для 5 субъектов (среднее значение ROC AUC, среднее значение чувствительности и среднее значение специфичности) для обоих классификаторов.

Вопрос 2: Как я могу вычислить значение p, чтобы проверить, является ли одно значительно лучше другого по средним показателям (среднее значение ROC AUC, средняя чувствительность, средняя специфичность)?


Ответы с примерами кода Python (предпочтительно) или MatLab приветствуются.


Сделайте прямое сравнение точности, точности, AuC, чтобы получить лучший классификатор среди двух. P-значение здесь не имеет смысла. Значение p используется в контексте оценки, если модель работает лучше, чем случайные / 50-50 заданий (как тест нулевой / альтернативной гипотезы)
Нишад

2
Во-первых, я не согласен с тем, что сравнение двух показателей производительности с использованием p-значения здесь не имеет смысла. Я вижу, что один классификатор имеет AUC 0,80, а другой 0,85. Моя нулевая гипотеза состояла бы в том, что нет никакой разницы в эффективности обеих объявлений. Я хочу знать, является ли разница статистически значимой.
Костек

2
Во-вторых, я не делаю 5 версий своей модели. У меня есть две модели, обученные на отдельном тренировочном наборе, и теперь я оцениваю их на 5 разных «версиях» моего тестового набора. Я имею среднюю производительность для обоих классификаторов (например, 0,81 AUC и 0,84 AUC) и хочу проверить, является ли разница статистически значимой.
Костек

1
Я бы не сказал, что то, что я делаю, близко к перекрестной проверке. В моем случае значения функций зависят от предмета, который их предоставляет. Я знаю, что AUC можно использовать для сравнения моделей, но я хочу знать, является ли в моих настройках результат моего сравнения статистически значимым. Я уверен, что это можно сделать, и что это имеет большой смысл. Мой вопрос, как это сделать.
Костек

3
Я не уверен, к чему стремится @Nishad, вы можете и должны использовать проверку гипотез, чтобы определить, значительно ли отличаются ваши модели друг от друга. Стандартные отклонения ваших показателей существуют и уменьшаются по мере увеличения размера выборки (при прочих равных условиях). Разница AUC между 0,8 и 0,9 может быть незначительной, если у вас есть только 10 образцов, но может быть очень значительной, если у вас есть 10M образцов. Я также не вижу никакой связи с перекрестной проверкой. Если бы я мог, я бы отказался от комментариев.
Ядерный Ван

Ответы:


11

Войтек Дж. Кржановски и Дэвид Дж. Кривые ROC для непрерывных данных (2009) - отличный справочник для всего, что связано с кривыми ROC. Он собирает воедино ряд результатов, что является разочаровывающей широкой литературной базой, которая часто использует различную терминологию для обсуждения одной и той же темы.

Кроме того, эта книга предлагает комментарии и сравнения альтернативных методов, которые были получены для оценки одних и тех же величин, и указывает на то, что некоторые методы делают предположения, которые могут быть несостоятельными в определенных контекстах. Это один из таких контекстов; в других ответах сообщается о методе Hanley & McNeil, который предполагает бинормальную модель для распределения баллов, что может быть неуместно в случаях, когда распределение баллов по классам не является (близко к) нормальным. Предположение о нормально распределенных оценках кажется особенно неуместным в современных условиях , типичные общие модели, такие как имеют тенденцию давать оценки с распределением «ванной» для задач классификации (то есть распределений с высокой плотностью в крайних значениях около 0 и 1). ).

Вопрос 1 - AUC

В разделе 6.3 обсуждается сравнение ROC AUC для двух кривых ROC (стр. 113-114). В частности, я понимаю, что эти две модели будут коррелированы, поэтому информация о том , как вычислитьr имеет решающее значение здесь; в противном случае ваша тестовая статистика будет смещена, поскольку она не учитывает вклад корреляции.

Для случая некоррелированных кривых ROC, не основанных на каких-либо параметрических предположениях о распределении, статистика для тестов и доверительных интервалов, сравнивающих AUC, может быть непосредственно основана на оценках и ^ AUC 2 значений AUC и оценках их стандартных отклонений S 1 и S 2 , как указано в разделе 3.5.1:AUC^1AUC^2S1S2

Z=AUC^1AUC^2S12+S22

Чтобы распространить такие тесты на случай, когда для обоих классификаторов используются одни и те же данные, нам необходимо учесть корреляцию между оценками AUC:

z=AUC^1AUC^2S12+S22rS1S2

где - оценка этой корреляции. Hanley и McNeil (1983) сделали такое расширение, основав свой анализ на бинормальном случае, но дали только таблицу, показывающую, как рассчитать расчетный коэффициент корреляции r из корреляции r P двух классификаторов в классе P и корреляции r n из двух классификаторов в классе N, говоря, что математический вывод был доступен по запросу. Различные другие авторы (например, Zou, 2001) разработали тесты, основанные на бинормальной модели, предполагая, что может быть найдено соответствующее преобразование, которое будет одновременно преобразовывать распределения баллов классов P и N в нормальное состояние.rrrPrn

Делонг и др. (1988) воспользовались тождеством между AUC и тестовой статистикой Манна-Уитни, а также результатами теории обобщенной -статистики по Сену (1960), чтобы получить оценку корреляции между AUC, которая не полагается на бинормальное предположение. Фактически, ДеЛонг и др. (1988) представили следующие результаты для сравнения между k 2 классификаторами.Uk2

В разделе 3.5.1 мы показали, что площадь под эмпирической кривой ROC была равна -статистике Манна-Уитни и была заданаU

гдеsPi,i=1,,nP- оценка дляобъектовклассаP,аsNj,j=1,,nN- оценка дляобъектовклассаPобъектыклассаNв образце. Предположим, что у нас естьkклассификаторов, которые дают оценки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 [я исправил ошибку индексации в этой части - Sycorax] и ^ A U C r , r = 1 , , k . определятьsNjr,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

затем определим матрицу W 10 с ( r , s ) -ым элементом w r , s 10 = 1k×kW10(r,s) ик×KматрицаW01с(r,s)-м элементом w r

w10r,s=1nP1i=1nP[V10r(sPi)AUC^r][V10s(sPi)AUC^s]
k×kW01(r,s) Тогда оцененная ковариационная матрица для вектора( ^ A U C 1,, ^ A U C k
w01r,s=1nN1i=1nN[V01r(sNi)AUC^r][V01s(sNi)AUC^s]
расчетных площадей под кривыми составляет W = 1(AUC^1,,AUC^k)с элементамиwr,s. Это обобщение результата для оценочной дисперсии одного оцененного AUC, также приведенного в разделе 3.5.1. В случае двух классификаторов оценочная корреляцияrмежду оцененными AUC, таким образом, определяется какw1,2.
W=1nPW10+1nNW01
wr,sr которые можно использовать вzвыше.w1,2w1,1w2,2z

Поскольку другие ответы дают выражения Хенли и Макнеила для оценщиков дисперсии AUC, здесь я воспроизведу оценку Делонга из p. 68:

sss1F(s)s1G(s)sNisNiPsNivar(sPiN)

AUC^

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

FGFG

Zz

Это упрощенное общее описание того, как работает проверка гипотез:

  • Проверка, по вашим словам, «является ли один классификатор значительно лучше другого» может быть перефразирована как проверка нулевой гипотезы о том, что две модели имеют статистически равные значения AUC, против альтернативной гипотезы о том, что статистика неравна.

  • Это двусторонний тест.

  • Мы отвергаем нулевую гипотезу, если тестовая статистика находится в критической области эталонного распределения, которое в этом случае является стандартным нормальным распределением.

  • αz>1.96z<1.96α/21α/2

Вопрос 1 - Чувствительность и специфичность

t

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

Основным камнем преткновения является разработка соответствующего теста, учитывая, что две пропорции образца будут коррелированы (поскольку вы применили две модели к одним и тем же данным теста). Об этом говорится на с. 111.

tpfpt(tp1tp2)/s12tpiis122tp1tp2

tp1tp2

N

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)

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

sPirsNjr

вопрос 2

Кажется, что достаточно объединить результаты путем усреднения значений прогнозирования для каждого респондента, так что для каждой модели у вас есть 1 вектор из 100 усредненных прогнозируемых значений. Затем вычислите ROC AUC, статистику чувствительности и специфичности как обычно, как если бы исходные модели не существовали. Это отражает стратегию моделирования, которая рассматривает каждую из 5 моделей респондентов как один из «комитетов» моделей, что-то вроде ансамбля.


Спасибо за ваш ответ и предоставленные ссылки. Как насчет p-значений для чувствительности и специфичности?
Костек

Для Q1 означает ли это, что нет разницы между вычислением p-значения для чувствительности и специфичности, и что они оба всегда имеют одинаковое p-значение, и я просто создаю таблицу сопряженности и запускаю на ней тест Мак-Немара?
Костек

Нет, вы бы сделали один тест для каждого.
Sycorax говорит восстановить Монику

a,b,c,d

@Drey Они не пропорции; они считаются. Я делаю это явно в пересмотре.
Сикоракс говорит восстановить Монику

2

Позвольте мне кратко ответить, потому что это руководство объясняет намного больше и лучше .

nTPnTN

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

Q1=A/(2A)Q2=2A2/(1+A)

Для сравнения двух AUC вам нужно вычислить SE из них, используя:

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

rr=0

z

z=(A1A2)/SEA1A2

Оттуда вы можете вычислить p-значение, используя плотность вероятности стандартного нормального распределения. Или просто используйте этот калькулятор.

Это, надеюсь, ответит на вопрос 1 . - по крайней мере, часть, сравнивающая AUC. Sens / Spec уже каким-то образом покрывается ROC / AUC. В противном случае ответ, я думаю, лежит в вопросе 2.

Что касается вопроса 2 , центральная предельная теорема говорит нам, что ваша сводная статистика будет следовать нормальному распределению. Следовательно, я думаю, что будет достаточно простого t-критерия (5 мер одного классификатора против 5 мер второго классификатора, где мерами могут быть AUC, sens, spec)

SE2r


Спасибо за предоставленные ссылки. Для вопроса 1, если я установлю A как чувствительность или специфичность, будут ли справедливы уравнения для SE и z-Score?
Костек

p^

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 означает производительность.

Реализацию начальной загрузки Python для вычисления значений p, сравнивающих несколько читателей, можно найти в этом репозитории GitHub: https://github.com/mateuszbuda/ml-stat-util

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.