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

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

4 страниц V  « < 2 3 4  
Добавить ответ в эту темуОткрыть тему
> Логистическая регрессия, помогите понять
salm
сообщение 12.08.2022 - 12:05
Сообщение #46





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



Здравставуйте.
Скажите пожалуйста, вот у меня есть однофакторная модель, из нее мне на данном этапе нужен коэффициент, значимый, из которого я могу вычислить ОШ на исход и сказать - данный фактор значимо влиял на вероятность исхода. Это я понимаю... Далее, я добавляю в модель второй фактор, их коэффициенты также значимо отличны от нуля (так ведь), и они независимо (ну в медицине так это понимают) влияют на вероятность возникновения исхода.
Я же правильно понимаю: при построении модели для факторов вычисляются такие коэффициенты, с которыми каждый случай в выборке будет иметь наиболее близкую вероятность к истинному исходу...
А вот мне нужно следующее: я хочу сказать: фактор 1 (традиционный) + фактор 2 (новый) = это первая модель. А вторая модель = это фактор 1+ фактор 3. И я хочу сказать, что 2я модель (включающая фактор 3) лучше чем первая модель объясняет исход. Ну то есть фактор 3 лучше в плане объяснения вероятности в совокупности с фактором 1) Я видела в этом случае либо сравнивают площади под кривыми для регрессии, либо индекс реклассификации (NRI и IDI)
Мой вопрос - как мне сравнить AUC для регрессионныхых моделей? В моем стат пакете сравнение только для РОК моделей
Индексы реклассификации я нашла статьи, но они мне не поддаются)) пока...

Сообщение отредактировал salm - 12.08.2022 - 12:11
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
100$
сообщение 12.08.2022 - 13:03
Сообщение #47





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



Цитата
Мой вопрос - как мне сравнить AUC?


Идейно там все просто: разность эмпирических AUC делится на стандартную ошибку этой разности. Полученное z имеет стандартное нормальное распределение.

Вот формулы: тут

Или воспользоваться функцией roc.test() из пакета {pROC}

Можно еще с помощью пакета {boruta} построить график относительной важности предикторов и понять, какой предиктор сильнее.
Достоинством этого подхода считаю то, что изучается совместное распределение влияния факторов, а не их влияние по отдельности.

Сообщение отредактировал 100$ - 12.08.2022 - 13:10
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
ИНО
сообщение Вчера, 4:02
Сообщение #48





Группа: Пользователи
Сообщений: 52
Регистрация: 1.06.2022
Из: Донецк
Пользователь №: 39632



Если мне не изменяет память roc.test() использует статистику Вилкоксона-Манна-Уитни. Но! Сравнивать ROC, построенные по обучающей выборке для селекции оптимальной модели контрпродуктивно. Со случайным лесом в этом плане несколько проще, там можно строить эти кривые, используя OOB. В случае с логистической регрессией поможет только кроссвалидация или проверочная выборка. Но почему Вы не хотите использовать внутренние критерии качества модели со штрафом на сложность,такие как AIC, BIC или AICc? В настоящее время это самый популярный подход.

Помимо Боруты есть тьма тьмущая алгоритмов ранжировки важности переменных при помощи случайных лесов (как простой, так и с автоматической селекцией значимых). Для простой ранжировки мне понравился пакет permimp, там есть настройка параметра "условности" (в смысле важности фактора при условии включении в модель вместе со всеми остальными, а не только самого по себе), которая помогает б. м. эффективно разделять скорректированные предикторы, выбирая из них наиболее важный, и отбрасывая прочие (Борута этого не может). Однако лично меня настораживает селекция переменных при помощи леса для последующей использовании в логистической регрессии. Все-таки это принципиально разные методы, и не факт, что тот фактор, который лучше других работает в одном из них будет столь же хорош во втором. К тому же, у ТС всего три потенциальных предиктора, и, думается, сильно больше наблюдений, а не наоборот, потому особой надобности углубляться в леса нет. А то они нынче так бурно поразрастались, что и заблудиться недолго.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
salm
сообщение Вчера, 11:18
Сообщение #49





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



Цитата(100$ @ 12.08.2022 - 13:03) *
Идейно там все просто: разность эмпирических AUC делится на стандартную ошибку этой разности. Полученное z имеет стандартное нормальное распределение.

Вот формулы: тут

Или воспользоваться функцией roc.test() из пакета {pROC}

Можно еще с помощью пакета {boruta} построить график относительной важности предикторов и понять, какой предиктор сильнее.
Достоинством этого подхода считаю то, что изучается совместное распределение влияния факторов, а не их влияние по отдельности.

Ооо пасиба!! Ща разберусь
Спасибо огромное
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
100$
сообщение Вчера, 17:06
Сообщение #50





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



Цитата(ИНО @ 13.08.2022 - 04:02) *
Если мне не изменяет память roc.test() использует статистику Вилкоксона-Манна-Уитни.


Разработчики сообщают буквально следующее:

Description
This function compares two correlated (or paired) or uncorrelated (unpaired) ROC curves. Delong
and bootstrap methods test for a difference in the (partial) AUC of the ROC curves. The Venka-
traman method tests if the two curves are perfectly superposed. The sensitivity and specificity
methods test if the sensitivity (respectively specificity) of the ROC curves are different at the given
level of specificity (respectively sensitivity). Several syntaxes are available: two object of class roc
(which can be AUC or smoothed ROC), or either three vectors (response, predictor1, predictor2) or
a response vector and a matrix or data.frame with two columns (predictors).

