Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум врачей-аспирантов _ Медицинская статистика _ Отбор лучших переменных

Автор: малой 26.12.2015 - 18:55

Сравниваем две группы пациентов по итогам оценки с помощью порядковой шкалы (0 - признак не выражен, 1 - минимально выражен, 2 - сильно выражен), имеющей более 40 переменных. Применённый критерий Краскела-Уоллиса показывает значимость различий по каждой из сорока переменных. ROC-анализ показывает, что классификатор хороший. Но такая методика слишком большая и нужно оставить не более десяти самых сильных переменных, которые к тому же позволят наилучшим образом предсказать наступление события (бинарная классификация).

Подскажите пожалуйста как в настоящее время принято решать такую задачу? Логистическая регрессия?

Автор: ogurtsov 26.12.2015 - 19:15

Начните с логистической регрессии с регуляризацией, а именно с лассо-регрессии. Так подберете модель, в которой будет ровно 10 предикторов.
Или, еще проще: stepwise selection с последовательным включением предикторов. Но нужно помнить, что это "жадный" алгоритм.
Вообще отбор предикторов и выбор наилучшей модели с точки зрения производительности на тестовых данных - это две разные задачи.

Автор: малой 13.02.2016 - 17:29

Пробою осваивать логистическую регрессию в SPSS. Методика (количественная переменная) которую использовал самостоятельно до регрессии показала хорошую дискриминативную способность (AUC=0,72, диагностическая точность в лучшей точке 0,74). Хочу улучшить. Добавил туда три фактора: два дихотомических (кодировка: 0 - нет вредности, 1 - вредность есть) и одну порядковую (0-нет вреднсти, 1 - небольшая вредность, 2 - большая вредность). Выходит, чем больше цифра в любой из использованных переменных тем больше вероятность события. Регрессия показала, что процент корректных увеличился до 82%. Вместе с тем коэффициенты (В) у константы и двух дихотомических переменных отрицательные (?). Далее всё вставил в уравнение регрессии и получил вероятности события. Получив расчетное значение вероятности для каждого объекта, использовал её как переменную для построения ROC. Так вот, ROC стала гораздо хуже, даже хуже чем результаты методики без дополнительных переменных (AUC=0,60). Подскажите пожалуйста, где допущена ошибка?

Автор: ogurtsov 13.02.2016 - 17:48

Цитата(малой @ 13.02.2016 - 17:29) *
Пробою осваивать логистическую регрессию в SPSS. Методика (количественная переменная) которую использовал самостоятельно до регрессии показала хорошую дискриминативную способность (AUC=0,72, диагностическая точность в лучшей точке 0,74). Хочу улучшить. Добавил туда три фактора: два дихотомических (кодировка: 0 - нет вредности, 1 - вредность есть) и одну порядковую (0-нет вреднсти, 1 - небольшая вредность, 2 - большая вредность). Выходит, чем больше цифра в любой из использованных переменных тем больше вероятность события. Регрессия показала, что процент корректных увеличился до 82%. Вместе с тем коэффициенты (В) у константы и двух дихотомических переменных отрицательные (?). Далее всё вставил в уравнение регрессии и получил вероятности события. Получив расчетное значение вероятности для каждого объекта, использовал её как переменную для построения ROC. Так вот, ROC стала гораздо хуже, даже хуже чем результаты методики без дополнительных переменных (AUC=0,60). Подскажите пожалуйста, где допущена ошибка?

Вы бы запостили какие-то данные (можно фейковые, но соответствующие реальным по структуре и по типу восстанавливаемой зависимости), тогда можно будет понять, в чем проблема.

Автор: малой 13.02.2016 - 18:12

В каком лучше формате?

Автор: ogurtsov 13.02.2016 - 18:16

Цитата(малой @ 13.02.2016 - 18:12) *
В каком лучше формате?

В .csv или .txt, где строки - наблюдения, столбцы - переменные, первая строка - названия переменных. Разделитель - точка с запятой или табуляция.
Хотя можно и просто в икселевском файле .xlsx

Автор: малой 13.02.2016 - 18:21

Ну вот так.

Автор: ogurtsov 13.02.2016 - 21:27

На скорую руку сделал в R сравнение двух моделей: с одним предиктором (методика) и со всеми сразу.
Все закономерно, AUC увеличивается при добавлении предикторов, т.е. качество классификатора растет. Сделано без кросс-валидации и тестовой выборки, просто для проверки. Если в SPSS получается иначе, значит, что-то не так делаете.
з.ы. Лучше под спойлер данные убрать

Код
[spoiler]Этот текст будет замаскирован[/spoiler]


 logreg.html ( 662,43 килобайт ) : 169
 

Автор: ogurtsov 13.02.2016 - 21:29

Нечаянный дубль сообщения.

Автор: малой 13.02.2016 - 21:31

Спасибо. Буду искать ошибку

Автор: малой 14.02.2016 - 21:07

Думаю у меня где-то ошибка в формуле. Начал пересчитывать примеры на этом сайте, так получается и там не сходится - http://www.datuapstrade.lv/rus/spss/section_16/4/

 

Автор: 100$ 14.02.2016 - 21:50

Цитата(малой @ 14.02.2016 - 21:07) *
Думаю у меня где-то ошибка в формуле. Начал пересчитывать примеры на этом сайте, так получается и там не сходится - http://www.datuapstrade.lv/rus/spss/section_16/4/


В этом примере все сходится. Аж противно.

P.S. Вы, это.. того... поаккуратнее, что-ли. А то у разработчиков СПСС скакнет давление.

Автор: малой 14.02.2016 - 22:52

)) Не. Пересчитайте не то, что в таблицах а то, что уже в формуле для расчета вероятностей для каждого события.

Автор: 100$ 14.02.2016 - 23:20

