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

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

5 страниц V   1 2 3 > »   
Добавить ответ в эту темуОткрыть тему
> Вопрос по логистической регрессии
lab_owl
сообщение 26.02.2009 - 20:00
Сообщение #1


Дух форума
*

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



Уважаемые коллеги!
Я новичок в статистике, поэтому заранее извинюсь за, быть может, наивные вопросы. Они касаются логистической регресии. Имеются данные некоторого потенциально значимого диагностического теста (read-out - да/нет, соотв. 0/1) для дифференциальной диагностики доброкачественных и злокачественных узловых образований ЩЖ (соотв-но, зависимая переменная - «зло»(1)/«добро»(0)), независимые переменные (помимо рез-та изучаемого теста) - пол, возраст и наличие/отсутствие (1/0) подозрительных на малигнизацию изменений на цитограмме пунктата. Строю модель (SPSS, binary logistic regession). В результате по переменной, соответствующей рез-там диагностического теста - гипердисперсия, низкая статистика Вальда и отсутствие значимости переменной. Ситуация в том, что тест высокоспецифичный (но низкочувствительный), и на относительно небольшой выборке ни одного тест-позитивного случая в группе пациентов с доброкачественными образованиями не наблюдается. При произвольном введении одного тест-позитива в эту группу (в любой case) ситуация полностью исправляется, ошибка становится вполне приемлемой и переменная становится значимой. При этом % верных предсказаний в «неадеватной» модели даже выше (что логично). Собственно вопросы:
1) Неадекватность модели при отсутствии тест-позитивных случаев в одной из групп - это внутренняя особенность алгоритма или еще что-то?
2) Если это внутренняя особенность алгоритма, то каковы методы борьбы (не считая дальнейшего сбора материала в ожидании хотя бы одного тест-позитивного случая)?
Заранее спасибо за советы и рекомендации.

Сообщение отредактировал lab_owl - 26.02.2009 - 20:05
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
плав
сообщение 26.02.2009 - 21:48
Сообщение #2


Дух форума
*

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



Цитата(lab_owl @ 26.02.2009 - 20:00) *
Уважаемые коллеги!
Я новичок в статистике, поэтому заранее извинюсь за, быть может, наивные вопросы. Они касаются логистической регресии. Имеются данные некоторого потенциально значимого диагностического теста (read-out - да/нет, соотв. 0/1) для дифференциальной диагностики доброкачественных и злокачественных узловых образований ЩЖ (соотв-но, зависимая переменная - «зло»(1)/«добро»(0)), независимые переменные (помимо рез-та изучаемого теста) - пол, возраст и наличие/отсутствие (1/0) подозрительных на малигнизацию изменений на цитограмме пунктата. Строю модель (SPSS, binary logistic regession). В результате по переменной, соответствующей рез-там диагностического теста - гипердисперсия, низкая статистика Вальда и отсутствие значимости переменной. Ситуация в том, что тест высокоспецифичный (но низкочувствительный), и на относительно небольшой выборке ни одного тест-позитивного случая в группе пациентов с доброкачественными образованиями не наблюдается. При произвольном введении одного тест-позитива в эту группу (в любой case) ситуация полностью исправляется, ошибка становится вполне приемлемой и переменная становится значимой. При этом % верных предсказаний в «неадеватной» модели даже выше (что логично). Собственно вопросы:
1) Неадекватность модели при отсутствии тест-позитивных случаев в одной из групп - это внутренняя особенность алгоритма или еще что-то?
2) Если это внутренняя особенность алгоритма, то каковы методы борьбы (не считая дальнейшего сбора материала в ожидании хотя бы одного тест-позитивного случая)?
Заранее спасибо за советы и рекомендации.

А теперь представьте. У Вас следующие значения 0 к 0 к 0 к 0 к 0 к 0 к, какая буква соответствует значению 1? Именно этот вопрос Вы задаете логистической регрессии и она дает Вам единственно возможный ответ - не известно. И способов борьбы с попыткой предсказать неизвестное кроме как набор материала для получения тест-положительных результатОВ не придумано (обратите внимание, один случай - и алгоритм может давать неустойчивые результаты, вообще-то требуется примерно равное числе T+ и T-).
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
lab_owl
сообщение 27.02.2009 - 14:49
Сообщение #3


Дух форума
*

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



Спасибо большое за ответ!
Если можно, еще один вопрос. Насколько я понял из литературы и обсуждений на этом форуме, в первоначальную модель должны быть в любом случае включены возраст и пол для age-gender adjustment. Вопрос собственно такой - финальная модель в любом случае должна быть скорректирована по этим параметрам (т.е. даже в том случае, когда сами по себе они не являются значимыми предикторами) - или же после получения инф-ии об отсутствии значимости этих переменных их можно выбросить из конечной модели?
Еще раз спасибо!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
плав
сообщение 27.02.2009 - 17:34
Сообщение #4


