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

В частности, я хочу погрузиться в подходы на основе ML для вменения пропущенных значений, например. используя KNN или кластеризацию K-средних. Соответствующая информация взята из главы 4 García et al. [1], если не указано иное.

Категоризация отсутствующих значений

При рассмотрении пропущенных значений можно приблизительно различать переменные Пропущенные случайно (MAR) и Пропущенные неслучайно (MNAR).

Давайте рассмотрим разделение входных переменных X на наблюдаемую и отсутствующую части. Довольно прямой и простой взгляд на MAR состоит в том, что отсутствующие переменные могут (но не обязательно) зависеть от доступных данных, но не зависят от других отсутствующих атрибутов.

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

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

Использование методов машинного обучения для импутации данных

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

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

Вменение K-ближайшего соседа

Вероятно, одной из самых простых стратегий импутации данных на основе ML является использование импутации K-ближайших соседей (KNNI). Как следует из названия, он использует модель KNN для прогнозирования пропущенных значений.

Поэтому важно (1) определить количество соседей k для рассмотрения и (2) выбрать стратегию для окончательного предсказания значения. Количество рассматриваемых соседей зависит от различных характеристик набора данных (например, мы будем рассматривать меньшее количество соседей при работе с небольшим набором данных) и, следовательно, должно быть рассчитано для каждого набора данных отдельно.

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

Идея KNNI была расширена до взвешенного вменения K-ближайших соседей (WKNNI). В качестве расширения алгоритм рассматривает расстояние соседа до соответствующей точки данных для вменения (например, ближайший сосед «более» важен для вменения, чем k-й ближайший сосед) [2].

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

Импутация кластеризации K-средних (KMI)

В кластеризации K-средних входные данные делятся на kкластеров. Затем центроид кластера каждого кластера рассчитывается по средним значениям всех элементов в кластере. Цель состоит в том, чтобы иметь похожие точки данных в одном и том же кластере, тем самым сводя к минимуму несходство внутри кластера (сумма различий между точками данных в кластере и центроиде).

Мы делим набор данных на две части, а именно одну со всеми полными точками данных и другую, которая содержит выборки с пропущенными значениями. При рассмотрении набора полных точек данных KMI начинает с объявления kэлементов центроидами.

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

Затем добавляется оставшийся раздел данных элементов с отсутствующими значениями, и каждая точка данных назначается кластеру. Чтобы найти значение вменения для выборки, можно выбрать произвольный алгоритм ближайшего соседа. Мы определяем все элементы в одном кластере как ближайших соседей.

Этот подход также был распространен на нечеткую кластеризацию K-средних, где узел может принадлежать (по крайней мере частично) нескольким кластерам одновременно. Для получения дополнительной информации см. Li et al. [3].

Другие методы

Существует множество других методов вменения данных на основе ML, например. перечисленные ниже. Если интересно, пожалуйста, обратитесь к соответствующим документам.

  • Вменение разложения по единственному значению [2]
  • Освещение событий [4]
  • Вменение локального метода наименьших квадратов [5]

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

[1] Гарсия и др. Предварительная обработка данных в Data Mining. Справочная библиотека интеллектуальных систем, 2015 г.

[2] Троянская и др. Методы оценки недостающих значений для ДНК-микрочипов.Биоинформатика. 17/6: 520–525. 2001.

[3] Ли и др. На пути к вменению отсутствующих данных: исследование метода нечеткой кластеризации K-средних. Грубые наборы данных и текущие тенденции в области вычислительной техники. 2004 г.

[4] Вонг и др. Синтез статистических данных из неполных смешанных данных.IEEE Trans Pattern Anal Mach Intell. 9/6: 796–805. 1987.

[5] Ким и др. Оценка недостающих значений для данных экспрессии генов ДНК-микрочипов: локальное вменение методом наименьших квадратов. Биоинформатика. 21/2: 187–198. 2005.