Как интерпретировать корреляционные метрики
Этот документ помогает аналитику понять и правильно использовать результаты корреляционного анализа, который строит отчёт по парам временных рядов.
1) Что означает каждая колонка отчёта
- series_1, series_2 — ID показателей сравниваемых рядов. ID series_1 всегда меньше ID series_2. Это нужно учитывать при анализе значений
- pearson, pearson_p — коэффициент корреляции Пирсона и его p-value. Измеряет линейную связь.
- spearman, spearman_p — ранговая корреляция Спирмена и p-value. Измеряет монотонную (не обязательно линейную) связь. Устойчивее к выбросам и нелинейности.
- kendall, kendall_p — τ Кендалла и p-value. Ещё более устойчивая метрика, хорошо работает на малых выборках и при множестве одинаковых значений.
-
best_lag — лаг (целое число шагов времени - нашем случае недель), при котором |корреляция| максимальна (считалась Пирсоном между
series_1иseries_2, сдвинутым наbest_lag):best_lag > 0→series_1опережаетseries_2наbest_lagшагов (реакцияseries_2позже).best_lag < 0→series_2опережаетseries_1.best_lag = 0→ максимум без сдвига.
- best_lag_corr, best_lag_p, best_lag_n — значение корреляции Пирсона в лучшем лаге, его p-value и объём пересечения наблюдений после сдвига.
- n_common — число совместных наблюдений без сдвига (полезно для оценки «сырых» размеров выборки).
- primary_metric, primary_score — «самый важный» метрик среди значимых, выбранный по приоритету:
Корреляция признается статистически значимой связь по хотя бы одному метрику (|corr| ≥
min_abs_corrи p <alpha).
best_lag_corr→ 2)pearson→ 3)spearman→ 4)kendall.
Порог значимости и «заметной» силы связи настраиваются параметрами на уровне Системы:
alpha(по умолчанию 0.05) иmin_abs_corr(по умолчанию 0.70).
2) Как читать величины коэффициентов
Знак:
+— ряды растут/падают преимущественно вместе.−— один растёт, другой падает.
Величина (правило большого пальца):
- |corr| ≥ 0.70 — заметная/сильная
- в противном случае — умеренная или слабая
⚠️ Для временных рядов линейные коэффициенты часто завышаются из-за трендов и автокорреляции. Всегда проверяйте графики и лаги.
p-value:
- Вероятность получить такую или более экстремальную связь случайно при нулевой гипотезе.
p < alpha→ статистически значимо.- p-value не говорит о причинно-следственных связях и не измеряет силу эффекта.
3) Интерпретация лаговой корреляции
- Если
best_lag > 0, максимальная корреляция достигается при сравненииseries_1(t)сseries_2(t + best_lag). Трактовка:series_1«ведёт»,series_2«следует» спустяbest_lagшагов. - Если
best_lag < 0, лидируетseries_2. - Оценивайте trio:
best_lag_corr(величина),best_lag_p(значимость) иbest_lag_n(достаточно ли наблюдений после сдвига).
Практическая польза:
- Ограничения: лаговая корреляция ≠ причинность; лаг должен быть осмысленным в домене (недели/месяцы, логистические задержки, сезонные циклы).
4) Как выбирается «главная» метрика
- Корреляция считается найденной, если хотя бы одна из корреляционных метрик соответствует условиям: |corr| ≥
min_abs_corrиp < alpha. -
primary_metricвыбирается по приоритету:best_lag_corr— важнее, потому что улавливает зависимости со сдвигом; часто полезнее для прогнозирования.pearson— линейная связь.spearman— монотонная связь (устойчивее к выбросам).kendall— устойчивая альтернатива на малых выборках.
primary_score— значение выбранной метрики (с учётом знака).
5) Мини-пример интерпретации
Строка отчёта:
series_1 = ID:101 ('Продажи A')
series_2 = ID:202 ('Поиск A')
pearson = 0.62 (p=0.001)
spearman = 0.58 (p=0.002)
kendall = 0.42 (p=0.003)
best_lag = +3
best_lag_corr = 0.71 (p<0.001), best_lag_n=94
n_common = 100
primary_metric = 'best_lag_corr'
primary_score = 0.71
Вывод: Корреляция найдена. Запросы Поиск A достигают наибольшей связи с продажами Продажи A через 3 шага (3 недели). Связь сильная и значимая. Для прогноза Продажи A имеет смысл рассматривать признак Поиск A с лагом 3.
6) Типичные ловушки и как их обходить
- Общий тренд → ложнозавышенные корреляции. Что делать: смотреть графики, попробовать разности/деградацию тренда, проверять лаговую корреляцию.
- Малый
n_commonилиbest_lag_n→ нестабильные выводы. Рекомендация: желательно ≥ 30–50 точек. - Неинтерпретируемые лаги — сдвиг противоречит бизнес-логике. Что делать: отвергайте такие гипотезы, даже если статистически «красиво».
7) Практический чек-лист
- Проверьте лаги:
best_lagдолжен быть реалистичным для предметной области. - Посмотрите графики (ряды + scatter) и, при необходимости, CCF/cross-correlation plot.
- Проверьте стабильность на подвыборках (rolling windows) и out-of-sample.
- Учтите тренд/сезонность — возможно, нужна дифференциация/детрендинг.
- Feature engineering: добавьте ведущие ряды с найденными лагами.
8) Когда какая метрика полезнее
best_lag_corr— когда возможны задержки реакции. Для прогноза и лидирующих индикаторов.- Пирсон — когда связь предположительно линейная и распределения примерно симметричны.
- Спирмен — при монотонной, но нелинейной связи. Устойчив к выбросам.
- Кендалл — когда наблюдений мало или много повторов/«ступенек».
9) Частые вопросы
Q: Метрики не согласуются: Пирсон высок, Спирмен низкий. A: Вероятно, связь нелинейная/негладкая. Смотрите scatter и ориентируйтесь на Спирмен/Кендалл.
Q: best_lag не ноль, но p-value незначим. A: Сдвиг даёт максимум, но слабый/нестабильный — не используйте этот лаг.
Q: Высокая корреляция, но нет причинности? A: Верно. Корреляция ≠ причинность. Нужны доменные аргументы, эксперименты или причинные модели.