Usage

roc.test(roc1, roc2, method=c("delong", "bootstrap","venkatraman", "sensitivity", "specificity"), ...)

Не знаю, как все это разнообразие свести к Манну и Уитни.

А у вас есть под рукой базовая статья Delong и соавт. (1988), чтобы ее сюда выложить? А то я на JSTOR'е так и не сумел на нее полюбоваться: видит око, да зуб неймет.



Цитата
Но! Сравнивать ROC, построенные по обучающей выборке для селекции оптимальной модели контрпродуктивно. Со случайным лесом в этом плане несколько проще, там можно строить эти кривые, используя OOB. В случае с логистической регрессией поможет только кроссвалидация или проверочная выборка.


Теоретически - ничего подобного: сажается лес логистических регрессий и на основе подпространств Хо (Тин Кам Хо, 1988) оценивается относительная важность предикторов. У меня просто руки не доходят сделать это в своих Экселевских самоделках. А где это реализовано в существующем ПО (если реализовано вообще) - не знаю.

Цитата
Но почему Вы не хотите использовать внутренние критерии качества модели со штрафом на сложность,такие как AIC, BIC или AICc? В настоящее время это самый популярный подход.


Патамушта мы хотим не просто констатировать, что один AIC на глаз меньше другого, а хотим располагать результатами формального теста, такого как обсуждаемый тест на равенство AUC.

Цитата
Помимо Боруты есть тьма тьмущая алгоритмов ранжировки важности переменных при помощи случайных лесов (как простой, так и с автоматической селекцией значимых). Для простой ранжировки мне понравился пакет permimp, там есть настройка параметра "условности" (в смысле важности фактора при условии включении в модель вместе со всеми остальными, а не только самого по себе), которая помогает б. м. эффективно разделять скорректированные предикторы, выбирая из них наиболее важный, и отбрасывая прочие (Борута этого не может). Однако лично меня настораживает селекция переменных при помощи леса для последующей использовании в логистической регрессии. Все-таки это принципиально разные методы, и не факт, что тот фактор, который лучше других работает в одном из них будет столь же хорош во втором. К тому же, у ТС всего три потенциальных предиктора, и, думается, сильно больше наблюдений, а не наоборот, потому особой надобности углубляться в леса нет. А то они нынче так бурно поразрастались, что и заблудиться недолго.


Очень согласен. Теорию про пермутированные важности здесь Огурцов уже выкладывал, осталось лишь разобраться с пакетами, в которых это есть. Борута для меня просто как точка отсчета.


Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
100$
сообщение Вчера, 17:12
Сообщение #51





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



Цитата(salm @ 13.08.2022 - 11:18) *
Ща разберусь


Да уж, постарайтесь. А ежели сумеете все это проделать руками - готов снять перед вами шляпу прямо сейчас.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
ИНО
сообщение Сегодня, 1:31
Сообщение #52





Группа: Пользователи
Сообщений: 52
Регистрация: 1.06.2022
Из: Донецк
Пользователь №: 39632



Цитата(100$ @ 13.08.2022 - 17:06) *
А у вас есть под рукой базовая статья Delong и соавт. (1988), чтобы ее сюда выложить? А то я на JSTOR'е так и не сумел на нее полюбоваться: видит око, да зуб неймет.


До этого момента не было, теперь - есть. Вы что, не знаете про sci-hub?
Особо не вникал, но уяснил, что метод Делонга опирается на Манна-Уитни. Хотя в руководстве к pROC действительно об этом не упоминается. Значит, это я читал в руководстве к какому-то иному пакету со схожими функциями.

Цитата
Теоретически - ничего подобного: сажается лес логистических регрессий и на основе подпространств Хо (Тин Кам Хо, 1988) оценивается относительная важность предикторов.

Ух, какие дебри! Увы, понятия не имею, что такое пространства Хо, и как из регрессионных прямых (кривых) можно вырастить лес (думал, для этого деревья нужны). Однако в обычной логистической регрессии, чтобы ранжировать предикторы по важности достаточно взглянуть на стандартизированные коэффициенты с ДИ. Именно с этого предлагаю начать ТС, а побуждать в разнообразных лесах она еще успеет.

Сообщение отредактировал ИНО - Сегодня, 1:33
Прикрепленные файлы
Прикрепленный файл  Делонг___сравнение_AUC.pdf ( 996,08 килобайт ) Кол-во скачиваний: 2
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
ИНО
сообщение Сегодня, 1:40
Сообщение #53





Группа: Пользователи
Сообщений: 52
Регистрация: 1.06.2022
Из: Донецк
Пользователь №: 39632



Цитата(salm @ 13.08.2022 - 11:18) *
Ооо пасиба!! Ща разберусь

Сниму шляпу если Вы будете успевать об этом читать (и понимать) быстрее, чем буржуи с китайцами будут об этом писать. Чуть ли не каждый месяц выходят по статье с категоричным утверждением: "Все предыдущие методы - фуфло, а вот мой новый - конфета". И если даже в конце предлагаться программный продукт, то дабы протестировать его полноценно в сравнении с конкурирующими подходами нужно неслабое железо, потому что случайные леса - один из самых вычислительно затратных методов машинного обучения. А если код на R, то конкретно на моем компьютере с большим набором данных можно перестановочную важность до старости считать. Надеюсь, Ваш сильно мощнее, а свободного времени сильно больше.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 

4 страниц V  « < 2 3 4
Добавить ответ в эту темуОткрыть тему