Форум врачей-аспирантов

Здравствуйте, гость ( Вход | Регистрация )

> ROC-анализ, определение чувствительности и специфичности метода
Татьяна24
сообщение 30.06.2008 - 19:50
Сообщение #1





Группа: Пользователи
Сообщений: 10
Регистрация: 18.10.2007
Пользователь №: 4453



Объясните, пожалуйста, как вычислить все показатели необходимые для рассчета.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
 
Открыть тему
Ответов
Игорь
сообщение 3.07.2008 - 12:29
Сообщение #2





Группа: Пользователи
Сообщений: 1141
Регистрация: 10.04.2007
Пользователь №: 4040



Цитата(плав @ 30.06.2008 - 20:53) *
Сортируем данные в порядке возрастания интересующего диагностического параметра (например, холестерина). Для каждого значения параметра записываем число пациентов имеющих значение выше оного и число контролей, имеющих значение выше оного. Вычисляем процент к общей численности пациентов и контролей (это чувствительность и % ложноположительных результатов). Строим график зависимости чувствительности (Se) от % ложноположительных реузльтатов(FP). Это и есть характеристическая (ROC) кривая.
Площадь под кривой определяем при помощи правила трапеции (последующее значение FP минус предыдущее значение FP умноженное на полусумму последущего и предыдущего значения Se). Суммируем полученные значения и получаем площадь под кривой.

Не могу разделить воодушевления DrgLena по поводу ясности показанного представления относительно ROC анализа, хотя понимание автором поста изложенного материала ни малейшего сомнения не вызывает. Тем более не могу утверждать этого относительно изложения ROC в книге Ребровой.

Поэтому неудивительно, что исследователи шарахаются от новых методов, просто не понимая их. А на самом-то деле алгоритм элементарен. Кто бы внятно описал.


Signature
Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
плав
сообщение 3.07.2008 - 20:17
Сообщение #3





Группа: Пользователи
Сообщений: 1013
Регистрация: 4.10.2006
Пользователь №: 1933



Цитата(Игорь @ 3.07.2008 - 13:29) *
Не могу разделить воодушевления DrgLena по поводу ясности показанного представления относительно ROC анализа, хотя понимание автором поста изложенного материала ни малейшего сомнения не вызывает. Тем более не могу утверждать этого относительно изложения ROC в книге Ребровой.

Поэтому неудивительно, что исследователи шарахаются от новых методов, просто не понимая их. А на самом-то деле алгоритм элементарен. Кто бы внятно описал.

Честно говоря, не понял, что я тут непонятного написал, ну да ладно - самому всегда не видно, для этого есть даже умное название "профессиональный кретинизм" (это я про себя smile.gif ). Попробую с примером.
Итак, у нас есть набор значений, который мы измерили в группе больных и здоровых (например, ХС в мг/дл). Теперь мы сортируем значения без учета принадлежности к группе в порядке возрастания, например так:
160 0
170 1
172 0
180 0
190 1
200 0
210 0
220 1
230 0
240 1
250 1
250 0
260 1
270 1
280 1
Всего у нас 8 больных и 7 здоровых. Теперь начинаем считать, сколько больных имеет значение выше порогового и сколько здоровых тоже имеют его выше или равным пороговому (т.е. сколько у нас будет истинно положительных результатов теста - на больных и сколько ложно-положительных - на здоровых, если мы используем эту границу). Начнем со 160. Выше все больные (100%) и все здоровые (100%). Соответственно, первая точка на графике будет иметь координаты 1,1
Далее, берем значение 170 - вышего него 100% больных и 6/7 (85,7%) здоровых. Итак, координаты второй точки (0,857, 1)
Для значения 172 получаем 87,5% больных и 85,7% здоровых. Координаты третьей точки (0,857, 0,875)
Продолжаем этот ряд

Код
160 0                7    1,000        1    1
170 1    1    8    1                0,857    1
172 0                6    0,857        0,857    0,875
180 0                5    0,714        0,714    0,875
190 1    1    7    0,875                0,571    0,875
200 0                4    0,571        0,571    0,75
210 0                3    0,429        0,429    0,75
220 1    1    6    0,75                0,286    0,75
230 0                2    0,286        0,286    0,625
240 1    1    5    0,625                0,143    0,625
250 1    1    4    0,5                0,143    0,5
250 0                1    0,143        0,143    0,375
260 1    1    3    0,375                0    0,375
270 1    1    2    0,25                0    0,25
280 1    1    1    0,125                0    0,125


