Обработка пропусков в данных

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

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

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

Исключение и игнорирование строк с пропущенными значениями стало решением по умолчанию в некоторых популярных прикладных пакетах, в результате чего у начинающих аналитиков может возникнуть представление, что данное решение — правильное. Кроме того, существуют довольно простые в реализации и использовании методы обработки пропусков, получившие название ad-hoc методы, простота которых может послужить причиной их выбора:

  • заполнение пропусков нулями;
  • заполнение медианой;
  • заполнение средним арифметическим значением;
  • введение индикаторных переменных и тому подобное.

Вероятно, именно из-за своей простоты ad-hoc методы широко использовались на заре развития современной теории обработки пропусков. И, хотя по состоянию на сегодняшний день известно, что применение этих методов может приводить к искажению статистических свойств выборки и, как следствие, к ухудшению результатов, получаемых после такой обработки пропусков [Horton, 2007], их по-прежнему часто используют.

Так, известны статьи, посвященные сбору и оценке статистики использования методов заполнения пропусков в научных работах медицинской тематики [Burton, 2004, Karahalios, 2012, Rezvan, 2015], из результатов которых можно сделать вывод, что даже ученые часто отдают предпочтение интуитивно-понятным ad-hoc методам и игнорированию/удалению строк, несмотря на то, что применение этих методов в контексте решаемой задачи порой неуместно.

Применение ad-hoc методов и удаление строк таит в себе множество подводных камней, о которых необходимо знать каждому аналитику. В данной статье мы кратко расскажем про эти методы и укажем на основные проблемы, связанные с их использованием на практике.

Механизмы формирования пропусков

Для того чтобы понять, как правильно обработать пропуски, необходимо определить механизмы их формирования. Различают следующие 3 механизма формирования пропусков: MCAR, MAR, MNAR:

  • MCAR (Missing Completely At Random) — механизм формирования пропусков, при котором вероятность пропуска для каждой записи набора одинакова. Например, если проводился социологический опрос, в котором каждому десятому респонденту один случайно выбранный вопрос не задавался, причем на все остальные заданные вопросы респонденты отвечали, то имеет место механизм MCAR. В таком случае игнорирование/исключение записей, содержащих пропущенные данные, не ведет к искажению результатов.
  • MAR (Missing At Random) — на практике данные обычно пропущены не случайно, а ввиду некоторых закономерностей. Пропуски относят к MAR, если вероятность пропуска может быть определена на основе другой имеющейся в наборе данных информации (пол, возраст, занимаемая должность, образование…), не содержащей пропуски. В таком случае удаление или замена пропусков на значение «Пропуск», как и в случае MCAR, не приведет к существенному искажению результатов.
  • MNAR (Missing Not At Random) — механизм формирования пропусков, при котором данные отсутствуют в зависимости от неизвестных факторов. MNAR предполагает, что вероятность пропуска могла бы быть описана на основе других атрибутов, но информация по этим атрибутам в наборе данных отсутствует. Как следствие, вероятность пропуска невозможно выразить на основе информации, содержащейся в наборе данных.

Рассмотрим различия между механизмами MAR и MNAR на примере.

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

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

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

Рассмотрим простые методы обработки пропусков и связанные с ними проблемы.

Удаление/игнорирование пропусков

Complete-case Analysis (он же Listwise Deletion Method) — метод обработки пропусков, применяемый во множестве прикладных пакетов как метод по умолчанию. Заключается в исключении из набора данных записей/строк или атрибутов/колонок, содержащих пропуски.

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

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

Таким образом, несмотря на широкое распространение, применение данного метода для решения практических задач ограничено.

Available-case analysis (он же Pairwise Deletion) — методы обработки, основанные на игнорировании пропусков в расчетах. Эти методы, как и Complete-case Analysis, тоже часто применяются по умолчанию.

Статистические характеристики, такие как средние значения, стандартные отклонения, можно рассчитать, используя все непропущенные значения для каждого из атрибутов/столбцов. Как и в случае Complete-case Analysis, при условии выполнения гипотезы MCAR применение данного метода не приведет к существенному искажению параметров модели.