Цитата(малой @ 14.02.2016 - 22:52) *
)) Не. Пересчитайте не то, что в таблицах а то, что уже в формуле для расчета вероятностей для каждого события.


Ох, Малой, Малой... Намучаюсь я тут с вами.

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

)))) exp=2,72?

P.S. Уж извините, пожалуйста, что достаю))

Автор: 100$ 14.02.2016 - 23:55

Цитата(малой @ 26.12.2015 - 18:55) *
Сравниваем две группы пациентов по итогам оценки с помощью порядковой шкалы (0 - признак не выражен, 1 - минимально выражен, 2 - сильно выражен), имеющей более 40 переменных. Применённый критерий Краскела-Уоллиса показывает значимость различий по каждой из сорока переменных. ROC-анализ показывает, что классификатор хороший. Но такая методика слишком большая и нужно оставить не более десяти самых сильных переменных, которые к тому же позволят наилучшим образом предсказать наступление события (бинарная классификация).

Подскажите пожалуйста как в настоящее время принято решать такую задачу? Логистическая регрессия?


Слушайте, я тут что-то ничего не пойму. Вы измеряете у пациента некий признак, имеющий 3 градации. Здесь нет никакого бинарного отклика. Стандартный метод работы с такой красотой - https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D1%83%D0%BF%D0%BE%D1%80%D1%8F%D0%B4%D0%BE%D1%87%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0

И зачем применять Краскела с Уоллисом для двух групп пациентов?
И как это горемычные Краскел с Уоллисом показывают значимость различий по каждой (каждой, Карл!)) из 40 переменных? 40 достигаемых уровней значимости?

Автор: 100$ 15.02.2016 - 00:02

Цитата
)))) exp=2,72?

P.S. Уж извините, пожалуйста, что достаю))


Действительно, достал)

А шо такое есть exp=2,72? Вольный перевод шумеро-аккадской клинописи?

У меня exp(-2.032)=.131073 ergo 1/1,131073=,884.

Автор: ogurtsov 15.02.2016 - 07:10

Отклик здесь бинарный: наступление события, и две группы пациентов - это оно же. Шкала имеет кучу вопросов, по каждому три градации - варианты ответов, это все предикторы. Я так расшифровал smile.gif

Автор: малой 15.02.2016 - 07:57

Цитата(ogurtsov @ 15.02.2016 - 07:10) *
Отклик здесь бинарный: наступление события, и две группы пациентов - это оно же. Шкала имеет кучу вопросов, по каждому три градации - варианты ответов, это все предикторы. Я так расшифровал smile.gif


Всё верно

Автор: p2004r 15.02.2016 - 11:35

Цитата(малой @ 26.12.2015 - 18:55) *
Сравниваем две группы пациентов по итогам оценки с помощью порядковой шкалы (0 - признак не выражен, 1 - минимально выражен, 2 - сильно выражен), имеющей более 40 переменных. Применённый критерий Краскела-Уоллиса показывает значимость различий по каждой из сорока переменных. ROC-анализ показывает, что классификатор хороший. Но такая методика слишком большая и нужно оставить не более десяти самых сильных переменных, которые к тому же позволят наилучшим образом предсказать наступление события (бинарная классификация).

Подскажите пожалуйста как в настоящее время принято решать такую задачу? Логистическая регрессия?


Для этого используют специальные процедуры отбора информативных переменных, например основанные на бутстрепе см. https://m2.icm.edu.pl/boruta/ .

Все эти велосипеды до добра не доведут.

PS последняя 5я версия очень быстрая и хорошо исполняется многопоточно.

Автор: 100$ 15.02.2016 - 12:21

Цитата(малой @ 15.02.2016 - 07:57) *
Всё верно


Т.е. два набора из 0 и 1 вы сравниваете Краскелом - Уоллисом? И так 40 раз?

Автор: DrgLena 15.02.2016 - 14:02

Замечание для изучающий логистическую регрессию. Действительно, в качестве предикторов могут использоваться и количественные и бинарные и ранговые переменные. В случае последних нужно найти коэффициенты в количестве n-1 , где n число градаций. Т.о. для предиктора, принимающего значения 0, 1 и 2 не может быть использован один коэффициент, как для количественной переменной

Автор: малой 15.02.2016 - 19:05

Цитата(100$ @ 15.02.2016 - 12:21) *
Т.е. два набора из 0 и 1 вы сравниваете Краскелом - Уоллисом? И так 40 раз?


Два набора, каждый из 0, 1 и 2 по каждой переменной и того 40 операций. Из них 17 оказались значимых, которые потом взял в матрицу для ФА.

Автор: малой 15.02.2016 - 19:06

Цитата(DrgLena @ 15.02.2016 - 14:02) *
Замечание для изучающий логистическую регрессию. Действительно, в качестве предикторов могут использоваться и количественные и бинарные и ранговые переменные. В случае последних нужно найти коэффициенты в количестве n-1 , где n число градаций. Т.о. для предиктора, принимающего значения 0, 1 и 2 не может быть использован один коэффициент, как для количественной переменной


В SPSS это заложено. Или я ошибаюсь ?

Автор: ogurtsov 15.02.2016 - 20:53

Цитата(малой @ 15.02.2016 - 19:06) *
В SPSS это заложено. Или я ошибаюсь ?

"Это" заложено в самом понятии линейной модели. Она выражается как свободный член и n-1 коэффициентов, если в качестве предиктора выступает фактор с n уровнями. Т.е. переменная отклика представляется в виде взвешенной суммы предикторов, где веса - это те самые коэффициенты. А "взвешивать" в случае категориальных предикторов можно только саму принадлежность наблюдения к той или иной группе (=уровню фактора). Поэтому используются dummy variables, они же фиктивные переменные, со значениями 0 или 1.

