Автор: Felix77 23.02.2020 - 09:34
Доброго времени суток!
Модель вроде бы адекватная (зависимая переменная - КИН), 3 предиктора - объем контраста, возраст, анемия (есть или нет). Но вот отношения шансов получаются какие-то очень высокие.
Intercept) Анемия1 возраст Объем.контраста
4.991232e-15 4.267894e+03 1.167138e+00 2.609896e+03
Автор: Felix77 23.02.2020 - 09:37
Регрессия.xlsx ( 14,25 килобайт )
: 252
Данные здесь
Автор: p2004r 23.02.2020 - 10:09
Цитата(Felix77 @ 23.02.2020 - 09:37)
Регрессия.xlsx ( 14,25 килобайт )
: 252Данные здесь
Внимательнее данные готовьте, тут шутников и так хоть ртом ешь.
Автор: Felix77 23.02.2020 - 10:37
regression.txt ( 4,58 килобайт )
: 337
Вот в текстовом варианте
Если я делаю что-то не так, так Вы скажите пожалуйста. Во всяком случае в 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
Автор: p2004r 23.02.2020 - 10:39
Цитата(Felix77 @ 23.02.2020 - 09:34)
Доброго времени суток!
Модель вроде бы адекватная (зависимая переменная - КИН), 3 предиктора - объем контраста, возраст, анемия (есть или нет). Но вот отношения шансов получаются какие-то очень высокие.
Intercept) Анемия1 возраст Объем.контраста
4.991232e-15 4.267894e+03 1.167138e+00 2.609896e+03
1. У вас разделены данные по КИН без всяких моделей и сомнений. "Просто глазами" разделяемы.
2. Предикторы мультиколлинеарны более чем допустимо, значит значения коэффициентов модели содержательно интерпретировать нельзя. Но судя по п.1 сильно не уменьшиться.
Цитата(Felix77 @ 23.02.2020 - 10:15)
А что не так то?
Ага
Автор: Felix77 23.02.2020 - 11:36
Коэффициенты корреляций между предикторами слабые - 0.14-0.36. И с чего вдруг мультиколлинеарность больше чем допустимо.
Не понимаю!
Автор: p2004r 23.02.2020 - 13:03
Цитата(Felix77 @ 23.02.2020 - 11:36)
Коэффициенты корреляций между предикторами слабые - 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
Автор: Felix77 23.02.2020 - 19:50
Цитата(p2004r @ 23.02.2020 - 17:03)
Код
> 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