Последние две колонки содержат координаты, необходимые для построения ROC-кривой
Оценка ее площади - это уже другая задача, для сравнения, например, можно было бы использовать интегрирование взвешиванием - метод не ахти какой точный, зато никакой математики не требуется - на миллиметровке строим кривые, затем аккуратно вырезаем их ножницами и взвешиваем на точных весах. Отношение масс и есть отношение площадей.
Если же хочется использовать, например, Эксель, то можно просто ввести формулу, как я описывал выше:
=(E31+E32)/2*(D31-D32), т.е. полусумма значений по оси Y умноженная на разность значений по оси X
Для примера выше получаем:

Se FP Площадь
1 1 0,143
0,857 1 0,000
0,857 0,875 0,125
0,714 0,875 0,125
0,571 0,875 0,000
0,571 0,75 0,107
0,429 0,75 0,107
0,286 0,75 0,000
0,286 0,625 0,089
0,143 0,625 0,000
0,143 0,5 0,000
0,143 0,375 0,054
0 0,375 0,000
0 0,25 0,000
0 0,125 0,000

Суммируя значения в столбце Площадь получаем 0,75, что и является в данном случае AUC ROC.
Далее, при желании, используя приведенные в другом посту формулы можно оценить AUC ROC:

з б
160 0 1 1
170 1 2 2
172 0 3 3
180 0 4 4
190 1 5 5
200 0 6 6
210 0 7 7
220 1 8 8
230 0 9 9
240 1 10 10
250 1 11 11
250 0 12 12
260 1 13 13
270 1 14 14
280 1 15 15
Сумма рангов
42 78
U 42 14
AUC 0,75
Q1 0,6
Q2 0,642857143
se2 0,017410714
se 0,131949666

Вначале рассчитываем суммы рангов и оцениваем U-критерий Мэнна-Уитни. Берем большее значение U и делим на произведение численностей групп (в данном случае величина - сюрприз! - получается равной 0,75)
Сами формулы продублирую
Q1 = AUC / (2 - AUC);
Q2 = 2 * AUC^2 / (1 + AUC);
se2 = (AUC * (1 - AUC) + (N1 - 1) * (Q1 - AUC^2) + (N2 - 1) * (Q2 - AUC^2)) / (N1 * N2);
SE_auc = squareRoot (se2);
Их выражения в Экселе (в ячейке С49 - сумма рангов критерий):
C50 U =7*8+(7*(7+1))/2-C49
C51 AUC =C50/(7*8)
C52 Q1 =C51/(2-C51)
C53 Q2 =2*C51^2/(1+C51)
C54 se2 =(C51*(1-C51)+(7-1)*(C52-C51^2)+(8-1)*(C53-C51^2))/(7*8)
C55 se =КОРЕНЬ(C54)
Я думаю, что очевидно, что 7 и 8 - это численности здоровых и больных в вышеописанном примере.

Поскольку все таблицеподобные примеры вверху поехали, креплю экселевский файл со всеми расчетами и примером. пытался как-то исправить - но мои пробелы переделывает в табуляции, которые затем считает одним пробелом...
Прикрепленные файлы
Прикрепленный файл  ROC.rar ( 2,86 килобайт ) Кол-во скачиваний: 1329
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 