Автор: 100$ 15.02.2016 - 23:19

Цитата(малой @ 26.12.2015 - 18:55) *
Применённый критерий Краскела-Уоллиса показывает значимость различий по каждой из сорока переменных.


Цитата
Два набора, каждый из 0, 1 и 2 по каждой переменной и того 40 операций. Из них 17 оказались значимых, которые потом взял в матрицу для ФА.


Что-то вы путаетесь в показаниях...

Автор: DrgLena 15.02.2016 - 23:57

Цитата(малой @ 15.02.2016 - 20:06) *
В SPSS это заложено. Или я ошибаюсь ?

Ошибаетесь, если работаете с ранговой переменной, как с количественной. Сделайте правильный выбор типа переменной в программе и оцените "вес" каждой градации. В оценке вероятности в некоторых переменных будут важны градации "0", а в каких то "2", вы же получили коэффициеты с разными знаками. Перед проведением логистической регрессии полезно посмотреть таблицы сопряженности 2х3 после чего часть ранговых переменных могут быть редуцированы до бинарных без потери информации и с ними будет легче работать, кроме того полезно посмотреть и корреляцию предикторов между собой.

Автор: DrgLena 16.02.2016 - 00:02

Цитата(малой @ 15.02.2016 - 20:05) *
Два набора, каждый из 0, 1 и 2 по каждой переменной и того 40 операций. Из них 17 оказались значимых, которые потом взял в матрицу для ФА.

Матрица для ФА это что? Вы изучаете какой анализ?

Автор: малой 16.02.2016 - 08:02

Цитата(100$ @ 15.02.2016 - 23:19) *
Что-то вы путаетесь в показаниях...


Там всё трохи сложнее. Там три группы сначала было. Между ними все 40 переменных различались. Потом осталось две. Поэтому так.

Автор: малой 16.02.2016 - 08:07

Цитата(DrgLena @ 16.02.2016 - 00:02) *
Матрица для ФА это что? Вы изучаете какой анализ?


Факторный анализ. Потом вношу что получилось в регрессию.

Скажите плиз а когда ранговые переменные (0,1,2), формируют уже методику где семь ранговых пунктов и соответственно баллов в ней от 0 до 14. Эта полученная новая переменная перестает быть ранговой и становится количественной?

Автор: p2004r 16.02.2016 - 10:06

Цитата(малой @ 16.02.2016 - 08:07) *
Факторный анализ. Потом вношу что получилось в регрессию.

Скажите плиз а когда ранговые переменные (0,1,2), формируют уже методику где семь ранговых пунктов и соответственно баллов в ней от 0 до 14. Эта полученная новая переменная перестает быть ранговой и становится количественной?



ну вот есть результат prcomp(data), что и куда из него вы дальше заносите?

Автор: малой 16.02.2016 - 14:30

Давайте тогда обрисую актуальную картину на теперешний момент. Есть методика оценивающая риск суицида. Она состоит из 20 пунктов (чем больше балл, тем больше риск суицида), каждый пункт ранговый: 0,1,2 (выраженность признака). Раньше было 2 методики по 20 пунктов но одну из них из-за разногласий с авторами пришлось убрать.

Оставшуюся методику мы её пробуем на отечественной группе лиц с определенным диагнозом для оценки риска повторного суицида. Набрали три группы человек: группа с повторными суицидами, группа с однократными суицидами и группа без суицидов вообще.
Взяли Краскела - Уоллиса и просмотрели, что по суммарному баллу все группы различаются. Самостоятельная значимость (есть различия) определяется только у семи пунктов.
Альфа всей методики и одной подшкалы "достаточная", других подшкал "плохая". Далее мы провели ФА всей методики (20 пунктов). Все самостоятельно значимые пункты объединяет в один фактор и альфа в нем "хорошая". Выделяется ещё факторы, их можно интерпретировать, но в них альфа "плохая". Дисперсия у всех получается плохая (у первого фактора 25%). Тогда подбором начали исключать переменные и оказалось, что при исключении всех переменных не обладающих собственной значимостью (Краскела - Уоллиса) методика преобразовалась в двухфакторную с хорошими альфами, хорошей дисперсией и интерпретацией.


Далее мы третью группу без попыток суицида совсем оставляем, так как оцениваем риск повторности. Остается группа с повторными суицидами и с одиночными. И теперь у нас две методики. Изначальная (20 пунктов) и её двухфакторная модификация (7 пунктов).
Проводим ROC-анализ, который говорит, что обе методики хороши в прогнозе повторности суицида (AUC более 0,7), у факторной модификации он почти 0,8.
Далее мы пытаемся улучшить прогностичность уже полученной факторной модификации и добавляем в её две качественные и одну порядковую переменную посредствам регрессии. SPSS хвалит такое решение и выдает улучшенный прогноз и данные для формулы. Далее вставляем все данные и в формулу и получаем для каждого человека прогноз.
Но когда вставляем выходные данные из полученных формул в ROC, то получается, что AUC стал хуже чем был (0,6).

Вот такой вот велосипед )))

Автор: 100$ 16.02.2016 - 17:27

Цитата(малой @ 16.02.2016 - 14:30) *
Давайте тогда обрисую актуальную картину на теперешний момент. Есть методика оценивающая риск суицида. Она состоит из 20 пунктов (чем больше балл, тем больше риск суицида), каждый пункт ранговый: 0,1,2 (выраженность признака). Раньше было 2 методики по 20 пунктов но одну из них из-за разногласий с авторами пришлось убрать.

