![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 10 Регистрация: 18.10.2007 Пользователь №: 4453 ![]() |
Объясните, пожалуйста, как вычислить все показатели необходимые для рассчета.
|
|
![]() |
![]() |
![]() |
![]()
Сообщение
#2
|
|
![]() Группа: Пользователи Сообщений: 1141 Регистрация: 10.04.2007 Пользователь №: 4040 ![]() |
Сортируем данные в порядке возрастания интересующего диагностического параметра (например, холестерина). Для каждого значения параметра записываем число пациентов имеющих значение выше оного и число контролей, имеющих значение выше оного. Вычисляем процент к общей численности пациентов и контролей (это чувствительность и % ложноположительных результатов). Строим график зависимости чувствительности (Se) от % ложноположительных реузльтатов(FP). Это и есть характеристическая (ROC) кривая. Площадь под кривой определяем при помощи правила трапеции (последующее значение FP минус предыдущее значение FP умноженное на полусумму последущего и предыдущего значения Se). Суммируем полученные значения и получаем площадь под кривой. Не могу разделить воодушевления DrgLena по поводу ясности показанного представления относительно ROC анализа, хотя понимание автором поста изложенного материала ни малейшего сомнения не вызывает. Тем более не могу утверждать этого относительно изложения ROC в книге Ребровой. Поэтому неудивительно, что исследователи шарахаются от новых методов, просто не понимая их. А на самом-то деле алгоритм элементарен. Кто бы внятно описал. ![]() Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
|
|
![]() |
![]() |
![]()
Сообщение
#3
|
|
Группа: Пользователи Сообщений: 1013 Регистрация: 4.10.2006 Пользователь №: 1933 ![]() |
Не могу разделить воодушевления DrgLena по поводу ясности показанного представления относительно ROC анализа, хотя понимание автором поста изложенного материала ни малейшего сомнения не вызывает. Тем более не могу утверждать этого относительно изложения ROC в книге Ребровой. Поэтому неудивительно, что исследователи шарахаются от новых методов, просто не понимая их. А на самом-то деле алгоритм элементарен. Кто бы внятно описал. Честно говоря, не понял, что я тут непонятного написал, ну да ладно - самому всегда не видно, для этого есть даже умное название "профессиональный кретинизм" (это я про себя ![]() Итак, у нас есть набор значений, который мы измерили в группе больных и здоровых (например, ХС в мг/дл). Теперь мы сортируем значения без учета принадлежности к группе в порядке возрастания, например так: 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 - это численности здоровых и больных в вышеописанном примере. Поскольку все таблицеподобные примеры вверху поехали, креплю экселевский файл со всеми расчетами и примером. пытался как-то исправить - но мои пробелы переделывает в табуляции, которые затем считает одним пробелом...
Прикрепленные файлы
|
|
![]() |
![]() |
![]() ![]() |