Секреты науки о данных

Руководство по обработке отсутствующих значений в науке о данных

Когда использовать вменение и интерполяцию

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

Типы отсутствующих данных:

Д.Б. Рубин (1976) разделил проблемы с недостающими данными на три категории. В его теории есть вероятность того, что каждая точка данных будет пропущена. Процесс, определяющий эти вероятности, называется механизмом отсутствия данных или механизмом ответа. Модель процесса называется моделью отсутствующих данных или моделью ответа.

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

  • Полностью отсутствует случайно (MCAR)

Если вероятность пропуска одинакова для всех случаев, то считается, что данные отсутствуют полностью случайно (MCAR). Это фактически означает, что причины отсутствия данных не связаны с данными. Можно безопасно игнорировать многие сложности, возникающие из-за отсутствия данных, помимо очевидной потери информации. Большинство простых исправлений работают только при ограниченном и часто нереалистичном предположении MCAR.

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

Случайно пропавшие без вести (MAR)

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

Пример: Предположим, что некоторая информация о доходах домохозяйства отсутствует. В случае MAR, потеря является случайной в пределах подгрупп других наблюдаемых переменных. Например, предположим, что вы также собрали данные о профессии каждого субъекта в вопроснике и пришли к выводу, что менеджеры, VIP-персоны и т. Д., Скорее всего, не делят свой доход, тогда в подгруппах профессии отсутствие информации является случайным.

  • Не пропадают случайно (NMAR)

Если ни MCAR, ни MAR не выполняются, то мы говорим о пропавших без вести не случайно (MNAR). В литературе также можно встретить термин NMAR (не пропущенный случайно) для той же концепции. MNAR означает, что вероятность пропажи варьируется по неизвестным нам причинам. MNAR включает возможность того, что шкала дает больше пропущенных значений для более тяжелых объектов (как указано выше), что может быть трудно распознать и обработать. Пример MNAR в исследовании общественного мнения возникает, если те, кто придерживается более слабого мнения, реагируют реже. MNAR - самый сложный случай. Стратегии обработки MNAR состоят в том, чтобы найти больше данных о причинах отсутствия или выполнить анализ «что, если», чтобы увидеть, насколько чувствительны результаты при различных сценариях.

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

Способы работы с отсутствующими значениями

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

Простой способ:

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

Возможен только в том случае, если кортежи, содержащие отсутствующие значения, составляют около 2% или меньше. Работает с MCAR.

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

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

  • Оставьте это на усмотрение алгоритма: некоторые алгоритмы могут учитывать отсутствующие значения и определять наилучшие значения вменения для отсутствующих данных на основе сокращения потерь при обучении (например, XGBoost). У некоторых других есть возможность просто игнорировать их (например, LightGBM - use_missing = false). Однако другие алгоритмы выдают ошибку об отсутствующих значениях (например, Scikit learn - LinearRegression).

Возможен только в том случае, если недостающие значения составляют около 5% или меньше. Работает с MCAR.

Профессиональный путь:

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

Вменение

Среднее или медианное значение других переменных в наборе данных. Связь данных не обязательно должна быть линейной.

Типы вменения

Примечание. Для демонстрации каждого метода используется встроенный набор данных MTcars.

Легкие вменения

Вменение среднего / медианного значения, также известного как вменение постоянных значений

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

Преимущества:

  • Быстро и просто
  • Идеально подходит для небольших наборов числовых данных

Недостатки:

  • Не учитывает корреляции между функциями. Это работает только на уровне столбца.
  • Будет давать плохие результаты для закодированных категориальных функций (НЕ используйте это для категориальных функций).
  • Не очень точно.
  • Не учитывает неопределенность в расчетах.

Наиболее частые (значения) вменения

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

Преимущества:

  • Хорошо работает с категориальными функциями.

Недостатки:

  • Также не учитываются корреляции между функциями.
  • Это может внести систематическую ошибку в данные.

Вменение нулей

Он заменяет отсутствующие значения на ноль или любое указанное вами постоянное значение.

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

Промежуточные вменения

Вменение горячей колоды

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

Для получения хорошего результата всегда меняйте значение для «начальных значений» на любое, кроме 0.

Преимущества:

  • Ограничено только возможными значениями
  • Случайная составляющая добавляет некоторую вариативность. Это важно для точных стандартных ошибок.

Cold Deck Imputation

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

Сохраняя «начальные значения» на уровне 5, мы избегаем случайности.

Регрессионное вменение

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

Вменение стохастической регрессии

Прогнозируемое значение из регрессии плюс случайная остаточная стоимость. Это имеет все преимущества регрессионного вменения, но добавляет преимущества случайного компонента.

Вменение с использованием k-NN:

k ближайших соседей - это алгоритм, который используется для простой классификации. Алгоритм использует «сходство функций» для прогнозирования значений любых новых точек данных. Это может быть очень полезно при прогнозировании отсутствующих значений путем нахождения k ближайших соседей к наблюдению с отсутствующими данными и последующего вменения их на основе не пропущенных значений в окрестности.

Процесс выглядит следующим образом: Базовое среднее значение - ›KDTree -› вычисление ближайших соседей (NN) - ›Средневзвешенное значение.

Плюсы:

  • Может быть намного более точным, чем методы среднего, медианного или наиболее частого вменения (это зависит от набора данных).

Минусы:

  • В вычислительном отношении дорого. KNN работает, сохраняя в памяти весь обучающий набор данных.
  • K-NN очень чувствителен к выбросам в данных.

Вменение с использованием многомерного вложения по цепочному уравнению (MICE)

Этот тип вменения работает путем многократного заполнения недостающих данных. Множественные вменения (MI) намного лучше, чем одиночные вменения, поскольку они лучше измеряют неопределенность пропущенных значений. Подход с использованием цепных уравнений также очень гибок и может обрабатывать различные переменные с разными типами данных (т. Е. Непрерывными или двоичными), а также со сложностями, такими как границы или шаблоны пропусков опроса.

Когда использовать вменение или интерполяцию:

Вменение: когда вам требуется среднее или медианное значение набора значений.

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

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

Например: График роста здорового ребенка. Ребенок будет расти с каждым годом, пока ему не исполнится 16. Любые недостающие значения на этой диаграмме роста будут частью прямой линии, поэтому недостающие значения можно интерполировать.

Свяжитесь со мной:

Facebook, Twitter, Quora, Youtube и Linkedin. #AI