Оставшуюся методику мы её пробуем на отечественной группе лиц с определенным диагнозом для оценки риска повторного суицида. Набрали три группы человек: группа с повторными суицидами, группа с однократными суицидами и группа без суицидов вообще.
Взяли Краскела - Уоллиса и просмотрели, что по суммарному баллу все группы различаются. Самостоятельная значимость (есть различия) определяется только у семи пунктов.
Альфа всей методики и одной подшкалы "достаточная", других подшкал "плохая". Далее мы провели ФА всей методики (20 пунктов). Все самостоятельно значимые пункты объединяет в один фактор и альфа в нем "хорошая". Выделяется ещё факторы, их можно интерпретировать, но в них альфа "плохая". Дисперсия у всех получается плохая (у первого фактора 25%). Тогда подбором начали исключать переменные и оказалось, что при исключении всех переменных не обладающих собственной значимостью (Краскела - Уоллиса) методика преобразовалась в двухфакторную с хорошими альфами, хорошей дисперсией и интерпретацией.


Далее мы третью группу без попыток суицида совсем оставляем, так как оцениваем риск повторности. Остается группа с повторными суицидами и с одиночными. И теперь у нас две методики. Изначальная (20 пунктов) и её двухфакторная модификация (7 пунктов).
Проводим ROC-анализ, который говорит, что обе методики хороши в прогнозе повторности суицида (AUC более 0,7), у факторной модификации он почти 0,8.
Далее мы пытаемся улучшить прогностичность уже полученной факторной модификации и добавляем в её две качественные и одну порядковую переменную посредствам регрессии. SPSS хвалит такое решение и выдает улучшенный прогноз и данные для формулы. Далее вставляем все данные и в формулу и получаем для каждого человека прогноз.
Но когда вставляем выходные данные из полученных формул в ROC, то получается, что AUC стал хуже чем был (0,6).

Вот такой вот велосипед )))


Может быть, вам лучше повозиться с моделью пропорциональных рисков Кокса?

Автор: p2004r 16.02.2016 - 22:53

Цитата(малой @ 16.02.2016 - 14:30) *
Давайте тогда обрисую актуальную картину на теперешний момент. Есть методика оценивающая риск суицида. Она состоит из 20 пунктов (чем больше балл, тем больше риск суицида), каждый пункт ранговый: 0,1,2 (выраженность признака). Раньше было 2 методики по 20 пунктов но одну из них из-за разногласий с авторами пришлось убрать.

Оставшуюся методику мы её пробуем на отечественной группе лиц с определенным диагнозом для оценки риска повторного суицида. Набрали три группы человек: группа с повторными суицидами, группа с однократными суицидами и группа без суицидов вообще.
Взяли Краскела - Уоллиса и просмотрели, что по суммарному баллу все группы различаются. Самостоятельная значимость (есть различия) определяется только у семи пунктов.
Альфа всей методики и одной подшкалы "достаточная", других подшкал "плохая". Далее мы провели ФА всей методики (20 пунктов). Все самостоятельно значимые пункты объединяет в один фактор и альфа в нем "хорошая". Выделяется ещё факторы, их можно интерпретировать, но в них альфа "плохая". Дисперсия у всех получается плохая (у первого фактора 25%). Тогда подбором начали исключать переменные и оказалось, что при исключении всех переменных не обладающих собственной значимостью (Краскела - Уоллиса) методика преобразовалась в двухфакторную с хорошими альфами, хорошей дисперсией и интерпретацией.


Далее мы третью группу без попыток суицида совсем оставляем, так как оцениваем риск повторности. Остается группа с повторными суицидами и с одиночными. И теперь у нас две методики. Изначальная (20 пунктов) и её двухфакторная модификация (7 пунктов).
Проводим ROC-анализ, который говорит, что обе методики хороши в прогнозе повторности суицида (AUC более 0,7), у факторной модификации он почти 0,8.
Далее мы пытаемся улучшить прогностичность уже полученной факторной модификации и добавляем в её две качественные и одну порядковую переменную посредствам регрессии. SPSS хвалит такое решение и выдает улучшенный прогноз и данные для формулы. Далее вставляем все данные и в формулу и получаем для каждого человека прогноз.
Но когда вставляем выходные данные из полученных формул в ROC, то получается, что AUC стал хуже чем был (0,6).

Вот такой вот велосипед )))