Дух форума
*

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



Цитата(lab_owl @ 27.02.2009 - 14:49) *
Спасибо большое за ответ!
Если можно, еще один вопрос. Насколько я понял из литературы и обсуждений на этом форуме, в первоначальную модель должны быть в любом случае включены возраст и пол для age-gender adjustment. Вопрос собственно такой - финальная модель в любом случае должна быть скорректирована по этим параметрам (т.е. даже в том случае, когда сами по себе они не являются значимыми предикторами) - или же после получения инф-ии об отсутствии значимости этих переменных их можно выбросить из конечной модели?
Еще раз спасибо!

Хосмер и Лемешев советуют не исключать из финальной модели пол и возраст, если только это не продиктовано клиническими соображениями (т.е. извсетно, что пол и возраст на исход не влияют - ситуация в медицине достаточно редкая)
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
lab_owl
сообщение 28.02.2009 - 00:00
Сообщение #5


Дух форума
*

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



Спасибо большое!
Очень приятно что в рунете есть форум, где можно быстро получить высококвалифицированные ответы по прикладной статистике в медицине.
Спасибо Вам за Вашу работу!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
lab_owl
сообщение 11.03.2009 - 06:05
Сообщение #6


Дух форума
*

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



Здравствуйте,
Я опять к Вам с вопросами.
Получилась некая модель. Все статистики включая Хосмера-Лемешева вполне хорошие. Хочется сделать ей внутреннюю валидацию.
Чтение матчасти в общих чертах ознакомило с такими вещами как bootstrap, k-fold-CV, LOO-CV и 80/20 split validation. В связи с этим несколько вопросов.
1) Какие параметры помимо точности классификации на тестовой выборке (в одной из выложенных в нете учебных презентаций вычитал, что общая доля верных предсказаний в тестовой выборке должна быть не более чем на 10% ниже, чем в обучающей - это так?) должны меня интересовать при внутренней валидации? Иными словами, что должно быть в табличке под названием "внутренняя валидация ЛР-модели", чтобы я имел право сказать, что данные этой самой валидации отличные/хорошие/удовлетворительные/неудовлетворительные?
2) Пока я испробовал 80/20 и LOO, и из них более оптимистичные оценки дает 80/20. Причем они остаются одинаково оптимистичными даже при 10-кратном произвольном выдергивании 20% случаев на тестовую выборку. Видел работы, где подобная процедура делается один раз и на этом валидацию заканчивают - есть ли какие-то правила по поводу необходимого числа "выдергиваний"?
2) В том случае, если на полном сете данных я использую не стандартный порог отсечения 0.5, а определенный в ходе ROC-анализа модели и соответствующий максимуму суммы (Sp+Sn), то оценивая точность предсказаний, допустим, при LOO-CV, как выбирать порог отсечения? Следует ли брать тот же, что и в первоначальной модели, или можно заново провести ROC-анализ и привести значения, опять-таки соотв. максимуму суммы Sp+Sn?
Заранее спасибо за ответы!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
плав
сообщение 11.03.2009 - 10:30
Сообщение #7


Дух форума
*

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



