Мне нужно приписать отсутствующие значения. Мой набор данных содержит около 800 000 строк и 92 переменных. Я попробовал kNNImpute в пакете вменения в r, но похоже, что набор данных слишком велик. Любые другие пакеты/методы в R? Я бы предпочел не использовать среднее значение для замены отсутствующих значений. спасибоВменение в больших данных
ответ
1) Вы можете попробовать
library(sos)
findFn("impute")
Это показывает 400 матчей в 113 пакетов. Это показывает 400 совпадений в 113 пакетах: вы можете сузить его по вашим требованиям функции вменения.
2) Вы видели/попробовали Hmisc?
Описание: Библиотека Hmisc содержит множество функций, полезных для данных анализа, графики высокого уровня, полезные операции, функции для вычисления размера выборки и мощности, импортирование наборов данных, вменения отсутствующих значений, расширенные таблицы решений, переменных кластеризация, манипуляция символьной строкой, преобразование объектов S в код LaTeX и переменные перекодировки.
3) Возможно mice
Многократное вменение, используя Полностью Условный Спецификация (FCS) реализуемого алгоритма MICE. Каждая переменная имеет свою собственную модель вменения . Встроенные модели вменения приведены для непрерывных данных (прогнозное среднее соответствие, нормальное), двоичных данных (логистическая регрессия), неупорядоченных категориальных данных (многотомная логистика регрессии) и упорядоченных категориальных данных (пропорциональные коэффициенты). MICE может также передавать непрерывные двухуровневые данные (нормальная модель, панорамирование, переменные второго уровня ). Пассивное вменение может использоваться для поддержания согласованности между переменными . Для диагностики доступны различные диагностические схемы.
MICE - отличный пакет с мощными диагностическими инструментами и может выполнять работу в таком большом наборе данных.
О чем вы должны знать: MICE - S-L-O-W. Работая над таким большим набором данных, если вы намереваетесь использовать MICE, я настоятельно рекомендую вам использовать вычислительное облако - в противном случае вам лучше планировать себя заранее, потому что с матрицей 800k x ~ 100 может потребоваться несколько дней, чтобы выполнить работу, в зависимости от того, как вы укажете свою модель.
MICE предлагает вам несколько различных методов вменения, которые будут использоваться в соответствии с типом переменной, подлежащей вменению. Самый быстрый из них - прогностическое среднее соответствие. Первоначально ПММ предполагалось использовать для приведения в движение непрерывных данных, но, похоже, pmm достаточно гибкий, чтобы вмещать другие типы переменных. Взгляните на сообщение Пола Аллисона и ответ Стефа ван Буурена: http://statisticalhorizons.com/predictive-mean-matching
(Я вижу, что это трехлетняя должность, но я использую MICE и был поражен тем, насколько мощным - и часто медленным - это может быть!)
Существует даже представление задачи для вменения в CRAN: http://cran.r-project.org/web/views/OfficialStatistics.html Но, вероятно, этот вопрос лучше подходит для stats.exchange. ком?Возможно, вам также следует объяснить, каким образом ваш «набор данных слишком велик». – Beasterfield