1. Помимо AUC есть Йоудена критерий, который учитывает по крайней мере частоту исходов в популяции реальную (например неравный размер групп), так что "не AUC едимым" (вполне можно придумать такую форму ROC которая будет иметь меньшую площадь и лучший результат для конкретного решения smile.gif.

2. Просто все закидываем в Boruta и получаем набор доказанных бутстрепом значимых для решения показателей. Уже их взаимодействие можно рассматривать PCA и всякими методами восстанавливающими причинно-следственные связи. Иначе слишком много ручной работы и негарантированный результат.

Как можно игнорировать специальные методы отбора переменных в пользу велосипеда?

Автор: малой 16.02.2016 - 23:15

Может хоть немного меня оправдает то, что все переменные взяты из узконаправленных специализированных методик, которые прошли многократные стат. проверки. Дайте пожалуйста ссылочки на Boruta и модель Кокса "для чайников".

Автор: 100$ 17.02.2016 - 00:18

Цитата(малой @ 16.02.2016 - 23:15) *
Может хоть немного меня оправдает то, что все переменные взяты из узконаправленных специализированных методик, которые прошли многократные стат. проверки. Дайте пожалуйста ссылочки на Boruta и модель Кокса "для чайников".


https://en.wikipedia.org/wiki/Proportional_hazards_model

Автор: DrgLena 17.02.2016 - 12:02

Из робко сформулированной цели все же ясно, что данные собраны не для ответа на вопрос о времени наступления повторной попытки, т.е. нет времени начала наблюдения и даты попытки, что необходимо для регрессии Кокса. Необходимо просто проанализировать стандартные психиатрические шкалы в определенной когорте больных, чтобы предложить диагностическое правило для лиц с высокой вероятностью повторного суицида. Стандартные шкалы имеют конкретный набор вопросов и 2 или 3 варианта ответов, может быть и больше. Как правило, оценка проводится тупо по сумме набранных по всем элементам шкалы баллов. Так, например, в России проверялась шкала HCL32 и оптимальной точкой разделения для двух состояний БАРII и РДР (малой поймет) также,как и в других европейских странах отределена сумма по 32 вопросам >14, (испотльзован ROCанализ). Адаптация другой шкалы для других психиатрических задач в наших условиях заключалась в том, что часть вопросов для наших подростков были не актуальны, редко были положительные ответы например на вопрос часто ли вы водите машину в пьяном виде, поскольку наши подростки не имеют прав, но отсутствие отца в семье явился весьма значимым фактором риска у подростков имеющий попытки. Адаптация шкалы может заключаться в том, что часть вопросов могут быть заменены другими, а также в том, что может быть проведено "взвешивание" каждого элемента шкалы и предложить использовать сумму после взвешивания.

Автор: p2004r 17.02.2016 - 12:40

Цитата(малой @ 16.02.2016 - 23:15) *
Может хоть немного меня оправдает то, что все переменные взяты из узконаправленных специализированных методик, которые прошли многократные стат. проверки. Дайте пожалуйста ссылочки на Boruta и модель Кокса "для чайников".


Уже несколько раз приводил:
https://m2.icm.edu.pl/boruta/

Свежая 5я версия многопоточна и очень быстра.

Автор: малой 20.02.2016 - 22:38

Оказывается, что spss сама считает и вероятности после логистической регрессии))
Вероятности вставил в ROC и модель ожидаемо улучшилась. Но когда решил вручную посчитать вероятность для одного из пациентов, то не выходит чего-то. Может кто-нить подскажет, что не так.
Набор переменных для конкретного пациента:
методика, дихотомX (0,1), дихотомY (0,1), порядковая (0,1,2)
15, 0, 1, 2
Если все переменные вбивать как количественные, то spss выдает коэффициенты :
В (методика) = 0,274
В (дихотомХ)= 0,926
В (дихотомY)= 1,104
В (порядковая) = 0,830
В (константа) = - 3,837
получается следующее уравнение:
Z =0,274*15+0,926*0+1,104*1+0,830*2-3,837= 3,037
exp(-3.037)=0,048 ergo 1/1,048=0,953
SPSS тоже так посчитала вероятность = 0,953. Всё сошлось.

Теперь с этим же набором данных вводим последних три переменных как нужно, то есть категориальными и получаем коэффициенты:
В (методика) = -0,286
В (1) (дихотомХ)= 0,871
В (1) (дихотомY)= 1,191
В (1) (порядковая) = 1,921
В (2) (порядковая) = 1,642
В (константа) = - 0,077

Z = -0,286*15+0*0+1,191*1+1,642*2-0,077= -0,585
exp(0.585)=1.791 ergo 1/2,791=0,358
А вот SPSS посчитала, что должна вероятность быть 0,97044. И это правильно. Скажите пожалуйста, что я сделал не так в ручном подсчете?

Автор: 100$ 21.02.2016 - 01:40

Цитата(малой @ 20.02.2016 - 22:38) *
Теперь с этим же набором данных вводим последних три переменных как нужно, то есть категориальными и получаем коэффициенты:
В (методика) = -0,286
В (1) (дихотомХ)= 0,871
В (1) (дихотомY)= 1,191
В (1) (порядковая) = 1,921
В (2) (порядковая) = 1,642
В (константа) = - 0,077

Z = -0,286*15+0*0+1,191*1+1,642*2-0,077= -0,585 Двойка!

exp(0.585)=1.791 ergo 1/2,791=0,358
А вот SPSS посчитала, что должна вероятность быть 0,97044. И это правильно. Скажите пожалуйста, что я сделал не так в ручном подсчете?


Завтра в школу с родителями

Автор: малой 21.02.2016 - 06:58

Уже 100 раз пересчитал, и с родителями тоже))
Не получается цифра как в spss. Подскажите уже плиз двоечнику ))
Дайте списать ))

Автор: 100$ 21.02.2016 - 13:13

Цитата(малой @ 21.02.2016 - 06:58) *
Уже 100 раз пересчитал, и с родителями тоже))
Не получается цифра как в spss. Подскажите уже плиз двоечнику ))
Дайте списать ))


Так а где коэффициенты ,871*??? + 1,921*???

Даже в приведенном выражении -,585 никак не получается. Получается ,108.

Автор: ogurtsov 21.02.2016 - 13:38

Цитата(100$ @ 21.02.2016 - 14:13) *
Так а где коэффициенты ,871*??? + 1,921*???

Даже в приведенном выражении -,585 никак не получается. Получается ,108.


Если значения факторов равны нулю для этого пациента, то коэффициенты и не нужны.
Если же они не равны нулю, а просто пропущены в расчетах, то получается уже что-то похожее на результат из SPSS, но все равно не совпадает.

Автор: 100$ 21.02.2016 - 13:55

Цитата(ogurtsov @ 21.02.2016 - 13:38) *
Если значения факторов равны нулю для этого пациента, то коэффициенты и не нужны.
Если же они не равны нулю, а просто пропущены в расчетах, то получается уже что-то похожее на результат из SPSS, но все равно не совпадает.


Для дихотомической переменной ДихотомХ с коэффициентом ,871 это может быть так, а вот для порядковой с коэф-том 1,921 - уж извините.

И вообще, если уж выкладываешь расчет на всеобщее оборзение, то будь добр, запиши его secundum artem. Собственно, об этом и пост был.

Автор: малой 21.02.2016 - 14:13