На самом деле должны интересовать расчитанные при помощи внутренней валидизации стандартные ошибки, а не точность классификации. Точность классификации хороший показатель при внешней валидизации. Соответственно, ответ на все остальные вопросы очевиден.
На последний - Вы проверяете модель. Соответственно, менять точку разделения от одной модели к другой вряд ли является осмысленным поведением, ибо непонятно, какую собственно модель Вы проверяете.
На самом деле оптимальный вариант это две разных группы - на одной строится модель, на другой проверяется. Если наблюдений мало - идут на ухишрения, общая идея которых взять, выделить подгруппу, построить на ней модель, а на второй подгруппе проверить. Соответственно в этом случае получаете разброс предсказательных значений. Именно этот разброс и должен приводиться и тут никаких ранее установленных параметров нет и быть не может, поскольку они контекст-зависимые (для одних моделей надо только 95%-100%, для других уже 40-50% прекрасно.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
lab_owl
сообщение 11.03.2009 - 19:29
Сообщение #8


Дух форума
*

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



Большое спасибо за ответы!
Единственное, я не вполне понял - стандартные ошибки чего? В тех работах, которые мне попадались, в основном использовали misclassification error rate - но это собственно единица минус процент верных предсказаний...
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
плав
сообщение 11.03.2009 - 22:24
Сообщение #9


Дух форума
*

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



Цитата(lab_owl @ 11.03.2009 - 19:29) *
Большое спасибо за ответы!
Единственное, я не вполне понял - стандартные ошибки чего? В тех работах, которые мне попадались, в основном использовали misclassification error rate - но это собственно единица минус процент верных предсказаний...

Нет, речь идет не об оценке модели в целом, а о ошибке коэффициентов предикторов (независимых переменных). Ощибка классификации - это не очень адекватный показатель, он исходит из того, что при повторении эксперимента модель даст абсолютно такие же результаты (т.е. не учитывается случайная вариабельность). Уж тогда лучше сделать валидизацию ошибки классификации бутстрепом или другими методами повторного взятия выборок (тогда будет не одна величина, а интервал).
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
lab_owl
сообщение 12.03.2009 - 08:19
Сообщение #10


Дух форума
*

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



Спасибо!
1) Т.е. алгоритм, насколько я понимаю, примерно такой - к примеру, я делаю 5-кратную CV, и повторяю ее, допустим, 20 раз. На каждом шаге я получаю модель, из которой извлекаю коэффициенты для предикторов, и точность предсказания для "независимой" подвыборки. После чего из множества этих чисел беру среднее по коэффициентам + S.E. и среднее по точности классификации + S.E. - я правильно понял?
2) Вы уже написали, что точность классификации - не лучший параметр для внутренней валидации. Но если его все же приводить (нпрм, в презентации перед далекими от статистики людьми, которых интересует точность классификации и не особо интересуют ошибки коэффициентов) - то модель с сочетанием обучающей и кросс-валидированной точности как 88.9/77.1% (соотв. AUC - 0.928/0.803) может рассматриваться как адекватная? И еще вопрос, относящийся к предыдущему - LOO и k-fold CV имеют тенденцию скорее к завышению или к занижению ошибки классификации?
3) Пригодны ли методы повторного взятия выборок для определения наиболее адекватных моделей, или это исключительно оценивающие методы? Например, в ходе 10 раундов 5-кратной кросс-валидизации получилось 50 моделей, из которых, скажем, 20 предсказывают исход в проверочной выборке отлично (>80% точных предсказаний), 25 - средне (60-80%) и 5 - плохо (<60%). Правильной ли тактикой будет отобрать 20 наиболее предиктивно мощных моделей и использовать их далее для внешней проверки на независимой выборке?

Сообщение отредактировал lab_owl - 13.03.2009 - 01:23
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
плав
сообщение 13.03.2009 - 00:11
Сообщение #11


Дух форума
*

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



Цитата(lab_owl @ 12.03.2009 - 08:19) *
Спасибо!
1) Т.е. алгоритм, насколько я понимаю, примерно такой - к примеру, я делаю 5-кратную CV, и повторяю ее, допустим, 20 раз. На каждом шаге я получаю модель, из которой извлекаю коэффициенты для предикторов, и точность предсказания для "независимой" подвыборки. После чего из множества этих чисел беру среднее по коэффициентам + S.E. и среднее по точности классификации + S.E. - я правильно понял?
2) Вы уже написали, что точность классификации - не лучший параметр для внутренней валидации. Но если его все же приводить (нпрм, в презентации перед далекими от статистики людьми, которых интересует точность классификации и не особо интересуют ошибки коэффициентов) - то модель с сочетанием обучающей и кросс-валидированной точности как 88.9/77.1% (соотв. AUC - 0.928/0.803) может рассматриваться как адекватная? И еще вопрос, относящийся к предыдущему - LOO и k-fold CV имеют тенденцию скорее к завышению или к занижению ошибки классификации?
3) Пригодны ли методы повторного взятия выборок для определения наиболее адекватных моделей, или это исключительно оценивающие методы? Например, в ходе 10 раундов 5-кратной кросс-валидизации получилось 50 моделей, из которых, скажем, 20 предсказывают исход в проверочной выборке отлично (>80% точных предсказаний), 25 - средне (60-80%) и 5 - плохо (<60%). Правильной ли тактикой будет отобрать 20 наиболее предиктивно мощных моделей и использовать их далее для внешней проверки на независимой выборке?
ЗЫ. По последнему пункту уже нашел что вроде бы так и делают по уму, но все равно хотелось бы услышать Ваше мнение.

1) Не совсем. делаете 500 повторов, извлекаете коэффициенты и берете медиану и 2.5 и 97.5 процентили (т.е. получаете 95% доверительный интервал)
2) Не могу ответить, так как это зависит от предметной области. Фактически модель ошибается в каждом пятом случае и это оптимистичная оценка. Дальше - решайте сами.
3) Насчет выбора моделей кросс-валидацией я не понял. Автоматический отбор не рекомендуется, как бы он не выглядел. Для решения вопроса о том, какая из двух-трех моделей является более адекватной использовать можно.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
lab_owl
сообщение 13.03.2009 - 00:24
Сообщение #12