Преимущество данного подхода в том, что при построении модели используется вся доступная информация.

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

Например, рассчитанные значения коэффициентов корреляции могут оказаться вне диапазона [-1; 1]. Кроме того, не всегда удается однозначно ответить на вопрос об оптимальном выборе числа отсчетов, используемого при расчете стандартных отклонений.

Приведем пример, демонстрирующий проблемы методов Available-case analysis.

Рассмотрим следующую задачу: необходимо рассчитать линейный коэффициент корреляции (коэффициент корреляции Пирсона) между двумя факторами/переменными X и Y, истинные значения которых приведены в таблице 1.

XYXYXYXY
1-0,19839-7,949211-12,199018-14,9021
10,37676-7,345610-11,023417-18,9796
5-2,29397-9,804711-14,228419-19,5486
4-3,08867-10,600314-13,196620-20,5562
5-3,194214-9,967716-15,827121-21,0093

Таблица 1 — Данные без пропусков

На основе таблицы 1 определим истинные значения статистических параметров.

  • Среднее значение X = 10,8000.
  • Среднее значение Y = -10,7768.

Оценка ковариации:

  • \sigma_{11} = \sum X_i^2 / n - ( \sum X_i / n)^2 = 37,7600,
  • \sigma_{12} = \sum (X_i \cdot Y_i) / n - ( \sum X_i \cdot \sum Y_i)/ n^2 = -38,1691,
  • \sigma_{22} = \sum Y_i^2 / n - ( \sum Y_i / n)^2 = 42,6608,
  • где n — число наблюдений (n=20).

    Значение коэффициента корреляции:

    \ r = \sigma_{12}/ \sqrt{\sigma_{11} \cdot \sigma_{22}} = -0,9510

    Рассмотрим результаты аналогичных расчетов при наличии пропусков в данных (данные представлены в таблице 2).

    XYXYXYXY
    ?-0,19839-7,949211-12,199018-14,9021
    ?0,37676-7,345610-11,023417-18,9796
    5-2,29397-9,804711-14,228419-19,5486
    4-3,08867-10,600314-13,196620-20,5562
    5-3,194214-9,967716-15,827121-21,0093

    Таблица 2 – Данные с пропусками

    То есть работаем с тем же набором данных (что и в таблице 1), с тем лишь отличием, что в данном случае нам неизвестны два первых значения переменной X.

    В рамках Available-case analysis подхода мы считаем среднее значение, используя всю доступную информацию, то есть для переменной X на основе 18 известных значений, а для переменной Y на основе всех 20 значений.

    Таким образом, на основе таблицы 2 получим следующие результаты:

    • среднее значение X = 11,8889,
    • среднее значение Y = -10,7768,

    Оценка ковариации:

    • \sigma_{11} = 30,0988,
    • \sigma_{12} = -43,6174,
    • \sigma_{22} = 60,2952.

    В расчетах использовалось n наблюдений, для которых известны как значения X, так и Y (n=18).

    Значение коэффициента корреляции:

    r = -1,0239.

    Таким образом, расчет среднего значения на основе подхода Available-case Analysis привел к смещению данного значения, что, в свою очередь, проявилось в рассчитанном значении коэффициента корреляции, меньшем -1. Таким образом, рассчитанное значение вышло за пределы теоретически возможного диапазона [-1; 1], что противоречит физическому смыслу.

    Если же рассчитать значение коэффициента корреляции в рамках подхода Complete-case Analysis, то получим значение коэффициента корреляции -0,9311.

    Когда гипотеза MCAR не выполняется, методы Available-case analysis, так же, как и методы Complete-case Analysis, приводят к существенным искажениям статистических свойств выборки (среднего значения, медианы, вариации, корреляции…).

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

    Далее в данной статье мы рассмотрим методы, которые предполагают заполнение пропусков на основе имеющейся информации. Часто эти методы объединяют в одну группу, называемую Single-imputation methods.

    Заполнение пропуска средним значением

    Заполнение пропуска средним значением (Mean Substitution) (другие варианты: заполнение нулем, медианой и тому подобные) — название метода говорит само за себя.

    Всем вариантам данного метода свойственны одни и те же недостатки. Рассмотрим эти недостатки на примере одного из наиболее простых способов заполнить пропуски непрерывной характеристики: заполнения пропусков средним арифметическим значением и модой.

    Пример 1. На рисунке 1 показано распределение значений непрерывной характеристики до заполнения пропусков средним значением и после него.

    Рисунок 1a — Распределение значений непрерывной характеристики до заполнения пропусков

    Рисунок 1б — Распределение значений непрерывной характеристики после заполнения пропусков

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

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

    Пример 2. В случае категориальной дискретной характеристики наиболее часто используется заполнение модой.

    На рисунке 2 показано распределение категориальной характеристики до и после заполнения пропусков.

    Рисунок 2а — Распределение дискретной характеристики до заполнения пропусков модой

    Рисунок 2б — Распределение дискретной характеристики после заполнения пропусков модой

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

    Повторение результата последнего наблюдения

    LOCF (Last observation carried forward) — повторение результата последнего наблюдения. Данный метод применяется, как правило, при заполнении пропусков во временных рядах, когда последующие значения априори сильно взаимосвязаны с предыдущими.

    Рассмотрим 2 случая, когда применение LOCF обосновано.

    Случай 1. Если мы измеряем температуру воздуха в некоторой географической точке на открытом пространстве, причем измерения проводятся каждую минуту, то при нормальных условиях — если исключить природные катаклизмы — измеряемая величина априори не может резко (на 10–20 °C) измениться за столь короткий интервал времени между последующими измерениями. Следовательно, заполнение пропусков предшествующим известным значением в такой ситуации обоснованно.

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

    Ситуации, когда использование LOCF обосновано, не ограничиваются только этими двумя случаями.

    Хотя в описанных выше ситуациях метод логичен и обоснован, он тоже может привести к существенным искажениям статистических свойств даже в случае MCAR [Molenberghs, 2007]. Так, возможна ситуация, когда применение LOCF приведет к дублированию выброса (заполнению пропусков аномальным значением). Кроме того, если в данных много последовательно пропущенных значений, то гипотеза о небольших изменениях уже не выполняется и, как следствие, использование LOCF приводит к неправильным результатам.

    Indicator Method

    Indicator Method — метод, предполагающий замену пропущенных значений нулями и добавление специального атрибута-индикатора, принимающего нулевые значения для записей, где данные изначально не содержали пропусков, и ненулевые значения там, где ранее были пропуски [Miettinen, 1985].

    Проще и нагляднее продемонстрировать данный метод на примере.

    Пример. В таблице 3 приведены данные до заполнения пропусков.

    Параметр12,77,5?3,1??55,83,7
    Пропуск  Да ДаДа   

    Таблица 3 — Данные до заполнения пропусков

    Знаком ? обозначены пропуски в наборе данных.

    В таблице 4 приведены данные после заполнения пропусков.

    Параметр12,77,503,10055,83,7
    Флаг001011000

    Таблица 4 —Таблица после заполнения пропусков

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

    Также при заполнении пропусков ненулевыми значениями часто добавляется взаимодействие поля-флага и исходного поля.

    К преимуществам данного метода относятся:

    1. Использование всего набора данных (репрезентативность выборки не страдает).
    2. Явное использование информации о пропущенных значениях.

    Несмотря на эти преимущества, даже при выполнении гипотезы MCAR и небольшом числе пропущенных значений данный метод может привести к существенному искажению результатов [Vach, 1991, Knol, 2010].

    Восстановление пропусков на основе регрессионных моделей

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

    На рисунке 3 показан пример результатов заполнения пропущенных значений характеристики 1 на основе известных значений характеристики 2.

    Рисунок 3 — Заполнение пропусков на основе линейной регрессии

    Метод линейной регрессии позволяет получить правдоподобно заполненные данные. Однако реальным данным свойственен некоторый разброс значений, который при заполнении пропусков на основе линейной регрессии отсутствует. Как следствие, вариация значений характеристики становится меньше, а корреляция между характеристикой 2 и характеристикой 1 искусственно усиливается. В результате данный метод заполнения пропусков становится тем хуже, чем выше вариация значений характеристики, пропуски в которой мы заполняем, и чем выше процент пропущенных строк.

    Стоит отметить, что есть метод, решающий эту проблему: метод стохастической линейной регрессии, проиллюстрированный на рисунке 4 (аналогично рисунку 3).

    Рисунок 4 — заполнение пропусков на основе стохастической линейной регрессии

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

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

    Подводя итоги

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

    Так, согласно [Burton, 2004], из 100 работ, посвященных проблеме раковых заболеваний, которые были опубликованы в 2002 году, в 82% случаев авторы указали, что столкнулись с необходимостью заполнения пропусков в данных. При этом в 32 случаях был явно указан метод заполнения пропусков. В 12 из этих 32 работ использовался Complete Case Analysis, еще в 12 — Available Case Analysis, в 4 — Indicator Method, в 3— ad-hoc методы, и только в 1 случае использовался более сложный метод.

    Спустя десятилетие ситуация не сильно изменилась к лучшему. [Karahalios, 2012] пишут, что среди рассмотренных ими научных трудов в 54% случаев (в 21 статье) использовался Complete Case Analysis, в 7 случаях – LOCF, в 3 случаях – заполнение средним значением, в 1 случае — Indicator Method.

    И даже по состоянию на 2014 год рекомендуемые к использованию методы заполнения пропусков (Multiple Imputation, методы функции максимального правдоподобия) в научных статьях медицинской тематики по-прежнему применяются редко [Rezvan, 2015].

    В качестве заключения хотелось бы отметить, что использование простых методов, таких как удаление строк или применение ad-hoc методов, не всегда приводит к ухудшению результатов. Более того, когда это уместно, использование простых методов более предпочтительно.

    Литература

    • [Burton, 2004] — Burton A., Altman D. G. Missing covariate data within cancer prognostic studies: A review of current reporting and proposed guidelines. British Journal of Cancer, 2004, 91(1):4–8.
    • Wa[Horton, 2007] — Horton N.J., Kleinman K.P. Much ado about nothing: A comparison of missing data methods and software to fit incomplete data regression models. Am. Stat. 2007; 61: pp 79–90.
    • [Karahalios, 2012] — Karahalios A., Baglietto L., Carlin J.B., English D.R., Simpson J.A. A review of the reporting and handling of missing data in cohort studies with repeated assessment of exposure measures. BMC Med Res Methodology, 2012;12:96.
    • [Knol, 2010] — Knol, M. J., Janssen, K. J. M., Donders, A. R. T., Egberts, A. C. G., Heerdink, E. R., Grobbee, D. E., Moons, K. G. M., and Geerlings, M. I. (2010). Unpredictable bias when using the missing indicator method or complete case analysis for missing confounder values: an empirical example. Journal of Clinical Epidemiology, 63: pp 728–736.
    • [Miettinen, 1985] — Miettinen, O. S. Theoretical Epidemiology: Principles of Occurrence Research in Medicine. John Wiley & Sons, New York. 1985, p. 232.
    • [Molenberghs, 2007] — Molenberghs, G. and Kenward, M. G. Missing Data in Clinical Studies. John Wiley & Sons, Chichester, UK. 2007 — pp. 47-50.
    • [Rezvan, 2015] — Panteha Hayati Rezvan, Katherine J Lee, Julie A Simpson -The rise of multiple imputation: a review of the reporting and implementation of the method in medical research. BMC Medical Research Methodology, 15(30), pp 1–14.
    • [Vach, 1991] — Vach, W. and Blettner, M. (1991). Biased estimation of the odds ratio in case-control studies due to the use of ad hoc methods of correcting for missing values for confounding variables. American Journal of Epidemiology, 134(8), pp 895–907.
    • [Van Buuren, 2012] — Van Buuren S. Flexible Imputation of Missing Data. Chapman and Hall/CRC; 1 ed., 2012 — 342 p.

     

    Другие материалы по теме:

    Loginom Data Quality. Очистка клиентских данных. Деморолик

    Как найти и объединить дубли клиентов

#очистка данных#LDQ#loginom data quality

Смотрите также