Там где коэффициент 0,871 значение переменной 0, а где коэффициент 1,921 то значение переменной 2 и поэтому используется коэффициент 1,642.


Автор: ogurtsov 21.02.2016 - 14:16

Цитата(малой @ 21.02.2016 - 15:13) *
Там где коэффициент 0,871 значение переменной 0, а где коэффициент 1,921 то значение переменной 2 и поэтому используется коэффициент 1,642.

Значит, продолжим гадать на кофейной гуще.
Категориальная с тремя уровнями фактора - это две дихотомические. Дихотомические - это 0 или 1. 2 там быть не может, т.е. коэффициенты всегда множатся или на 1, или на 0.

Автор: малой 21.02.2016 - 14:26

Набор переменных для пациента:
методика значение - 15, дихотомX (измеряется 0,1) у неё значение 0, дихотомY (измеряется 0,1) у неё значение 1, порядковая ( измеряется 0,1,2) её значение 2.

Теперь коэффициенты:
В (методика) = -0,286
В (1) (дихотомХ)= 0,871
В (1) (дихотомY)= 1,191
В (1) (порядковая) = 1,921
В (2) (порядковая) = 1,642
В (константа) = - 0,077

Автор: малой 21.02.2016 - 14:30

Цитата(100$ @ 21.02.2016 - 13:55) *
Для дихотомической переменной ДихотомХ с коэффициентом ,871 это может быть так, а вот для порядковой с коэф-том 1,921 - уж извините.

И вообще, если уж выкладываешь расчет на всеобщее оборзение, то будь добр, запиши его secundum artem. Собственно, об этом и пост был.


Да, там очень крутая переменная - судимости ))
Что значит Secundum Artem?

Автор: DrgLena 21.02.2016 - 17:34

А можно первичные данные предоставить по этим переменным, а то я вижу только решение огурцова. Как то все не ясно. Если включается крутая переменная то коэффициент к ней должен быть меньше единицы, а OR соответственно больше единицы. Если, конечно, верно кодируется целевая переменная, болезни или повторной попытки нет "0", есть "1" и соответственно рассчитывается веротяность "1". Давно ручками ничего не считали. Просьба к изучающему логистическую регрессию малому, предоставить таблицу сопряженности бинарного отклика и ранговой переменной "судимость". В этом случае будет легче объяснить как вам сможет помочь SPSS с логистической регрессией.

Автор: малой 21.02.2016 - 17:37

Спасибо. Напишите пожалуйста свою почту

Автор: p2004r 21.02.2016 - 17:42

Цитата(малой @ 21.02.2016 - 17:37) *
Спасибо. Напишите пожалуйста свою почту


Давайте получим эталонный результат алгоритмом Boruta ?

Мой емайл p2004r@gmail.com

Автор: DrgLena 21.02.2016 - 18:03

Цитата(малой @ 21.02.2016 - 18:37) *
Спасибо. Напишите пожалуйста свою почту

На форуме есть возможность посылать личные сообщения. Я прошу предоставить обсуждаемые данные для общего обозрения. Есть желающие вам помочь на этом форуме, хоть вы, наверное, не врач, поскольку с латынью не дружите, хотя и с арифметикой тоже, но переменные у вас крутые.

Автор: малой 21.02.2016 - 18:05

Цитата(DrgLena @ 21.02.2016 - 18:03) *
На форуме есть возможность посылать личные сообщения. Я прошу предоставить обсуждаемые данные для общего обозрения. Есть желающие вам помочь на этом форуме, хоть вы, наверное, не врач, поскольку с латынью не дружите, хотя и с арифметикой тоже, но переменные у вас крутые.


Отправил

Автор: DrgLena 21.02.2016 - 20:35

Если продолжать мучить SPSS, то будет так, руками для этого примера:
Z= 0,286*15+1,191+1,921-3,905=3,497
exp(-3,497)= 0,030288 p=1/1,030288=0,9706 (программа использует больше значащих цифр чем 3 после запятой, поэтому 0,97044)



Автор: DrgLena 21.02.2016 - 20:45

Обратите внимание на табличку Categorical Var Codings, эти кодировки зависят от вашего выбора, какое значение сделать референтным.

Автор: малой 21.02.2016 - 21:47

Цитата(DrgLena @ 21.02.2016 - 20:35) *
Если продолжать мучить SPSS, то будет так, руками для этого примера:
Z= 0,286*15+1,191+1,921-3,905=3,497
exp(-3,497)= 0,030288 p=1/1,030288=0,9706 (программа использует больше значащих цифр чем 3 после запятой, поэтому 0,97044)


Это первый пациент судя по вероятности. Если не трудно, напишите пожалуйста коэффициенты для всех значений и константу получившиеся у Вас.

Автор: 100$ 21.02.2016 - 22:38

Цитата(DrgLena @ 21.02.2016 - 20:35) *
Если продолжать мучить SPSS, то будет так, руками для этого примера:
Z= 0,286*15+1,191+1,921-3,905=3,497
exp(-3,497)= 0,030288 p=1/1,030288=0,9706 (программа использует больше значащих цифр чем 3 после запятой, поэтому 0,97044)


DrgLena,
а почему ,286*15, а не -,286*15?
И что такое -3,905 в этой истории?

Автор: малой 21.02.2016 - 22:40

Цитата(100$ @ 21.02.2016 - 22:38) *
DrgLena,
а почему ,286*15, а не -,286*15?
И что такое -3,905 в этой истории?


Да и ещё почему 1,921 а не 1,642*2?

Автор: DrgLena 21.02.2016 - 23:45

Цитата(100$ @ 21.02.2016 - 22:38) *
DrgLena,
а почему ,286*15, а не -,286*15?
И что такое -3,905 в этой истории?

