Сокращение размеров в категориальных данных с пропущенными значениями - PullRequest
21 голосов
/ 15 мая 2010

У меня есть модель регрессии, в которой зависимая переменная является непрерывной, но девяносто процентов независимых переменных являются категориальными (как упорядоченными, так и неупорядоченными), и около тридцати процентов записей имеют пропущенные значения (что еще хуже, они пропускаются случайным образом без любой шаблон, то есть более сорока пяти процентов данных имеет как минимум одно пропущенное значение). Не существует априорной теории для выбора спецификации модели, поэтому одной из ключевых задач является уменьшение размерности перед запуском регрессии. Хотя мне известно о нескольких методах уменьшения размерности для непрерывных переменных, я не знаю аналогичной статической литературы для категориальных данных (за исключением, возможно, как части анализа соответствия, который в основном представляет собой вариацию анализа главных компонентов в таблице частот). Позвольте мне также добавить, что набор данных имеет средний размер 500000 наблюдений с 200 переменными. У меня два вопроса.

  1. Существует ли хороший статистический справочник по уменьшению размерности для категориальных данных наряду с надежным вменением (я думаю, что первая проблема - вменение, а затем уменьшение размеров)?
  2. Это связано с реализацией вышеуказанной проблемы. Ранее я широко использовал R и, как правило, широко использую функцию трансканирования и вменения для непрерывных переменных и использую вариацию метода дерева для вменения категориальных значений. У меня есть опыт работы с Python, поэтому, если для этого что-то будет хорошо, я буду его использовать. Любые указатели реализации в Python или R будут очень полезны. Спасибо.

Ответы [ 2 ]

20 голосов
/ 15 мая 2010

Что касается вменения категориальных данных, я бы предложил проверить пакет mice . Также взгляните на эту презентацию , которая объясняет, как она вменяет многомерные категориальные данные. Другой пакет для Mutliple Imputation неполных многомерных данных - Амелия . Амелия имеет некоторые ограниченные возможности для работы с порядковыми и номинальными переменными.

Что касается уменьшения размерности для категориальных данных (т. Е. Способ упорядочения переменных в однородные кластеры), я бы предложил метод Анализ множественной корреспонденции , который даст вам скрытые переменные, которые максимизируют однородность кластеры. Аналогично тому, что делается в Основном компонентном анализе (PCA) и Факторном анализе, решение MCA также может вращаться, чтобы увеличить простоту компонентов. Идея вращения - найти подмножества переменных, которые более четко совпадают с повернутыми компонентами. Это подразумевает, что максимизация простоты компонентов может помочь в интерпретации факторов и в кластеризации переменных. В R MCA методы включены в пакеты ade4 , MASS , FactoMineR и ca (как минимум). Что касается FactoMineR, вы можете использовать его через графический интерфейс, если добавите его как дополнительное меню к тем, которые уже предложены пакетом Rcmdr, установив RcmdrPlugin.FactoMineR

0 голосов
/ 28 октября 2018

45% данных имеют, по крайней мере, одно пропущенное значение. Это впечатляет. Я бы сначала посмотрел, если нет шаблона. Вы говорите, что они пропали без вести. Вы тестировали на MAR? Вы проверяли на MAR для подгрупп?

Не зная ваших данных, я сначала посмотрел бы, если бы не было случаев с большим количеством пропущенных значений, и выяснил бы, есть ли теоретические или практические причины для их исключения. Практические причины - получение данных. Это может быть связано с тем, что за ними плохо наблюдали, машина, производящая данные, не вращалась все время, опрос охватывал не все страны и т. Д. Респонденты на пенсии. Таким образом, они должны быть (системные) отсутствуют. Вы не можете заменить эти данные некоторым вычисленным значением.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...