![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 1219 Регистрация: 13.01.2008 Из: Челябинск Пользователь №: 4704 ![]() |
Впервые столкнулся с ситуацией, когда отдельные показатели высоко статистически значимы в отдельных моделях бинарной регрессии. Однако при объединении в множественной регрессии они становятся резко незначимыми (р порядка 0,99), хотя сама модель значима и обладает 100%-ной чувствительностью и специфичностью. Для файла примера выбрал только 2 показателя - систолическое артериальное давление и пульс. Как быть? Как показать такую модель и как ей верить?
Прикрепленные файлы
|
|
![]() |
![]() |
![]() |
![]()
Сообщение
#2
|
|
Группа: Пользователи Сообщений: 1219 Регистрация: 13.01.2008 Из: Челябинск Пользователь №: 4704 ![]() |
Благодарю откликнувшихся!
>p2004r Это задача множественной логистической регрессии. Она неоднократно обсуждалась на форуме, поэтому я и не стал подробно описывать данные. Задача: найти зависимость бинарного отклика "смерть" одновременно от двух количественных показателей. В R видел разные варианты, но, возможно, проще через обобщённую линейную модель с биномиальным откликом и связующей функцией logit. Интересно, что для этого примера выдаст R, но я быстро в ней не сработаю:(( В программе которой пользовался получил следующие результаты. Модель целиком: отношение правдоподобия = 70,852; df=2; Р<0,0001. Параметры модели: Пульс. Коэффициент = 5,6651 +/- 1167,5605; Р=0,9961; САД. Коэффициент = -3,6163 +/- 751,7844; Р=0,9962; Константа=-246,7322 При использовании бутстрепа стандартные ошибки коэффициентов регрессии получаются намного меньше, но всё равно это намного хуже по сравнению с результатами бинарных логистических регрессий по отдельным параметрам. >DrgLena. Вероятно так и есть, что-то там выродилось... В принципе все показатели (их у меня 5) количественные - можно было и дискриминантную функцию построить. Но хотелось логистическую модель, чтобы выдавала именно вероятности летального исхода. У нас данных много - в динамике до исхода: выздоровление (перевод из реанимации) или смерть. Я взял данные на момент исхода. Хотел построить модель и посмотреть её прогнозные свойства на тех же пациентах, но с использованием данных, собранных за сутки до исхода, за 2 суток, за 7 и т.п. Т.е хотел посмотреть как далеко она сохранит свою высокую диагностическую эффективность. В идеале хотели построить интегральную шкалу тяжести состояния пациента, по которой можно в динамике оценивать его состояние. А на практике врачи ориентируются именно по тому принципу как вы описали, т.е. по выходу отдельных показателей из коридора условной нормы. Но если использовать отдельные показатели - не знаю как объединить их в единую схему??? |
|
![]() |
![]() |
![]()
Сообщение
#3
|
|
![]() Группа: Пользователи Сообщений: 1091 Регистрация: 26.08.2010 Пользователь №: 22699 ![]() |
Благодарю откликнувшихся! >p2004r Это задача множественной логистической регрессии. Она неоднократно обсуждалась на форуме, поэтому я и не стал подробно описывать данные. Задача: найти зависимость бинарного отклика "смерть" одновременно от двух количественных показателей. В R видел разные варианты, но, возможно, проще через обобщённую линейную модель с биномиальным откликом и связующей функцией logit. Интересно, что для этого примера выдаст R, но я быстро в ней не сработаю:(( В программе которой пользовался получил следующие результаты. Модель целиком: отношение правдоподобия = 70,852; df=2; Р<0,0001. Параметры модели: Пульс. Коэффициент = 5,6651 +/- 1167,5605; Р=0,9961; САД. Коэффициент = -3,6163 +/- 751,7844; Р=0,9962; Константа=-246,7322 При использовании бутстрепа стандартные ошибки коэффициентов регрессии получаются намного меньше, но всё равно это намного хуже по сравнению с результатами бинарных логистических регрессий по отдельным параметрам. это буквально пара строк, Вы совершенно зря не пытаетесь использовать R Код > glm(data$dead ~ data$hr + data$ad, family=binomial(link = "logit")) Call: glm(formula = data$dead ~ data$hr + data$ad, family = binomial(link = "logit")) Coefficients: (Intercept) data$hr data$ad -274.905 6.304 -4.021 Degrees of Freedom: 51 Total (i.e. Null); 49 Residual Null Deviance: 70.85 Residual Deviance: 1.278e-08 AIC: 6 Предупреждения 1: glm.fit: алгоритм не сошелся 2: glm.fit: возникли подогнанные вероятности 0 или 1 anova(glm(data$dead ~ data$hr + data$ad, family=binomial(link = "logit"))) Analysis of Deviance Table Model: binomial, link: logit Response: data$dead Terms added sequentially (first to last) Df Deviance Resid. Df Resid. Dev NULL 51 70.852 data$hr 1 50.118 50 20.734 data$ad 1 20.734 49 0.000 Предупреждения 1: glm.fit: алгоритм не сошелся 2: glm.fit: возникли подогнанные вероятности 0 или 1 > summary(glm(data$dead ~ data$hr + data$ad, family=binomial(link = "logit"))) Call: glm(formula = data$dead ~ data$hr + data$ad, family = binomial(link = "logit")) Deviance Residuals: Min 1Q Median 3Q Max -6.880e-05 -2.100e-08 -2.100e-08 2.100e-08 7.463e-05 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) -274.905 425613.449 -0.001 0.999 data$hr 6.304 3173.929 0.002 0.998 data$ad -4.021 2071.585 -0.002 0.998 (Dispersion parameter for binomial family taken to be 1) Null deviance: 7.0852e+01 on 51 degrees of freedom Residual deviance: 1.2781e-08 on 49 degrees of freedom AIC: 6 Number of Fisher Scoring iterations: 25 Предупреждения 1: glm.fit: algorithm did not converge 2: glm.fit: fitted probabilities numerically 0 or 1 occurred PS по моему обычный lda в этой ситуации даст великолепную модель для прогноза Сообщение отредактировал p2004r - 27.09.2011 - 21:54 ![]() |
|
![]() |
![]() |
![]() ![]() |