Как построить ROC-кривую в пакете Statistica? |
Здравствуйте, гость ( Вход | Регистрация )
Как построить ROC-кривую в пакете Statistica? |
13.06.2007 - 17:55
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 3 Регистрация: 13.06.2007 Пользователь №: 4162 |
Уважаемые коллеги!
Скажите пожалуйста, как построить ROC-кривую в пакете Statistica? Столкнулась с проблемой выбора порогового уровня маркёра и оценки его чувствительности и специфичности. В хелпе и на сайте Statsoft нашла только краткие статьи на эту тему, объясняющие, как кривая строится, что это такое и т.д., однако нигде не удалось обнаружить конкретных указаний к действию. Насколько я поняла, это делается через модуль "Нейронные сети", но, если так, мне не понятно, какую нейронную сеть нужно предварительно построить. Спасибо! Ольга |
|
14.06.2007 - 07:06
Сообщение
#2
|
|
Группа: Пользователи Сообщений: 1013 Регистрация: 4.10.2006 Пользователь №: 1933 |
Запускаете модуль Statistica Neural networks (если он лицензирован на Вашей машине - не является частью стандартного набора), открываете файл данных и запускаете мастер создания нейронной сети. Выбираете простейшую сеть. Он спрашивает про зависимую переменную (это результат - болен/здоров) и независимые (Вам нужна, наверное, одна переменная, например уровень холестерина). Затем кнопку Finish и программа строит нейронную сеть. Есть наблюдений достаточно для построения характеристической кривой (ROC-кривой) то в меню Statistica становится доступным пункт ROC curve. Щелчок по нему приводит к построению кривой и рассчета площади под кривой.
Другие программы, например Stata, имеют специализированные средства построения характеристических кривых (в Stata, например, команда roctab var2 var1, graph сделает все, что нужно), в SAS набор данных, необходимый для построения характеристической кривой создается путем указания ключевого слова outroc в команде model процедуры logistic. Однако при относительно небольшом количестве данных эмпирическую кривую можно построить в MS EXCEL. Предположим, что данные у Вас в двух столбцах - первый (А) - независимая переменная (холестерин), второй (B) - статус (болен/здоров), закодированные 0 и 1 (важно, чтобы коды были именно 0/1). Вы знаете, что у Вас, скажем, 4 больных и 4 здоровых. Сортируете данные в порядке возрастания независимой переменной (если чем выше, тем хуже или убывания - если наоборот). Третий столбец (Se) равен =сумм(B1:B8)/4 (т.е. сумма значений в столбце В - поскольку болен 1, здоров 0, сумма дает сумму больных - деленная на общее число больных). Четвертый столбец (1-Sp) равен =1-(счет(b1:b8)-сумм(b1:b8))/4 (т. е. 1 минус (общее число пациентов со значением выше данного минус количество больных пациентов со значением выше данного), делить на количество здоровых). Затем копируем значения первых двух ячеек столбцов 3 и 4 в буфер обмена и копируем их во все нижелижащие ячейки. Для второй строки формулы станут такими: =сумм(B2:B9)/4 и =1-(счет(b2:b9)-сумм(b2:b9))/4. Поскольку формулы не учитывают содержимого пустых ячеек ничего страшного, что формулы "двигаются вниз" нет. В результате получите две строки - со значениями чувствительности и 1-специфичности для построения ROC кривой. На самом деле объяснять дольше, чем делать |
|
14.06.2007 - 14:52
Сообщение
#3
|
|
Группа: Пользователи Сообщений: 3 Регистрация: 13.06.2007 Пользователь №: 4162 |
Спасибо огромное! Всё получилось.
|
|