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


14

У мене є тестовий набір із 100 випадків та два класифікатори.

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

Питання 1: Як я можу обчислити p-значення, щоб перевірити, чи є одна значно краща за іншу стосовно всіх балів (ROC AUC, чутливість, специфічність)?


Тепер для одного і того ж тестового набору з 100 випадків я маю різні та незалежні функції призначення для кожного випадку. Це тому, що мої риси є фіксованими, але суб'єктивними і надаються декількома (5) предметами.

Отже, я знову оцінив два мої класифікатори на 5 "версіях" мого тестового набору і отримав 5 ROC AUC, 5 чутливості та 5 особливостей для обох класифікаторів. Тоді я обчислював середнє значення кожного показника ефективності для 5 суб'єктів (середня ROC AUC, середня чутливість та середня специфічність) для обох класифікаторів.

Питання 2: Як я можу обчислити р-значення, щоб перевірити, чи є одна значно краща за іншу щодо середніх балів (середня ROC AUC, середня чутливість, середня специфічність)?


Відповіді з прикладом python (бажано) або кодом MatLab більш ніж вітаються.


Зробіть пряме порівняння точності, точності, AuC, щоб отримати кращий класифікатор серед двох. 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 обговорює порівняння AUC AOC для двох кривих 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

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

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

У розділі 3.5.1 ми показали, що площа під емпіричною кривою ROC дорівнювала статистиці Манна-Уітні , і вона була заданаU

деsPi,i=1,,nP- оцінка дляоб’єктівкласуP,аsNj,j=1,,nN- бали заоб’єктикласу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×kW01з(r,s)th елемент 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, тут я відтворять оцінювач DeLong з p. 68:

Альтернативний підхід завдяки DeLong et al (1988) та прикладом Pepe (2003) дає, мабуть, більш просту оцінку і той, який вводить додаткову корисну концепцію вартості розміщення. Значення розміщення балів по відношенню до визначеної сукупності становить те, що функція виживання населення в s . Це значення розміщення для s для населення N дорівнює 1 - F ( s ), а для s для населення P - 1 - G ( s ) . Емпіричні оцінки значень розміщення задаються очевидними пропорціями. Таким чином, значення розміщення спостереження s Nsss1F(s)s1G(s) в популяції P, позначенійs P N i , - частка значень вибірки з P, що перевищуютьs N i , аvar(s N P i )- дисперсія значень розміщення кожного спостереження від N щодо популяції P. ..sNisNiPsNivar(sPiN)

DeLong et al (1988) оцінка дисперсії наведена у вигляді цих дисперсій: s 2 ( ^ A U C ) = 1AUC^

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

Зауважимо, що - функція кумулятивного розподілу балів у сукупності N, G - функція кумулятивного розподілу балів у сукупності P. Стандартним способом оцінювання F та G є використання . Книга також пропонує деякі альтернативні методи оцінювання ecdf, такі як оцінка щільності ядра, але це не виходить за межі цієї відповіді.FGFG

Статистику і z можна вважати стандартними нормальними відхиленнями, а статистичні тести нульової гіпотези протікають звичайним чином. (Див. Також: )Zz

Це спрощений контур на високому рівні того, як працює тестування гіпотез:

  • Тестування, за вашими словами, "чи один класифікатор значно кращий за інший", можна переосмислити як тестування нульової гіпотези про те, що дві моделі мають статистично однакові AUCs проти альтернативної гіпотези, що статистика неоднакова.

  • Це тест з двома хвостами.

  • Ми відкидаємо нульову гіпотезу, якщо статистика тесту знаходиться у критичній області опорного розподілу, що є стандартним нормальним розподілом у цьому випадку.

  • α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 усереднених прогнозованих значень. Потім обчислюйте статистику RUC, чутливість та специфічність, як зазвичай, як би не існували оригінальні моделі. Це відображає стратегію моделювання, яка розглядає кожну з 5 респондентів моделей як одну з "комітетів" моделей, на зразок ансамблю.


Дякуємо за вашу відповідь та надані довідки. А як щодо р-значень для чутливості та специфічності?
костек

Чи означає для Q1, що немає різниці між обчислювальною величиною p для чутливості та специфічності, і що вони обидва завжди мають однакове p-значення, і я просто складаю таблицю на випадок надзвичайних ситуацій і запускаю на ній тест McNemar?
костек

Ні, ви зробили б один тест для кожного.
Sycorax каже, що повернеться до Моніки

a,b,c,d

@Drey Вони не пропорції; вони рахуються. Я це явно роблю в доопрацюванні.
Sycorax каже, що повернеться Моніка

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, усереднення прогнозів з предметів невірно. Я вирішив використовувати завантажувальний інструмент для обчислення р-значень та порівняння моделей.

У цьому випадку процедура така:

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 для обчислення р-значень для порівняння декількох читачів можна знайти в цьому репортажі GitHub: https://github.com/mateuszbuda/ml-stat-util

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.