Очень большие Odds ratio в логистической регрессии |
Здравствуйте, гость ( Вход | Регистрация )
Очень большие Odds ratio в логистической регрессии |
23.02.2020 - 09:34
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 10 Регистрация: 30.04.2018 Пользователь №: 31313 |
Доброго времени суток!
Модель вроде бы адекватная (зависимая переменная - КИН), 3 предиктора - объем контраста, возраст, анемия (есть или нет). Но вот отношения шансов получаются какие-то очень высокие. Intercept) Анемия1 возраст Объем.контраста 4.991232e-15 4.267894e+03 1.167138e+00 2.609896e+03 |
|
23.02.2020 - 09:37
Сообщение
#2
|
|
Группа: Пользователи Сообщений: 10 Регистрация: 30.04.2018 Пользователь №: 31313 |
|
|
23.02.2020 - 10:09
Сообщение
#3
|
|
Группа: Пользователи Сообщений: 1091 Регистрация: 26.08.2010 Пользователь №: 22699 |
Внимательнее данные готовьте, тут шутников и так хоть ртом ешь. |
|
23.02.2020 - 10:15
Сообщение
#4
|
|
Группа: Пользователи Сообщений: 10 Регистрация: 30.04.2018 Пользователь №: 31313 |
А что не так то?
|
|
23.02.2020 - 10:37
Сообщение
#5
|
|
Группа: Пользователи Сообщений: 10 Регистрация: 30.04.2018 Пользователь №: 31313 |
regression.txt ( 4,58 килобайт )
Кол-во скачиваний: 336
Вот в текстовом варианте Если я делаю что-то не так, так Вы скажите пожалуйста. Во всяком случае в R я данные загружал и вычисления проводил. Получилось вот такое Call: glm(formula = КИН ~ Объем.контраста + Анемия + возраст, family = "binomial", data = reg) Deviance Residuals: Min 1Q Median 3Q Max -1.68285 -0.00979 -0.00186 -0.00029 2.18472 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) -32.93109 10.07242 -3.269 0.001078 ** Объем.контраста 7.86707 2.18889 3.594 0.000326 *** Анемия 8.35888 2.77845 3.008 0.002626 ** возраст 0.15455 0.07788 1.984 0.047210 * --- Signif. codes: 0 ?***? 0.001 ?**? 0.01 ?*? 0.05 ?.? 0.1 ? ? 1 (Dispersion parameter for binomial family taken to be 1) Null deviance: 220.410 on 300 degrees of freedom Residual deviance: 20.614 on 297 degrees of freedom AIC: 28.614 Number of Fisher Scoring iterations: 10 > exp(coef(logit)) (Intercept) Объем.контраста Анемия возраст 4.991232e-15 2.609896e+03 4.267894e+03 1.167138e+00 |
|
23.02.2020 - 10:39
Сообщение
#6
|
|
Группа: Пользователи Сообщений: 1091 Регистрация: 26.08.2010 Пользователь №: 22699 |
Доброго времени суток! Модель вроде бы адекватная (зависимая переменная - КИН), 3 предиктора - объем контраста, возраст, анемия (есть или нет). Но вот отношения шансов получаются какие-то очень высокие. Intercept) Анемия1 возраст Объем.контраста 4.991232e-15 4.267894e+03 1.167138e+00 2.609896e+03 1. У вас разделены данные по КИН без всяких моделей и сомнений. "Просто глазами" разделяемы. 2. Предикторы мультиколлинеарны более чем допустимо, значит значения коэффициентов модели содержательно интерпретировать нельзя. Но судя по п.1 сильно не уменьшиться. А что не так то? Ага |
|
23.02.2020 - 11:36
Сообщение
#7
|
|
Группа: Пользователи Сообщений: 10 Регистрация: 30.04.2018 Пользователь №: 31313 |
Коэффициенты корреляций между предикторами слабые - 0.14-0.36. И с чего вдруг мультиколлинеарность больше чем допустимо.
Не понимаю! |
|
23.02.2020 - 13:03
Сообщение
#8
|
|
Группа: Пользователи Сообщений: 1091 Регистрация: 26.08.2010 Пользователь №: 22699 |
Коэффициенты корреляций между предикторами слабые - 0.14-0.36. И с чего вдруг мультиколлинеарность больше чем допустимо. Не понимаю! Код > car::vif(modkim) Анемия Объем.контраста возраст 5.584514 5.157870 1.400406 Generally, VIF for an X variable should be less than 4 in order to be accepted as not causing multi-collinearity. The cutoff is kept as low as 2, if you want to be strict about your X variables. ЗЫ Код > glm(КИН ~ Объем.контраста + возраст , kinm, family=binomial(link="logit"))
Call: glm(formula = КИН ~ Объем.контраста + возраст, family = binomial(link = "logit"), data = kinm) Coefficients: (Intercept) Объем.контраста возраст -16.17699 4.67647 0.07174 Degrees of Freedom: 300 Total (i.e. Null); 298 Residual Null Deviance: 220.4 Residual Deviance: 60.04 AIC: 66.04 > car::vif(glm(КИН ~ Объем.контраста + возраст , kinm, family=binomial(link="logit"))) Объем.контраста возраст 1.014424 1.014424 Сообщение отредактировал p2004r - 23.02.2020 - 13:07 |
|
23.02.2020 - 19:50
Сообщение
#9
|
|
Группа: Пользователи Сообщений: 10 Регистрация: 30.04.2018 Пользователь №: 31313 |
Код > car::vif(modkim) Анемия Объем.контраста возраст 5.584514 5.157870 1.400406 Generally, VIF for an X variable should be less than 4 in order to be accepted as not causing multi-collinearity. The cutoff is kept as low as 2, if you want to be strict about your X variables. ЗЫ Код > glm(КИН ~ Объем.контраста + возраст , kinm, family=binomial(link="logit")) Call: glm(formula = КИН ~ Объем.контраста + возраст, family = binomial(link = "logit"), data = kinm) Coefficients: (Intercept) Объем.контраста возраст -16.17699 4.67647 0.07174 Degrees of Freedom: 300 Total (i.e. Null); 298 Residual Null Deviance: 220.4 Residual Deviance: 60.04 AIC: 66.04 > car::vif(glm(КИН ~ Объем.контраста + возраст , kinm, family=binomial(link="logit"))) Объем.контраста возраст 1.014424 1.014424 А почему получается такой логит при подстановке значений? > x<-data.frame(возраст=60,Объем.контраста=3) > p<-predict(logit,x) > p 1 2.157031 |
|