Вменяя недостающее наблюдение - PullRequest
0 голосов
/ 20 февраля 2019

Я анализирую набор данных с более чем 450 тыс. Строк, около 100 тыс. Строк в одном из столбцов, на которые я смотрю (pa1min_), имеет значения NA из-за отсутствия ответов и других случайных факторов.В этом столбце указано время тренировки в минутах.

Я не думаю, что имеет смысл заполнять значения NA средним или медианным значением, учитывая, что это почти четверть данных и смещения, которые могут потенциальноСоздайте.Я хотел бы приписать недостающие наблюдения линейной регрессии.Однако я получаю сообщение об ошибке:

Error: vector memory exhausted (limit reached?)
In addition: There were 50 or more warnings (use warnings() to see the first 50)

Это мой код:

# imputing using multiple imputation deterministic regression
imp_model <- mice(brfss2013, method="norm.predict", m=1)
# store data
data_imp <- complete(imp_model)
# multiple imputation
imp_model <- mice(brfss2013, m=5)
# building predictive mode
fit <- with(data=imp_model, lm(y ~ x + z))
# combining results
combined <- pool(fit)

Вот ссылка на данные (сжатая) Данные

Примечание: я действительно хочу заполнить вменение для одного столбца ... другие столбцы в кадре данных представляют собой смесь символов, целых чисел и факторов, некоторые из которых имеют более 2 уровней.

1 Ответ

0 голосов
/ 20 февраля 2019

Как и в случае с MrFlick , у вас недостаточно оперативной памяти.

Попробуйте запустить алгоритм на 1% ваших данных, и если вам это удастся, попробуйте проверить пакет bigmemory для выполнения вычислений на диске.

Iтакже рекомендуем вам проверить, действительно ли подходящая модель для ваших данных хороша без байесовского вменения , потому что сам факт попытки получить идеальные данные не может быть намного более выгодным, чем просто вменение среднего / медиана / первый /последние значения в ваших данных.

Надеюсь, это поможет.

...