Сообщений в этой теме
- Татьяна24   ROC-анализ   30.06.2008 - 19:50
- - плав   Зависит от того, в какой форме данные. Если совсем...   30.06.2008 - 20:53
- - Игорь   Цитата(плав @ 30.06.2008 - 20:53) За...   1.07.2008 - 17:00
|- - Med_Elena   Цитата(Игорь @ 1.07.2008 - 17:00) Мн...   10.04.2020 - 21:04
- - плав   На самом деле довольно много материала просто в Ин...   1.07.2008 - 19:17
- - DrgLena   Еще моожно посмотреть 1. Biostatistics. A Methodol...   1.07.2008 - 21:58
- - nokh   Книга В.Власова "Эффективность диагностически...   1.07.2008 - 22:35
- - Игорь   Цитата(nokh @ 1.07.2008 - 22:35) Кни...   2.07.2008 - 10:49
|- - Marinheiro   Цитата(Игорь @ 2.07.2008 - 10:49) Сп...   28.02.2020 - 22:16
- - плав   Если будете где-то новый скан размещать, лучше спр...   2.07.2008 - 11:30
- - Игорь   Цитата(плав @ 30.06.2008 - 20:53) Со...   3.07.2008 - 12:29
|- - плав   Цитата(Игорь @ 3.07.2008 - 13:29) Не...   3.07.2008 - 20:17
- - DrgLena   Конечно, по Ребровой не научишься, ее книга ориент...   3.07.2008 - 13:12
- - DrgLena   Блестяще! Добавить можно только график самой к...   4.07.2008 - 00:23
- - Игорь   Удалено автором.   4.07.2008 - 11:19
|- - плав   Цитата(Игорь @ 4.07.2008 - 12:19) За...   4.07.2008 - 21:48
- - DrgLena   Игорь, по видимому, не верно определил больных и ...   5.07.2008 - 01:57
- - nokh   Цитата(DrgLena @ 5.07.2008 - 04:57) ...   5.07.2008 - 09:38
- - DrgLena   Почти совпадающий, по MedCalc, действительно ROC=0...   5.07.2008 - 12:53
|- - плав   Цитата(DrgLena @ 5.07.2008 - 13:53) ...   5.07.2008 - 16:20
- - Игорь   Цитата(плав @ 4.07.2008 - 21:48) Пре...   5.07.2008 - 16:50
|- - плав   Цитата(Игорь @ 5.07.2008 - 17:50) Мн...   6.07.2008 - 08:29
- - DrgLena   Не стоит горячиться, не так много мест, где есть о...   6.07.2008 - 00:40
- - nokh   Знатоком себя не считаю, но ответ знаю - как раз э...   6.07.2008 - 07:46
|- - плав   Цитата(nokh @ 6.07.2008 - 08:46) Зна...   6.07.2008 - 09:32
- - Игорь   Справедливые слова. И дельные советы. Неполиткорре...   6.07.2008 - 09:35
- - плав   1) FP - сокращение от False Positives (ложноположи...   6.07.2008 - 13:25
- - Игорь   Цитата(nokh @ 6.07.2008 - 07:46) Так...   6.07.2008 - 15:23
- - DrgLena   http://www.rad.jhmi.edu/jeng/javarad/roc/JROCFITi....   6.07.2008 - 16:09
- - Игорь   Цитата(DrgLena @ 6.07.2008 - 16:09) ...   6.07.2008 - 16:28
|- - плав   Цитата(Игорь @ 6.07.2008 - 17:28) Сп...   9.07.2008 - 21:34
- - Игорь   Цитата(плав @ 9.07.2008 - 21:34) Нас...   10.07.2008 - 08:32
- - Игорь   Обнаружен интересный эффект при построении ROC. В ...   12.07.2008 - 09:21
|- - плав   Цитата(Игорь @ 12.07.2008 - 10:21) О...   12.07.2008 - 12:44
- - DrgLena   Я вам об этом и писала 5.07.2008 - 01:57 ПОэтому,...   12.07.2008 - 10:27
- - Игорь   Цитата(DrgLena @ 12.07.2008 - 10:27)...   12.07.2008 - 10:59
- - DrgLena   Я пользуюсь лицензионной программой MedCalc, сама ...   12.07.2008 - 12:01
- - DrgLena   ROC обычно применяют во второй части анализа, посл...   12.07.2008 - 14:25
- - Игорь   Большое спасибо, плав, DrgLena! Теперь о ROC ...   12.07.2008 - 16:38
- - DrgLena   Хорошо, чтобы и автор поста Татьяна24 смогла выпол...   12.07.2008 - 17:07
- - Игорь   Цитата(DrgLena @ 12.07.2008 - 17:07)...   12.07.2008 - 18:55
|- - log   Цитата(Игорь @ 12.07.2008 - 19:55) Н...   14.04.2015 - 22:48
|- - nokh   Цитата(log @ 15.04.2015 - 00:48) Иго...   18.04.2015 - 19:05
- - плав   Я тут проанализировал результаты разных подходов (...   12.07.2008 - 18:55
- - малой   В одной из работ видел, что критерием определения ...   20.04.2015 - 08:44
|- - p2004r   Цитата(малой @ 20.04.2015 - 08:44) В...   20.04.2015 - 10:01
- - малой   Спасибо. Подскажите пожалуйста еще, принят ли како...   20.04.2015 - 10:11
|- - p2004r   Цитата(малой @ 20.04.2015 - 10:11) С...   20.04.2015 - 12:42
- - малой   Большое спасибо   20.04.2015 - 13:55
- - малой   Подскажите еще пожалуйста. Где-то нашёл формулу Юд...   20.04.2015 - 14:16
|- - p2004r   Цитата(малой @ 20.04.2015 - 14:16) П...   20.04.2015 - 15:08
- - md416   Подскажите пожалуйста, где можно почитать про выбо...   8.12.2019 - 22:32
|- - nokh   Цитата(md416 @ 9.12.2019 - 00:32) По...   9.12.2019 - 00:30
|- - p2004r   Цитата(md416 @ 8.12.2019 - 22:32) По...   9.12.2019 - 18:49
- - md416   На самом деле я пытаюсь применить данную методику ...   9.12.2019 - 19:20
|- - Игорь   Цитата(md416 @ 9.12.2019 - 20:20) На...   11.12.2019 - 14:11
- - EkaterinaN   Добрый вечер, применим ли ROC-анализ для определен...   24.04.2020 - 23:37
- - nokh   Цитата(EkaterinaN @ 25.04.2020 - 01...   26.04.2020 - 06:53


Добавить ответ в эту темуОткрыть тему