Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Переменные логистического уравнения
Форум врачей-аспирантов > Разделы форума > Медицинская статистика
_alena_
здравствуйте. скажите как можно обойти следующую ситуацию: исследовали переменные и часть из них вошли в уравнение логистической модели. а что если в каком то из исследований мы не можем задать какую то переменную . как быть в такой ситуации?
p2004r
Цитата(_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))
_alena_
наверно не совсем корректно обьяснила - уже модель построена и в нее вошли скажем 5 переменных из 20. а теперь для проверки работы модели мы не знаем по каким то причинам какоето одно из этих 5 значений.
p2004r
Цитата(_alena_ @ 13.05.2012 - 21:54) *
наверно не совсем корректно обьяснила - уже модель построена и в нее вошли скажем 5 переменных из 20. а теперь для проверки работы модели мы не знаем по каким то причинам какоето одно из этих 5 значений.


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


имея в одном исследовании закон распределения для предикторов и отсутствующие данные по предикторам во втором исследовании можно и нужно получить _оценки_ приличной модели. сделать это крайне просто, по случаю с пропущенным значением предиктора считается сразу много случаев в которых подставлены все известные предикторы, а для неизвестного(ных) делается перевыборка из данных исследования в котором была получена модель. на выходе вместо вероятности исхода будем иметь распределение вероятности исхода.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.