Выбросы: найти и решить, что с ними делать
В кассе «Мама Джонс» обычные чеки, и вдруг заказ на двадцать пицц — корпоратив. Одно такое значение способно перевернуть среднее, раздуть дисперсию и испортить модель. Но выброс — не всегда «ошибка»: иногда это самое ценное в данных. Справа — одни и те же данные тремя способами (точки, гистограмма, боксплот); пройдём по шагам, как заметить выброс и как осознанно выбрать, что с ним делать.
Один выброс тянет за собой всё: среднее ≈ 47, гистограмма растягивается в длинный хвост, на боксплоте появляется точка за усом. Медиана и «коробка» Q1–Q3 почти не двигаются — они устойчивы. Сначала поймите природу выброса (ошибка или реальность), потом выбирайте действие — и документируйте его.
Выброс — значение, далеко оторвавшееся от основной массы. Виджет показывает одни и те же данные тремя способами сразу: снизу точки (зелёное среднее уехало к выбросу, жёлтая медиана осталась с группой); в середине гистограмма (выброс — одинокий столбик далеко справа, длинный хвост); сверху боксплот (красная точка, вылетевшая за ус). Один экстремум двигает среднее, но почти не трогает медиану и «коробку».
Решение о выбросе — это решение о его природе: ошибка данных — чинить; реальный «богатый клиент» — оставлять и менять метод, а не данные.
Перед любым анализом аналитик строит боксплот и гистограмму и смотрит на выбросы: одинокий столбик в хвосте и точка за усом видны сразу. Дальше — разделяет: ошибки ввода чинит, реальные экстремумы обрабатывает осознанно (устойчивые меры, кэпинг, лог), а решение фиксирует, чтобы анализ был воспроизводим.
Иногда выброс — это и есть цель: мошенническая транзакция, сбойный сервер, аномальный спрос. Тогда его не убирают, а наоборот ловят — на этом стоит целая область детекции аномалий.
В деньгах и времени отклика выбросы — норма жизни, а не редкость: пара гигантских заказов или подвисших запросов всегда есть. Поэтому там по умолчанию берут медиану и перцентили, а разброс читают по боксплоту.
В машинном обучении невычищенные ошибочные выбросы тянут модель на себя (особенно при квадратичной ошибке), а реальные — наоборот, важны; путать эти случаи дорого.
Определения
Правило 1.5·IQR и порог |z|>3 (z — расстояние от среднего в стандартных отклонениях, подробнее в уроке про нормальное распределение) — эвристики, а не истина: на разных распределениях «нормальная» доля выбросов разная. На очень скошенных данных 1.5·IQR пометит много нормальных хвостовых значений.
Удаление выбросов меняет выводы и легко превращается в подгонку. Любое удаление должно быть обосновано природой данных и задокументировано.