Ваш набор данных содержит отсутствующие значения? Ничего не делайте!

Ваш набор данных содержит пропущенные значения? Не беспокойтесь!

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

[Изображение автора]

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

В этой статье я буду тестировать третий вариант:

Ничего не делать.

Действительно, лучшие модели для табличных наборов данных (конкретно XGBoost, LightGBM и CatBoost) могут нативно обрабатывать отсутствующие значения. Итак, вопрос, на который я попытаюсь ответить, звучит так:

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

Кто сказал, что нам следует обращать внимание на нулевые значения?

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

Но откуда возникает это убеждение?

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

Предположим, у нас есть такой набор данных:

Набор данных с отсутствующими значениями. [Изображение автора]

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

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