Что такое пропуски данных и как с ними работать

Типы и методы.

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

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

Типы пропусков данных
 

Чтобы обработать пропуски, нужно понять, из-за чего они появляются. Вот 3 ключевых типа. 

  • MCAR (Missing Completely At Random / Отсутствует совершенно случайно) 

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

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

  • MAR (Missing At Random / Отсутствует случайно) 

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

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

  • MNAR (Missing Not At Random / Отсутствует не случайно) 

Риск пропуска определяется данными. Но отличие MNAR в том, что вероятность пропуска в колонке зависит от информации в ней. 

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

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

Методы обработки пропусков
 

  • Listwise Deletion (Complete-case Analysis) / Анализ полных наблюдений

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

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

Поэтому статистические свойства выборки будут больше смещаться во время использования MAR и, тем более, MNAR.

  • Pairwise Deletion (Available-case Analysis) / Попарное удаление

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

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

  • Last observation carried forward / Повторение результата последнего наблюдения 

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

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

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

  • Indicator Method / Индикаторный метод

Пропуски здесь заполняются одинаковыми значениями. Обычно — средним или медианой (по колонке). Например, «температура» — значением «36,6».

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

  • Regression imputation / Регрессионная импутация

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

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

Ещё
Прогнозы и персонализация.
Эксперты советуют Telegram- и YouTube-каналы, блоги и книги.