Отбор лучших переменных |
Здравствуйте, гость ( Вход | Регистрация )
Отбор лучших переменных |
26.12.2015 - 18:55
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 94 Регистрация: 18.06.2014 Пользователь №: 26469 |
Сравниваем две группы пациентов по итогам оценки с помощью порядковой шкалы (0 - признак не выражен, 1 - минимально выражен, 2 - сильно выражен), имеющей более 40 переменных. Применённый критерий Краскела-Уоллиса показывает значимость различий по каждой из сорока переменных. ROC-анализ показывает, что классификатор хороший. Но такая методика слишком большая и нужно оставить не более десяти самых сильных переменных, которые к тому же позволят наилучшим образом предсказать наступление события (бинарная классификация).
Подскажите пожалуйста как в настоящее время принято решать такую задачу? Логистическая регрессия? |
|
26.12.2015 - 19:15
Сообщение
#2
|
|
Группа: Пользователи Сообщений: 127 Регистрация: 15.12.2015 Пользователь №: 27760 |
Начните с логистической регрессии с регуляризацией, а именно с лассо-регрессии. Так подберете модель, в которой будет ровно 10 предикторов.
Или, еще проще: stepwise selection с последовательным включением предикторов. Но нужно помнить, что это "жадный" алгоритм. Вообще отбор предикторов и выбор наилучшей модели с точки зрения производительности на тестовых данных - это две разные задачи. Сообщение отредактировал ogurtsov - 26.12.2015 - 19:21 |
|
13.02.2016 - 17:29
Сообщение
#3
|
|
Группа: Пользователи Сообщений: 94 Регистрация: 18.06.2014 Пользователь №: 26469 |
Пробою осваивать логистическую регрессию в SPSS. Методика (количественная переменная) которую использовал самостоятельно до регрессии показала хорошую дискриминативную способность (AUC=0,72, диагностическая точность в лучшей точке 0,74). Хочу улучшить. Добавил туда три фактора: два дихотомических (кодировка: 0 - нет вредности, 1 - вредность есть) и одну порядковую (0-нет вреднсти, 1 - небольшая вредность, 2 - большая вредность). Выходит, чем больше цифра в любой из использованных переменных тем больше вероятность события. Регрессия показала, что процент корректных увеличился до 82%. Вместе с тем коэффициенты (В) у константы и двух дихотомических переменных отрицательные (?). Далее всё вставил в уравнение регрессии и получил вероятности события. Получив расчетное значение вероятности для каждого объекта, использовал её как переменную для построения ROC. Так вот, ROC стала гораздо хуже, даже хуже чем результаты методики без дополнительных переменных (AUC=0,60). Подскажите пожалуйста, где допущена ошибка?
Сообщение отредактировал малой - 13.02.2016 - 17:34 |
|
13.02.2016 - 17:48
Сообщение
#4
|
|
Группа: Пользователи Сообщений: 127 Регистрация: 15.12.2015 Пользователь №: 27760 |
Пробою осваивать логистическую регрессию в SPSS. Методика (количественная переменная) которую использовал самостоятельно до регрессии показала хорошую дискриминативную способность (AUC=0,72, диагностическая точность в лучшей точке 0,74). Хочу улучшить. Добавил туда три фактора: два дихотомических (кодировка: 0 - нет вредности, 1 - вредность есть) и одну порядковую (0-нет вреднсти, 1 - небольшая вредность, 2 - большая вредность). Выходит, чем больше цифра в любой из использованных переменных тем больше вероятность события. Регрессия показала, что процент корректных увеличился до 82%. Вместе с тем коэффициенты (В) у константы и двух дихотомических переменных отрицательные (?). Далее всё вставил в уравнение регрессии и получил вероятности события. Получив расчетное значение вероятности для каждого объекта, использовал её как переменную для построения ROC. Так вот, ROC стала гораздо хуже, даже хуже чем результаты методики без дополнительных переменных (AUC=0,60). Подскажите пожалуйста, где допущена ошибка? Вы бы запостили какие-то данные (можно фейковые, но соответствующие реальным по структуре и по типу восстанавливаемой зависимости), тогда можно будет понять, в чем проблема. |
|
13.02.2016 - 18:12
Сообщение
#5
|
|
Группа: Пользователи Сообщений: 94 Регистрация: 18.06.2014 Пользователь №: 26469 |
В каком лучше формате?
|
|
13.02.2016 - 18:16
Сообщение
#6
|
|
Группа: Пользователи Сообщений: 127 Регистрация: 15.12.2015 Пользователь №: 27760 |
В каком лучше формате? В .csv или .txt, где строки - наблюдения, столбцы - переменные, первая строка - названия переменных. Разделитель - точка с запятой или табуляция. Хотя можно и просто в икселевском файле .xlsx |
|
13.02.2016 - 18:21
Сообщение
#7
|
|
Группа: Пользователи Сообщений: 94 Регистрация: 18.06.2014 Пользователь №: 26469 |
Ну вот так.
Сообщение отредактировал малой - 13.02.2016 - 21:32 |
|
13.02.2016 - 21:27
Сообщение
#8
|
|
Группа: Пользователи Сообщений: 127 Регистрация: 15.12.2015 Пользователь №: 27760 |
На скорую руку сделал в R сравнение двух моделей: с одним предиктором (методика) и со всеми сразу.
Все закономерно, AUC увеличивается при добавлении предикторов, т.е. качество классификатора растет. Сделано без кросс-валидации и тестовой выборки, просто для проверки. Если в SPSS получается иначе, значит, что-то не так делаете. з.ы. Лучше под спойлер данные убрать Код [spoiler]Этот текст будет замаскирован[/spoiler]
Сообщение отредактировал ogurtsov - 13.02.2016 - 21:38
Прикрепленные файлы
|
|
13.02.2016 - 21:29
Сообщение
#9
|
|
Группа: Пользователи Сообщений: 127 Регистрация: 15.12.2015 Пользователь №: 27760 |
Нечаянный дубль сообщения.
Сообщение отредактировал ogurtsov - 13.02.2016 - 21:31 |
|
13.02.2016 - 21:31
Сообщение
#10
|
|
Группа: Пользователи Сообщений: 94 Регистрация: 18.06.2014 Пользователь №: 26469 |
Спасибо. Буду искать ошибку
|
|
14.02.2016 - 21:07
Сообщение
#11
|
|
Группа: Пользователи Сообщений: 94 Регистрация: 18.06.2014 Пользователь №: 26469 |
Думаю у меня где-то ошибка в формуле. Начал пересчитывать примеры на этом сайте, так получается и там не сходится - http://www.datuapstrade.lv/rus/spss/section_16/4/
|
|
14.02.2016 - 21:50
Сообщение
#12
|
|
Группа: Пользователи Сообщений: 902 Регистрация: 23.08.2010 Пользователь №: 22694 |
Думаю у меня где-то ошибка в формуле. Начал пересчитывать примеры на этом сайте, так получается и там не сходится - http://www.datuapstrade.lv/rus/spss/section_16/4/ В этом примере все сходится. Аж противно. P.S. Вы, это.. того... поаккуратнее, что-ли. А то у разработчиков СПСС скакнет давление. Сообщение отредактировал 100$ - 14.02.2016 - 22:36 |
|
14.02.2016 - 22:52
Сообщение
#13
|
|
Группа: Пользователи Сообщений: 94 Регистрация: 18.06.2014 Пользователь №: 26469 |
)) Не. Пересчитайте не то, что в таблицах а то, что уже в формуле для расчета вероятностей для каждого события.
|
|
14.02.2016 - 23:20
Сообщение
#14
|
|
Группа: Пользователи Сообщений: 902 Регистрация: 23.08.2010 Пользователь №: 22694 |
)) Не. Пересчитайте не то, что в таблицах а то, что уже в формуле для расчета вероятностей для каждого события. Ох, Малой, Малой... Намучаюсь я тут с вами. 1) 1/(1+exp(-1.018))=.735 2) 1/(1+exp(-1.126))=.755 3) 1/(1+exp(-2.032))=.884 По моим понятиям - все путем. Вот только на вашем втором рисунке уважаемые авторы, комментирующие результаты расчетов, вместо 2,032 (-14,645+,201*72+2,205*1=2,032) в формуле написали 1,018. Ну не без этого. |
|
14.02.2016 - 23:30
Сообщение
#15
|
|
Группа: Пользователи Сообщений: 94 Регистрация: 18.06.2014 Пользователь №: 26469 |
)))) exp=2,72?
P.S. Уж извините, пожалуйста, что достаю)) Сообщение отредактировал малой - 14.02.2016 - 23:35 |
|