-3,905 свободный член, он может быть и -0,07746 собственно. Правую и левую части можно уравнять разным способом. Я просто привыкла в качестве референтного значения категориальной переменной выбирать первую категорию, которая "0".

Автор: DrgLena 22.02.2016 - 00:30

Цитата(малой @ 21.02.2016 - 22:40) *
Да и ещё почему 1,921 а не 1,642*2?


Для того же первого пациента:
Z=-1,982 (свободный член)+0,28567*15+1,19099*1 (и все!)=3,49
Вы не поняли, что такое кодирование категориальной переменной в этом модуле SPSS, вам ведь огурцов уже писал, что на 2 умножать ничего не нужно, а вы вообще согласились с тем, что референтная категория у вас LAST, а при этом ни один из двух коэффициентов не нужен (0 0).


Автор: DrgLena 22.02.2016 - 01:44

Можно использовать и полученные малым коэффициенты, при этом прогнозируется "0" здоровые и Z=-0,07746-(0,28567*15)+0,87103=-3,49148 exp(3,49148)=32,834506 р=0,029555 , и наконец, вероятность повтора суицида 1-0,029555=0,97044 , что и следовало показать. В данном случае бинарная переменная имеющая значение "0" использует ко?ффициент, а имеющая значение "1" нет. И может теперь будет понятно, что на 2 не нужно умножать коэффициент для ранговой переменной.

Автор: 100$ 22.02.2016 - 01:56

Цитата(DrgLena @ 22.02.2016 - 01:44) *
Можно использовать и полученные малым коэффициенты, при этом прогнозируется "0" здоровые и Z=-0,07746-(0,28567*15)+0,87103=-3,49148 exp(3,49148)=32,834506 р=0,029555 , и наконец, вероятность повтора суицида 1-0,029555=0,97044 , что и следовало показать. В данном случае бинарная переменная имеющая значение "0" использует ко?ффициент, а имеющая значение "1" нет. И может теперь будет понятно, что на 2 не нужно умножать коэффициент для ранговой переменной.


Спасибо за разъяснения. Я всегда подозревал, что все эти дамми-переменные - абсолютное зло.)

Автор: DrgLena 22.02.2016 - 10:05

Согласна, потому то ручками полезно иногда покопаться, чтобы понять, что машина за тебя делает. Но абсолютное зло - изучение статистики посредством нажимания кнопок в профессиональных пакетах.

Автор: 100$ 22.02.2016 - 11:34

Цитата(DrgLena @ 22.02.2016 - 10:05) *
Но абсолютное зло - изучение статистики посредством нажимания кнопок в профессиональных пакетах.


Афоризм, достойный быть отлитым в граните )

Автор: малой 22.02.2016 - 14:45

Руками я научился считать. Всё вроде пока сходится)) Не могу только теперь найти табличку Categorical Var Codings. Выложите пожалуйста scrin. Хочется, чтоб по-людски было уже ))

Автор: DrgLena 22.02.2016 - 17:15

Цитата(малой @ 22.02.2016 - 15:45) *
Не могу только теперь найти табличку Categorical Var Codings.

Var =Variables, может теперь найдете, в самом начале, до коэффициентов, а если не получится, скопируйте весь отчет в ворд и запустите поиск smile.gif

Вы не сделали домашнее задание, я дважды просила вас сделать таблицу сопряженности, но вы не сделали, а потому и страдаете с категориальной переменной, которая легко может быть редуцирована до бинарной, поскольку не имеет значения одна или больше судимостей, сам факт ее наличия повышает шанс повторного суицида OR= 5,43. А по поводу количественной переменной, которая является сумммой по какой то известной шкале (методика), то она сама по себе является хорошим инструментом диагностирования с чувствительностью в точке>7 баллов 96,7%, при более скромной специфичности. Домашнее задание, посчитать OR для этой бинарной переменной.
Добавляя в модель другие переменные, которые имеют значимые корреляции с методикой, вы снижаете чувствительность, совсем незначительно повышая специфичность. Подумайте, что вам важнее гипо или гипердиагностика?

Автор: малой 22.02.2016 - 17:41

Если балл 7 и более по методике, то OR=66

Автор: DrgLena 22.02.2016 - 18:02

Да, для этой точки так. Я привела чувствительность для точки больше 7.

 

Автор: p2004r 22.02.2016 - 18:10

Цитата(DrgLena @ 22.02.2016 - 01:44) *
Можно использовать и полученные малым коэффициенты, при этом прогнозируется "0" здоровые и Z=-0,07746-(0,28567*15)+0,87103=-3,49148 exp(3,49148)=32,834506 р=0,029555 , и наконец, вероятность повтора суицида 1-0,029555=0,97044 , что и следовало показать. В данном случае бинарная переменная имеющая значение "0" использует ко?ффициент, а имеющая значение "1" нет. И может теперь будет понятно, что на 2 не нужно умножать коэффициент для ранговой переменной.


Ну нормальные переменные представляющие уровни факторов вводятся через контрасты и не имеют избыточности (3 уровня - 2 "думми" в контрасте). Тогда правда все чешут репу как собрать из контрастов опять "общие коэффициенты" smile.gif

Автор: малой 22.02.2016 - 20:03

Скажите пожалуйста, пороги отсечения для полученных вероятностей принято делать по вероятностям первой группы или с заданным интервалом, например 0,1;0,2;0,3... ?

Автор: DrgLena 22.02.2016 - 21:23

... ?


Автор: малой 22.02.2016 - 21:41

таблица с порогами - https://basegroup.ru/community/articles/logis-medic-scoring

там пороги 0,25;0,26;0,27... и так до конца прибавляется каждый порог по одной сотой. А если всех по порядку значений нет в моих вероятностях, то можно пропускать значения или нужно всё равно все просчитать прибавляя по одной сотой?

