Ковариация — это статистическая мера, показывающая, как две переменные изменяются вместе. Если вы анализируете зависимости между акциями на бирже, оцениваете взаимосвязь продаж и рекламного бюджета или просто изучаете данные в учебном проекте, умение рассчитывать ковариацию в Microsoft Excel сэкономит вам часы ручной работы. В отличие от корреляции, которая стандартизирована и всегда лежит в диапазоне от -1 до 1, ковариация может принимать любые значения — её интерпретация требует контекста.
Многие пользователи ошибочно думают, что для расчёта ковариации нужны специализированные программы вроде Python или R. На деле Excel предлагает встроенные функции, которые справляются с задачей не хуже. В этой статье мы разберём три метода: от базовой функции KOBAPИАЦИЯ.Г (или COVARIANCE.P в английской версии) до ручного расчёта через массивы. Вы также узнаете, когда использовать ковариацию генеральной совокупности, а когда — выборочную, и почему это принципиально важно для точности вашего анализа.
Прежде чем перейти к практике, давайте разберёмся с теорией. Ковариация измеряет направление линейной связи между двумя наборами данных. Положительное значение означает, что переменные тенденциозно растут или падают вместе, отрицательное — что одна растёт, когда другая падает. Нулевая ковариация говорит об отсутствии линейной зависимости (хотя нелинейные зависимости всё же могут существовать).
1. Встроенные функции Excel для ковариации: COVARIANCE.P и COVARIANCE.S
Excel предлагает две основные функции для расчёта ковариации, и их выбор зависит от того, работаете ли вы с генеральной совокупностью (всеми данными) или с выборкой (частью данных). Давайте разберёмся, когда какую использовать:
- 📊 COVARIANCE.P (или
KOBAPИАЦИЯ.Гв русской версии) — рассчитывает ковариацию для генеральной совокупности. Используйте её, если ваш набор данных включает ВСЕ возможные наблюдения (например, все продажи компании за год). - 📈 COVARIANCE.S (
KOBAPИАЦИЯ.В) — подходит для выборочных данных, когда вы анализируете только часть совокупности (например, продажи за квартал как выборку из годового объёма).
Синтаксис обеих функций одинаков:
=COVARIANCE.P(массив1; массив2)
где массив1 и массив2 — это диапазоны ячеек с данными. Например, если у вас в столбце A цены на акции, а в столбце B — объёмы продаж, формула будет выглядеть так:
=COVARIANCE.P(A2:A100; B2:B100)
Разница между .P и .S кроется в знаменателе формулы: для генеральной совокупности используется n (количество наблюдений), а для выборки — n-1. Это похоже на разницу между дисперсией выборки и генеральной совокупности.
2. Ручной расчёт ковариации: формула и пример в Excel
Если вы хотите понять, как ковариация рассчитывается "под капотом", или ваша версия Excel не поддерживает встроенные функции (например, Excel 2003), можно воспользоваться ручной формулой. Ковариация между двумя переменными X и Y вычисляется по формуле:
Для генеральной совокупности:
Cov(X,Y) = Σ[(Xi - μX) * (Yi - μY)] / n
Для выборки:
Cov(X,Y) = Σ[(Xi - X̄) * (Yi - Ȳ)] / (n - 1)
где:
Xi,Yi— отдельные значения переменных,μX,μY— средние значения для генеральной совокупности (X̄,Ȳдля выборки),n— количество наблюдений.
Давайте разберём пример. Предположим, у нас есть данные о расходах на рекламу (X) и продажах (Y) за 5 месяцев:
| Месяц | Расходы на рекламу (X), тыс. руб. | Продажи (Y), ед. |
|---|---|---|
| Январь | 10 | 50 |
| Февраль | 15 | 60 |
| Март | 8 | 45 |
| Апрель | 12 | 55 |
| Май | 20 | 70 |
Шаги для ручного расчёта:
- Найдите средние значения
X̄иȲс помощью=СРЗНАЧ. - Для каждого наблюдения вычислите отклонения от среднего:
(Xi - X̄)и(Yi - Ȳ). - Перемножьте отклонения для каждой пары.
- Сложите все произведения отклонений.
- Разделите сумму на
n-1(для выборки) илиn(для генеральной совокупности).
Подробный расчёт для нашего примера
1. Среднее X̄ = (10+15+8+12+20)/5 = 13
2. Среднее Ȳ = (50+60+45+55+70)/5 = 56
3. Отклонения и произведения:
- Январь: (10-13)*(50-56) = 18
- Февраль: (15-13)*(60-56) = 8
- Март: (8-13)*(45-56) = 55
- Апрель: (12-13)*(55-56) = 1
- Май: (20-13)*(70-56) = 112
4. Сумма произведений = 18 + 8 + 55 + 1 + 112 = 194
5. Ковариация (выборка) = 194 / (5-1) = 48.5
3. Ковариационная матрица: расчёт для нескольких переменных
Если вам нужно проанализировать зависимости между тремя и более переменными, пригодится ковариационная матрица. Она показывает ковариации между всеми парами переменных в наборе данных. В Excel её можно построить с помощью функции МУМНОЖ (матричное умножение) или инструмента Анализ данных (если он установлен).
Рассмотрим пример с тремя переменными: расходы на рекламу (X), продажи (Y) и количество посетителей сайта (Z). Алгоритм построения матрицы:
- Создайте таблицу с центрированными данными (вычтите среднее из каждого значения).
- Транспонируйте матрицу центрированных данных (используйте
ТРАНСП). - Умножьте транспонированную матрицу на исходную с помощью
МУМНОЖ. - Разделите результат на
n-1(для выборки) илиn(для генеральной совокупности).
Важно: для корректного использования МУМНОЖ необходимо вводить формулу как массивную (нажмите Ctrl+Shift+Enter в старых версиях Excel или просто Enter в Excel 365).
Подготовить исходные данные|Вычесть средние значения (центрировать)|Транспонировать матрицу|Умножить матрицы с помощью МУМНОЖ|Разделить на n-1 или n-->
4. Ошибки при расчёте ковариации в Excel и как их избежать
Даже опытные пользователи Excel иногда сталкиваются с ошибками при расчёте ковариации. Вот самые распространённые проблемы и их решения:
- ❌ #ДЕЛ/0! — возникает, если в данных есть пустые ячейки или текстовые значения, которые Excel интерпретирует как 0. Используйте
ЕСЛИОШИБКАили очистите данные. - ❌ #ЗНАЧ! — появляется, если диапазоны
массив1имассив2имеют разный размер. Проверьте количество строк в обоих столбцах. - ❌ Неверная интерпретация результата — ковариация зависит от масштаба данных. Для сравнения зависимостей между разными парами переменных используйте корреляцию (функция
КОРРЕЛ).
Ещё одна типичная ошибка — путаница между генеральной совокупностью и выборкой. Если вы анализируете все доступные данные (например, все транзакции компании за год), используйте COVARIANCE.P. Если же ваши данные — это выборка из более крупной совокупности (например, опрос 100 клиентов из 10 000), берите COVARIANCE.S. Неправильный выбор функции может исказить результаты анализа.
5. Визуализация ковариации: диаграммы рассеяния и тренды
Числовое значение ковариации не всегда интуитивно понятно. Чтобы лучше интерпретировать результат, постройте диаграмму рассеяния (scatter plot). Она наглядно покажет, как связаны две переменные:
- Выделите два столбца с данными (например,
A2:B100). - Перейдите на вкладку
Вставка→Диаграмма→Точечная. - Добавьте линию тренда: кликните правой кнопкой по точкам →
Добавить линию тренда.
Наклон линии тренда визуально подтвердит знак ковариации:
- 📈 Восходящая линия → положительная ковариация.
- 📉 Нисходящая линия → отрицательная ковариация.
- 🔄 Хаотичное распределение точек → ковариация близка к нулю.
Для более глубокого анализа добавьте на диаграмму уравнение линии тренда и R² (коэффициент детерминации). Это поможет оценить силу связи между переменными. Помните, что высокий R² (близкий к 1) говорит о сильной линейной зависимости, но не обязательно о причинно-следственной связи!
6. Продвинутые методы: ковариация с условиями и динамические массивы
Если вам нужно рассчитать ковариацию для фильтруемых данных (например, только для продаж в определённом регионе), используйте комбинацию функций ФИЛЬТР и COVARIANCE.S. Пример для Excel 365:
=COVARIANCE.S(ФИЛЬТР(A2:A100; C2:C100="Регион1"); ФИЛЬТР(B2:B100; C2:C100="Регион1"))
где C2:C100 — столбец с регионами.
Для работы с динамическими массивами (когда результат автоматически расширяется) в Excel 365 можно создать ковариационную матрицу для всех пар переменных без ручного указания диапазонов. Например:
=МУМНОЖ(ТРАНСП(ЦЕНТРИРОВАНИЕ(A2:C100)); ЦЕНТРИРОВАНИЕ(A2:C100))/(СЧЁТ(A2:A100)-1)
где ЦЕНТРИРОВАНИЕ — это пользовательская функция, вычитающая среднее из каждого значения.
Уникальный лайфхак: если вам нужно быстро оценить ковариацию для большого набора данных, используйте Power Query. Загрузите данные в редактор, добавьте столбец с произведением отклонений, затем сгруппируйте и рассчитайте среднее. Это особенно удобно для данных объёмом более 10 000 строк.
=ЛЕТ(срX; ССРЗНАЧ(A2:A100); срY; ССРЗНАЧ(B2:B100);
СУММПРОИЗВ((A2:A100-срX); (B2:B100-срY))/(СЧЁТ(A2:A100)-1))
-->
7. Альтернативы Excel: ковариация в Google Sheets и Python
Если вы работаете в Google Таблицах, функции для ковариации называются аналогично:
=COVARIANCE.P— для генеральной совокупности,=COVARIANCE.S— для выборки.
Синтаксис и логика расчёта полностью совпадают с Excel. Однако в Google Sheets нет функции МУМНОЖ для массивов — вместо неё используйте =MMULT.
Для автоматизации расчётов на больших данных удобно использовать Python с библиотекой pandas. Пример кода:
import pandas as pd
data = pd.read_excel("data.xlsx")
cov_matrix = data.cov() # Ковариационная матрица
print(cov_matrix.loc["Столбец1", "Столбец2"]) # Ковариация между двумя столбцами
Преимущество Python — обработка миллионов строк без зависаний, но для разовых задач или небольших наборов данных Excel остаётся самым удобным инструментом благодаря визуальному интерфейсу и встроенным диаграммам.
FAQ: Частые вопросы о ковариации в Excel
Можно ли рассчитать ковариацию для более чем двух переменных?
Да, для этого строится ковариационная матрица, где каждому сочетанию переменных соответствует своя ковариация. В Excel её можно создать с помощью матричных функций (МУМНОЖ) или инструмента Анализ данных (вкладка Данные → Анализ данных → Ковариация).
Чем ковариация отличается от корреляции?
Ковариация показывает направление и масштаб совместной изменчивости двух переменных, но её значение зависит от единиц измерения. Корреляция (коэффициент Пирсона) нормализует ковариацию, деля её на произведение стандартных отклонений, поэтому всегда лежит в диапазоне от -1 до 1 и позволяет сравнивать связи между разными парами переменных.
Почему моя ковариация получилась отрицательной?
Отрицательная ковариация означает, что когда одна переменная растёт, другая tends to fall. Например, если ковариация между ценой на продукт (X) и объёмом продаж (Y) отрицательна, это может говорить о том, что повышение цены ведёт к снижению спроса. Это нормальный результат, если он соответствует вашим ожиданиям о связи между переменными.
Как рассчитать ковариацию для данных с пропусками?
В Excel функции COVARIANCE.P и COVARIANCE.S автоматически игнорируют пары, где хотя бы одно значение отсутствует. Если пропусков много, лучше:
- Удалить строки с пропусками (например, с помощью
ФИЛЬТР). - Заменить пропуски на средние значения (функция
СРЗНАЧ). - Использовать методы импутации (например, линейную интерполяцию).
Можно ли использовать ковариацию для прогнозирования?
Сама по себе ковариация не является инструментом прогнозирования, но она лежит в основе многих моделей, например:
- Линейная регрессия — коэффициенты регрессии рассчитываются через ковариацию и дисперсию.
- Портфельный анализ (модель Марковица) — ковариация используется для оценки риска диверсифицированного портфеля.
Для прогноза на основе ковариации обычно строят регрессионные модели с помощью функции ЛИНЕЙН или инструмента Регрессия в пакете Анализ данных.