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

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

 
Добавить ответ в эту темуОткрыть тему
> Переменные логистического уравнения
_alena_
сообщение 13.05.2012 - 21:34
Сообщение #1





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



здравствуйте. скажите как можно обойти следующую ситуацию: исследовали переменные и часть из них вошли в уравнение логистической модели. а что если в каком то из исследований мы не можем задать какую то переменную . как быть в такой ситуации?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 13.05.2012 - 21:42
Сообщение #2





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



Цитата(_alena_ @ 13.05.2012 - 21:34) *
здравствуйте. скажите как можно обойти следующую ситуацию: исследовали переменные и часть из них вошли в уравнение логистической модели. а что если в каком то из исследований мы не можем задать какую то переменную . как быть в такой ситуации?


Amelia, mitools, mix это пакеты для импутации пропущенных значений в R.

вот такой пример гуглится

Код
titanic <-
read.table("http://lib.stat.cmu.edu/S/Harrell/data/ascii/titanic.txt",
sep=',', header=TRUE)

set.seed(4321)

titanic$sex[sample(nrow(titanic), 10)] <- NA
titanic$pclass[sample(nrow(titanic), 10)] <- NA
titanic$survived[sample(nrow(titanic), 10)] <- NA

library(Amelia) # generate multiple imputations
library(mitools) # for MIextract()
library(mix) # for mi.inference()

titanic.amelia <- amelia(subset(titanic,
select=c('survived','pclass','sex','age')),
                         m=10, noms=c('survived','pclass','sex'),
emburn=c(500,500))

allimplogreg <- lapply(titanic.amelia$imputations,
function(x){glm(survived ~ pclass + sex + age, family=binomial, data = x)})

mice.betas.glm <- MIextract(allimplogreg, fun=function(x){coef(x)})
mice.se.glm <- MIextract(allimplogreg, fun=function(x){sqrt(diag(vcov(x)))})

as.data.frame(mi.inference(mice.betas.glm, mice.se.glm))

# Or using only mitools for pooled inference

betas <- MIextract(allimplogreg, fun=coef)
vars <- MIextract(allimplogreg, fun=vcov)
summary(MIcombine(betas,vars))


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
_alena_
сообщение 13.05.2012 - 21:54
Сообщение #3





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



наверно не совсем корректно обьяснила - уже модель построена и в нее вошли скажем 5 переменных из 20. а теперь для проверки работы модели мы не знаем по каким то причинам какоето одно из этих 5 значений.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 13.05.2012 - 23:07
Сообщение #4





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



Цитата(_alena_ @ 13.05.2012 - 21:54) *
наверно не совсем корректно обьяснила - уже модель построена и в нее вошли скажем 5 переменных из 20. а теперь для проверки работы модели мы не знаем по каким то причинам какоето одно из этих 5 значений.


именно для пропущенных значений импутацию и делают. и если она срабатывает для обучения, то для предикта уж тем более подойдет.


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
DrgLena
сообщение 14.05.2012 - 10:23
Сообщение #5





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



Я так поняла ситуацию, в одном исследовании получена приличная модель, которую хотят использовать для прогноза на другой группе больных, но в этой группе отсутствуют данные по одному их предикторов, например у них не была сделана биопсия, которая была в двух категориях (высокозлокачественные клетки или не очень). При такой ситуации ничего нельзя импутировать.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 14.05.2012 - 11:44
Сообщение #6





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



Цитата(DrgLena @ 14.05.2012 - 10:23) *
Я так поняла ситуацию, в одном исследовании получена приличная модель, которую хотят использовать для прогноза на другой группе больных, но в этой группе отсутствуют данные по одному их предикторов, например у них не была сделана биопсия, которая была в двух категориях (высокозлокачественные клетки или не очень). При такой ситуации ничего нельзя импутировать.


имея в одном исследовании закон распределения для предикторов и отсутствующие данные по предикторам во втором исследовании можно и нужно получить _оценки_ приличной модели. сделать это крайне просто, по случаю с пропущенным значением предиктора считается сразу много случаев в которых подставлены все известные предикторы, а для неизвестного(ных) делается перевыборка из данных исследования в котором была получена модель. на выходе вместо вероятности исхода будем иметь распределение вероятности исхода.

Сообщение отредактировал p2004r - 14.05.2012 - 12:26


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

Добавить ответ в эту темуОткрыть тему