Решён
В чем разница между ковариацией и корреляцией?

Софья Ковалёва Математика
16.1k
5

Готовлюсь к экзамену по статистике и никак не могу уловить разницу между этими двумя понятиями. Оба показывают связь между переменными, оба могут быть положительными и отрицательными.

В учебнике формулы есть, но интуитивного понимания нет. Когда использовать ковариацию, а когда корреляцию? Почему вообще нужны оба показателя если они про одно и то же?

Решение
184
Эксперт • 4 ответа

Представь что ковариация это расстояние в шагах, а корреляция - в процентах от максимума.

Если я скажу "до магазина 500 шагов" - это много или мало? Зависит от длины твоего шага.

Если скажу "до магазина 80% от максимального расстояния которое ты можешь пройти" - сразу понятно что далеко.

Ковариация показывает направление и "сырую силу" связи, но ее нельзя сравнивать между разными наборами данных. Ковариация 1000 между переменными A и B может означать слабую связь, а ковариация 50 между C и D - сильную. Зависит от масштаба переменных.

Корреляция (Пирсона) - это ковариация деленная на произведение стандартных отклонений обеих переменных. Получается безразмерная величина от -1 до +1.

  • 0.9 - очень сильная положительная связь
  • 0.5 - средняя
  • 0.1 - слабая
  • 0 - нет линейной связи
  • отрицательные значения - обратная связь

Формула корреляции:

r = Cov(X,Y) / (σx * σy)

Где Cov - ковариация, σ - стандартное отклонение.

На практике почти всегда используют корреляцию, потому что ее можно интерпретировать и сравнивать. Ковариация нужна в некоторых расчетах (например в формулах портфельной теории Марковица), но для понимания силы связи - корреляция.

Аватар Софья Ковалёва

Аналогия с шагами просто спасла мне жизнь перед экзаменом! Теперь все встало на места, спасибо огромное!

77
Участник • 4 ответа

Добавлю практический пример из Python:

import numpy as np

x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 5, 4, 5])

# Ковариация
cov_matrix = np.cov(x, y)
print(f"Ковариация: {cov_matrix[0,1]}")  # 1.5

# Корреляция  
corr_matrix = np.corrcoef(x, y)
print(f"Корреляция: {corr_matrix[0,1]}")  # 0.866

Ковариация 1.5 ни о чем не говорит без контекста. Корреляция 0.866 сразу показывает сильную положительную связь.

56
Участник • 13 ответов

Ковариация - это "сырая" мера связи, зависит от единиц измерения.
Корреляция - нормированная ковариация, всегда от -1 до +1.

Ковариация между ростом (см) и весом (кг) даст какое то число типа 250. Что это значит? Сильная связь или слабая? Непонятно.

Корреляция даст например 0.85. Сразу ясно: связь сильная положительная.

44
Эксперт • 2 ответа

Еще важный момент: и ковариация и корреляция Пирсона измеряют только ЛИНЕЙНУЮ связь. Если зависимость нелинейная (например параболическая), корреляция может быть около нуля хотя связь очевидна.

Для таких случаев есть корреляция Спирмена (по рангам) или другие методы.

23
Эксперт • 1 ответ

на экзамене главное помнить что корреляция от -1 до 1, а ковариация любая. если в задаче ответ получился 2.5 и спрашивают корреляцию - где то ошибся в расчетах

Написать ответ

Премодерация гостей

Вы отвечаете как гость. Ваш ответ будет скрыт до проверки модератором. Чтобы ответ появился сразу и вы получали репутацию — войдите в аккаунт.

Будьте вежливы и соблюдайте правила платформы.