Дух форума
*

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



Видимо, из-за моего неполного понимания матчасти получился misunderstanding.
1) Собственно "модель" - это набор переменных (видимо, именно так) или данное конкретное регрессионное уравнение с данными конкретными коэффициентами?
2) Я имел ввиду следующее - в ходе n-кратной кросс-проверки с одним и тем же набором переменных получается n регрессионных уравнений, которые предсказывают исходы в "независимых" проверочных выборках каждое со своей точностью. Повторяем это m раз, получаем класс, состоящий из m*n уравнений регрессии. Вопрос был - будет ли адекватно ориентируясь на точность предсказаний всех этих m*n уравнений, просмотрев их глазами, выбрать из них некоторое количество наилучших с точки зрения точности классификации, и уже в дальнейшей внешней валидации смотреть performance не только первоначального уравнения, построенного на полном наборе данных, но и этих уравнений, сгенерированных в ходе кросс-проверки?
3) Какой бы Вы порекомендовали софт для кросс-проверок ЛР-моделей (пользуюсь SPSS, там кросс-проверка предусмотрена только для дискриминантного анализа, но не для ЛР, насколько я понимаю)? Если с 20-ю кросс-проверками и использованием генератора случайных чисел и selection variable в меню ЛР я еще справлюсь, то с 500-кратной будет туго smile.gif
Спасибо!

Сообщение отредактировал lab_owl - 13.03.2009 - 11:03
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
плав
сообщение 13.03.2009 - 19:11
Сообщение #13


Дух форума
*

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



Цитата(lab_owl @ 13.03.2009 - 00:24) *
Видимо, из-за моего неполного понимания матчасти получился misunderstanding.
1) Собственно "модель" - это набор переменных (видимо, именно так) или данное конкретное регрессионное уравнение с данными конкретными коэффициентами?
2) Я имел ввиду следующее - в ходе n-кратной кросс-проверки с одним и тем же набором переменных получается n регрессионных уравнений, которые предсказывают исходы в "независимых" проверочных выборках каждое со своей точностью. Повторяем это m раз, получаем класс, состоящий из m*n уравнений регрессии. Вопрос был - будет ли адекватно ориентируясь на точность предсказаний всех этих m*n уравнений, просмотрев их глазами, выбрать из них некоторое количество наилучших с точки зрения точности классификации, и уже в дальнейшей внешней валидации смотреть performance не только первоначального уравнения, построенного на полном наборе данных, но и этих уравнений, сгенерированных в ходе кросс-проверки?
3) Какой бы Вы порекомендовали софт для кросс-проверок ЛР-моделей (пользуюсь SPSS, там кросс-проверка предусмотрена только для дискриминантного анализа, но не для ЛР, насколько я понимаю)? Если с 20-ю кросс-проверками и использованием генератора случайных чисел и selection variable в меню ЛР я еще справлюсь, то с 500-кратной будет туго smile.gif
Спасибо!

Начну с конца. И не надо делать кросс-валидацию, лучше точнее специфицировать модель
Теперь к началу. Модель - это набор переменных и свзей между ними, влияющих на завиисмую переменную (распределенную определенным образом). Соответственно, Вашей задачей является найти значения коэффициентов в этой модели. Вы можете использовать два подхода - аналитический (обычное решение, базирующееся на предположениях о распределении заивисмой величины) или разные варианты повторного отбора. В первом случае Вы опять-таки аналитически очениваете неточность коэффициентов. Во втором, Вы строите много уравнений на немного отличающихся выборках и смотрите распределения коэффициентов. Соответственно оба метода решают одну и ту же задачу - оценку неточности коэффициентов регрессии. Соответственно отобрать часть уравнений в случае методов повторного отбора нельзя.
Можно сравнивать разные модели (например, какая модель будет давать меньший разброс процента правильных предсказаний), но, очевидно, что для построения распределения 20 уранений будет недостаточно.
В качестве софта однозначно R, там эти модели очень хорошо отлажены.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
lab_owl
сообщение 15.03.2009 - 03:58
Сообщение #14


Дух форума
*

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



Спасибо огромное!
Под R подразумевается вот это?
http://openwetware.org/wiki/R_Statistics
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Igoroshka
сообщение 15.03.2009 - 14:51
Сообщение #15


Дух форума
*

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



Цитата(lab_owl @ 15.03.2009 - 02:58) *
Спасибо огромное!
Под R подразумевается вот это?
http://openwetware.org/wiki/R_Statistics

Да.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 

5 страниц V   1 2 3 > » 
Добавить ответ в эту темуОткрыть тему