Автор: DrgLena 22.02.2016 - 22:14

Вы поняли, что в этой ссылке назвали порогом? Как получен ряд этих чисел?

Автор: 100$ 22.02.2016 - 22:31

Цитата(малой @ 22.02.2016 - 21:41) *
таблица с порогами - https://basegroup.ru/community/articles/logis-medic-scoring

там пороги 0,25;0,26;0,27... и так до конца прибавляется каждый порог по одной сотой. А если всех по порядку значений нет в моих вероятностях, то можно пропускать значения или нужно всё равно все просчитать прибавляя по одной сотой?


График логистической кривой (сигмоида) при любом раскладе пересекает ось ординат в точке ,5. Это - порог по умолчанию. Поэтому, если для пациента рассчитанная вероятность (н-р, ,97044) превышает этот порог, то считаем, что реализовалось событие, закодированное "1"(объект относим к классу "1"), если рассчитанная вероятность меньше порога - событие с кодом "0". ROC-кривая строится в координатах -"Чувствительность - Специфичность", рассчитанных для каждого порога с произвольным шагом (хошь - ,1, хошь -,001,). Желательно отрезок [0;1] разбить на равновеликие интервалы.

Автор: малой 23.02.2016 - 07:17

Цитата(DrgLena @ 22.02.2016 - 22:14) *
Вы поняли, что в этой ссылке назвали порогом? Как получен ряд этих чисел?


Вроде да)) Например для порога 0,37 моей модели (сделал все три добавочных переменных дихотомическими): se=0,92 sp=0,68 ac=0,80. Для голой методики при пороге 8 баллов и более se=0,97 sp=0,62 ac=0,79

Автор: DrgLena 23.02.2016 - 09:09

Цитата(малой @ 22.02.2016 - 22:41) *
таблица с порогами - https://basegroup.ru/community/articles/logis-medic-scoring

там пороги 0,25;0,26;0,27... и так до конца прибавляется каждый порог по одной сотой. А если всех по порядку значений нет в моих вероятностях, то можно пропускать значения или нужно всё равно все просчитать прибавляя по одной сотой?

В этой ссылку порогаМИ назвали все значения расчетной вероятности, полученной в модели с большим числом количественных предикторов (табл из MedCalc), возможных комбинаций значений очень много и ничего там не прибавляется по одной сотой, у них есть эти значения и они их представляют, чтобы вы выбрали ПОРОГ, т.е. то значение которое разделит этот ряд на до и после. И к этой точке разделения представляют чувствительность и специфичность. 100$ вам пишет, что когда их много, то можно выбрать шаг, с которым их представлять. По вашей модели нет всех расчетных вероятностей и они не могут быть, нет таких данных. Но они все и не нужны, поскольку нужна только граница раздела. Я не поняла куда вы хотите прибавлять по одной сотой? Вы что хотите решить обратную задачу, по значениям пропущенных вероятностей посчитать какие должны быть предикторы?

Иногда в публикациях приводят не одну точку разделения, а две или даже три, чтобы показать какие значения можно использовать и с какими последствиями.

Автор: малой 23.02.2016 - 20:04

Всё проще. Я хочу знать на сколько подробно принято привадить такие пороги в публикациях. Например, по моей методике все понятно, 8 вопросов и максимум два балла за каждый: 8*2= 16. И все 16 порогов можно показать с чувствительностью и специфичностью. А в модели как оптимально продемонстрировать пороги? Их слишком ведь много для того, чтоб все возможные варианты демонстрировать.

Автор: DrgLena 23.02.2016 - 22:47

Цитата(малой @ 23.02.2016 - 21:04) *
И все 16 порогов можно показать с чувствительностью и специфичностью.

А зачем? Вы же должны настроить приемник smile.gif

Посмотрите публикации по ROC, слово порогИ вы не найдете. На русском встречаются: оптимальная точка разделения, порог принятия решения, точка баланса между чувствительностью и специфичностью. На английском проще, cut-off point, cut-off value, optimal cut-off.

Еще, кроме чувствительности и специфичности принято приводить +LR это отношение характеризует тест одновременно по чувствительности и специфичности.

Автор: малой 23.02.2016 - 23:17

Я на вики забрёл когда-то, и там там вообще сумасшедший набор характеристик для полученных результатов - https://en.wikipedia.org/wiki/Receiver_operating_characteristic

Я использовал для характеристики отношения чувствительности/специфичности их сумму и accuracy (ACC)

Подскажите пожалуйста в чем преимущество +LR, почему именно его принято показывать в статьях?

Автор: DrgLena 24.02.2016 - 09:25

Цитата(малой @ 24.02.2016 - 00:17) *
Я на вики забрёл когда-то,


Пора уже открыть какую то книгу по статистике или доказательной медицине, где ясно и просто показано, что такое характеристики диагностического теста, Флетчер Р. вполне подойдет.

А если еще раз на вики забредете, то
https://en.wikipedia.org/wiki/Likelihood_ratios_in_diagnostic_testing

Автор: малой 26.02.2016 - 20:05

Если во главу угла ставлю чувствительность а специфичность получается более скромная, то есть ли нижний предел достаточной специфичности? Существует утвержденная градация чувствительности и специфичности? Вот в некоторых статьях пишут чувствительность/ специфичность "хорошая" или "очень хорошая", "отличная".

А в одной из статьей указали, что специфичность ниже 0,7 не позволяет методику использовать как самостоятельный инструмент. Что уже говорить про мою специфичность - 0,6 ))

Автор: DrgLena 26.02.2016 - 21:54

Вы перепутали чувствительность и специфичность.

Автор: малой 26.02.2016 - 22:02

Уже исправил )) Извините пожалуйста

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)