Результаты обучения
После изучения урока вы сможете:
- Читать направление и силу корреляции и понимать, что именно измеряют коэффициенты Пирсона и Спирмена.
- Находить нелинейные зависимости и объяснять, почему нулевая корреляция не означает независимость.
- Отличать статистическую связь от причинного влияния, распознавать смешивающие факторы.
- Обнаруживать утечку цели, временную утечку, утечку через группы и предобработку.
- Проверять, была ли информация действительно доступна в момент, когда модель должна была сделать прогноз.
1. Корреляция: как две величины меняются вместе
Представьте таблицу с почасовой температурой воздуха и энергопотреблением здания. Если в более тёплые часы потребление обычно выше, между переменными наблюдается положительная связь. Если при росте температуры потребление снижается, связь отрицательная. Если точки на графике не образуют заметного направления, линейная связь может быть слабой.
Корреляция — это характеристика совместного изменения переменных, а не объяснение того, почему оно происходит. Она помогает находить закономерности, формировать гипотезы и замечать необычные наблюдения. Но сама по себе не сообщает, какая переменная влияет на другую, и не гарантирует, что найденная закономерность сохранится в новых данных.
Важно различать три вопроса: есть ли связь; насколько она сильна и какого она направления; можно ли использовать её для прогноза или причинного вывода. Это разные вопросы, и один коэффициент не отвечает на все три.
2. Пирсон и Спирмен: два разных взгляда на связь
Коэффициент Пирсона оценивает направление и силу линейной связи. Его значения лежат от −1 до +1: знак показывает направление, а абсолютная величина — насколько точки согласуются с прямой линией. Значение +1 соответствует идеальной положительной линейной связи, −1 — идеальной отрицательной. Значение около 0 говорит о слабой линейной связи, а не об отсутствии любой зависимости.
Коэффициент Спирмена работает с рангами — порядковыми местами значений. Он оценивает монотонную связь: когда при увеличении X величина Y в целом движется в одном направлении, хотя скорость изменения может быть нелинейной. Это полезно, например, когда рост стажа обычно сопровождается ростом опыта, но не на одинаковую величину каждый год.
Оба коэффициента чувствительны к особенностям данных. Выброс может заметно изменить Пирсона; Спирмен устойчивее к некоторым масштабным эффектам, но тоже не является универсальным решением. Для порядковых категорий, сложных зависимостей и временных рядов нужны дополнительные методы.
| Метод | Что измеряет | Когда полезен | Ограничение |
|---|---|---|---|
| Пирсон | Линейная связь | Количественные переменные с примерно линейным облаком точек | Может пропустить нелинейную зависимость; чувствителен к выбросам |
| Спирмен | Монотонная связь рангов | Порядковые данные или нелинейная, но монотонная зависимость | Не описывает произвольную форму связи и причинность |
Практическое правило: постройте диаграмму рассеяния, проверьте выбросы и форму распределения, затем выберите коэффициент под вопрос. Не выбирайте метод только потому, что его проще посчитать.
3. Смешивающие факторы и причинность
Если две переменные связаны, возможны разные объяснения: X влияет на Y; Y влияет на X; на обе влияет третья переменная; связь случайна; или отношения сложнее простой прямой зависимости. Смешивающий фактор связан с обеими переменными и может создавать, усиливать, ослаблять или даже менять знак наблюдаемой связи.
Классический пример — продажи мороженого и солнечные ожоги. Летом растут и продажи, и время на солнце. Если не учитывать сезон и погоду, можно ошибочно приписать одной переменной влияние на другую. В анализе данных полезно спрашивать: какие ещё переменные могли породить такую картину?
Причинный вывод требует более сильных оснований: корректного исследовательского дизайна, ясного временного порядка, обоснованного набора контролируемых факторов и проверки альтернативных объяснений. Рандомизированный эксперимент часто помогает, но не всегда возможен. Наблюдательные данные тоже могут поддерживать причинный анализ, однако только при явно сформулированных допущениях и подходящем методе.
4. Нелинейные зависимости и ловушка «корреляция равна нулю»
Предположим, что энергопотребление минимально при комфортной температуре, но возрастает и в сильную жару из-за кондиционеров, и в мороз из-за отопления. Получится U-образная зависимость. В середине диапазона и на его краях значения ведут себя по-разному, поэтому один коэффициент Пирсона может оказаться близким к нулю — хотя связь очевидна.
Поэтому «корреляция Пирсона равна нулю» означает лишь отсутствие выраженной линейной связи в выбранной выборке. Это не означает статистическую независимость, отсутствие закономерности или бесполезность признака. Нужны графики, групповой анализ и, при необходимости, модели, способные описывать нелинейность.
Есть и обратная проблема: сильная корреляция может быть вызвана несколькими экстремальными точками. Всегда проверяйте, не держится ли результат на одном объекте, одном периоде или нескольких ошибочных измерениях.
5. Коррелирующие признаки в машинном обучении
В наборе признаков могут быть почти дублирующие измерения: температура в градусах Цельсия и Фаренгейта, площадь помещения и число квадратных метров в другой колонке, два датчика, установленных рядом. Такие признаки несут частично повторяющуюся информацию.
Для линейных моделей сильная взаимная корреляция признаков может приводить к мультиколлинеарности: коэффициенты становятся нестабильными, их трудно интерпретировать, а небольшое изменение данных способно заметно изменить оценки. Для деревьев и некоторых ансамблей проблема проявляется иначе: важность может распределяться между похожими признаками, поэтому один из них выглядит менее значимым, чем вся группа вместе.
Не нужно автоматически удалять каждый коррелирующий признак. Сначала выясните, дублируют ли они друг друга, какой из них доступнее и надёжнее, есть ли предметный смысл оставить оба. Проверяйте решение на корректной валидации и учитывайте, что корреляции могут измениться в другой популяции или периоде.
6. Утечка данных: модель подсмотрела ответ
Утечка данных (data leakage) возникает, когда в обучение или оценку попадает информация, которой не было бы в реальном сценарии прогнозирования, либо когда оценочная выборка влияет на подготовку модели. Модель получает нечестное преимущество: метрика выглядит впечатляюще, но при запуске на новых данных качество резко падает.
Представим задачу: за 24 часа предсказать отказ насоса. В таблице есть температура, вибрация, плановое обслуживание, код аварии и фактическое время остановки. Температура и вибрация могут быть доступны до прогноза. Код аварии и точное время остановки появляются после события. Если включить их в признаки, модель не научится предсказывать отказ — она распознает уже произошедший отказ.
Главный вопрос для каждого поля: могла ли система получить это значение именно в тот момент, когда должна была выдать прогноз? Наличие колонки в исторической таблице ещё не означает, что она допустима.
7. Основные виды утечки и как их распознать
Утечка цели. Признак прямо содержит ответ или вычислен из него. Например, прогнозируем задержку доставки, но в признаки случайно попало поле «фактическая дата вручения». Проверяйте происхождение каждого признака и логику его расчёта.
Временная утечка. Признак становится известен позже точки прогноза. Это часто встречается в медицине, финансах, промышленности и прогнозировании спроса. Фиксируйте не только timestamp записи, но и время, когда значение стало доступно пользователю системы.
Утечка через дубликаты и группы. Копии одной записи, измерения одного пациента или данные одного устройства могут оказаться и в train, и в test. Модель фактически узнаёт уже знакомый объект. При необходимости разделяйте данные по пациенту, клиенту, зданию, устройству или исходному документу.
Утечка предобработки. Если нормализацию, заполнение пропусков, отбор признаков или снижение размерности выполнить на всей таблице до разделения, статистика тестовой части повлияет на обучение. Все преобразования, которые что-либо «изучают» по данным, должны обучаться только на train внутри pipeline.
Есть и утечка при подборе модели: если многократно смотреть на test и менять решение по его результатам, тестовая выборка постепенно становится частью разработки. Для выбора используйте validation или кросс-валидацию; test оставьте для финальной независимой оценки.
8. Как построить честную проверку модели
- Опишите задачу. Что именно прогнозируем, для какого объекта и на какой горизонт?
- Зафиксируйте точку прогноза. В какой момент система должна выдать ответ?
- Проверьте доступность признаков. Для каждого поля укажите источник, время появления и возможные задержки.
- Выберите правильное разделение. Случайное — только если наблюдения независимы и такой сценарий соответствует эксплуатации; временное — для прогноза будущего; групповое — для новых объектов.
- Обучайте преобразования только на train. Используйте pipeline, чтобы заполнение пропусков, масштабирование и отбор признаков не видели validation/test.
- Настраивайте по validation. Не подбирайте параметры по тестовой метрике.
- Один раз оцените зафиксированное решение на test. Сохраните версию данных, правила разделения и ограничения оценки.
9. Практикум: аудит модели прогноза отказа
Компания хочет предсказывать отказ вентилятора за сутки. В таблице есть: температура двигателя, вибрация, нагрузка, дата последнего обслуживания, код зарегистрированной аварии, время фактической остановки и итоговый статус ремонта.
Выполните аудит:
- Запишите точку прогноза — например, каждый день в 09:00 — и горизонт 24 часа.
- Для каждого поля решите, доступно ли оно в 09:00. Уточните, не записывается ли дата обслуживания задним числом.
- Определите, нужно ли разделять данные по времени или по идентификатору вентилятора.
- Опишите, где будут обучаться заполнение пропусков и масштабирование.
- Объясните, почему высокая корреляция кода аварии с целевой переменной не делает этот код допустимым признаком.
Хороший ответ — не просто список «оставить/удалить». Он объясняет точку прогноза, происхождение данных и то, как эксперимент имитирует реальную эксплуатацию.