Всем привет, я Павел Беляев, ведущий канала Тимлидское об аналитике и автор нового курса Симулейтив «Временные ряды» 👋🏻
Одна из самых «популярных» проблем аналитика — выбросы в данных.
Выброс — это значение, которое сильно отличается от остальных. Датчик глюкнул, данные съехали при выгрузке, случилось что-то аномальное. Если не поймать баг, статистика будет искажена, модель будет учиться на мусоре, и в отчёты попадёт ложь. Поэтому выбросы следует постоянно детектировать — или разово перед началом анализа, если это единичное исследование.
Привожу три распространённых способа выявления выбросов:
➖ Ящик с усами (Box Plot)
Визуальный метод. Строите график — и сразу видите точки, которые торчат за «усами». Никакой математики руками, просто смотрите глазами. Хорош для быстрого первичного осмотра данных.
Минус: показывает, где выброс, но не говорит, сколько их, и не автоматизируется легко.
➖ Межквартильный размах (IQR)
Математическая основа того же ящика. Считаем разницу между 75-м и 25-м перцентилем (Q1 и Q3) — это и есть IQR. Всё, что выходит за границы Q1−1.5×IQR и Q3+1.5×IQR — выброс.
Плюс: не зависит от формы распределения, устойчив к самим выбросам. Работает даже на кривых данных.
➖ Z-score
Считаем, на сколько стандартных отклонений точка далека от среднего. Это число обозначается как |z|. Обычно если |z| > 3 — подозрительно, возможно выброс.
Минус: предполагает нормальное распределение. Если данные скошены, метод будет ошибаться. К тому же сами среднее и сигма чувствительны к выбросам.
Что выбрать?
✅ Если быстро посмотреть глазами → Box Plot;
✅ Если надёжная автоматическая очистка → IQR;
✅ Если данные близки к нормальным → Z-score.
На практике используют несколько методов сразу и сравнивают результат.
Все эти методы очистки мы рассмотрим в новом курсе «Временные ряды» — с кодом и подробными пояснениями.
🛎️ Записывайтесь, скоро стартуем: simulative.ru/time-series
📈 Симулейтив | 📱 ВК | 📱 YouTube | 📱 Канал о DS
