Как найти зависимость между данными

Исследуем отношение между переменными¶

Open in Colab

В этой главе исследуются отношения между переменными.

  • Мы будем визуализировать отношения с помощью диаграмм рассеяния (scatter plots), диаграмм размаха (box plots) и скрипичных диаграмм (violin plots),

  • И мы будем количественно определять отношения, используя корреляцию (correlation) и простую регрессию (simple regression).

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

In [1]:

from os.path import basename, exists

def download(url):
    filename = basename(url)
    if not exists(filename):
        from urllib.request import urlretrieve
        local, _ = urlretrieve(url, filename)
        print('Downloaded ' + local)

download('https://github.com/AllenDowney/' +
         'ElementsOfDataScience/raw/master/brfss.hdf5')

Изучение отношений¶

В качестве первого примера мы рассмотрим взаимосвязь между ростом и весом.

Мы будем использовать данные из Системы наблюдения за поведенческими факторами риска (BRFSS), которая находится в ведении Центров по контролю за заболеваниями по адресу https://www.cdc.gov/brfss.

В опросе приняли участие более 400 000 респондентов, но, чтобы произвести анализ, я выбрал случайную подвыборку из 100 000 человек.

In [2]:

import pandas as pd

brfss = pd.read_hdf('brfss.hdf5', 'brfss')
brfss.shape

Out[3]:

SEX HTM4 WTKG3 INCOME2 _LLCPWT _AGEG5YR _VEGESU1 _HTMG10 AGE
96230 2.0 160.0 60.33 8.0 1398.525290 6.0 2.14 150.0 47.0
244920 2.0 163.0 58.97 5.0 84.057503 13.0 3.14 160.0 89.5
57312 2.0 163.0 72.57 8.0 390.248599 5.0 2.64 160.0 42.0
32573 2.0 165.0 74.84 1.0 11566.705300 3.0 1.46 160.0 32.0
355929 2.0 170.0 108.86 3.0 844.485450 3.0 1.81 160.0 32.0

BRFSS включает сотни переменных. Для примеров в этой главе я выбрал всего девять.

Мы начнем с HTM4, который записывает рост каждого респондента в см, и WTKG3, который записывает вес в кг.

In [4]:

height = brfss['HTM4']
weight = brfss['WTKG3']

Чтобы визуализировать взаимосвязь между этими переменными, мы построим диаграмму рассеяния (scatter plot).

Диаграммы рассеяния широко распространены и понятны, но их на удивление сложно правильно построить.

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

см. документацию по plot

In [5]:

import matplotlib.pyplot as plt
%matplotlib inline

plt.plot(height, weight, 'o')

plt.xlabel('Height in cm')
plt.ylabel('Weight in kg')
plt.title('Scatter plot of weight versus height');

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

Первый из них — перекрытие (overplotted), то есть точки данных накладываются друг на друга, поэтому вы не можете сказать, где много точек, а где только одна.

Когда это происходит, результаты могут вводить в заблуждение.

Один из способов улучшить график — использовать прозрачность (transparency), что мы можем сделать с помощью ключевого аргумента alpha. Чем ниже значение alpha, тем прозрачнее каждая точка данных.

Вот как это выглядит с alpha=0.02.

In [6]:

plt.plot(height, weight, 'o', alpha=0.02)

plt.xlabel('Height in cm')
plt.ylabel('Weight in kg')
plt.title('Scatter plot of weight versus height');

Уже лучше, но на графике так много точек данных, что диаграмма рассеяния все еще перекрывается. Следующим шагом будет уменьшение размеров маркеров.

При markersize=1 и низком значении alpha диаграмма рассеяния будет менее насыщенной.

Вот как это выглядит.

In [7]:

plt.plot(height, weight, 'o', alpha=0.02, markersize=1)

plt.xlabel('Height in cm')
plt.ylabel('Weight in kg')
plt.title('Scatter plot of weight versus height');

Уже лучше, но теперь мы видим, что точки строятся отдельными столбцами. Это потому, что большая часть высоты была указана в дюймах и преобразована в сантиметры.

Мы можем разбить столбцы, добавив к значениям некоторый случайный шум; по сути, мы заполняем округленные значения.

Такое добавление случайного шума называется дрожанием (jittering).

Дрожание — это добавление случайного шума к данным для предотвращения перекрытия статистических графиков. Если непрерывное измерение округлено до некоторой удобной единицы, может произойти перекрытие. Это приводит к превращению непрерывной переменной в дискретную порядковую переменную. Например, возраст измеряется в годах, а масса тела — в фунтах или килограммах. Если вы построите диаграмму разброса веса в зависимости от возраста для достаточно большой выборки людей, там может быть много людей, записанных, скажем, с 29 годами и 70 кг, и, следовательно, в этой точке будет нанесено много маркеров (29, 70).

Чтобы уменьшить перекрытие, вы можете добавить к данным небольшой случайный шум. Размер шума часто выбирается равным ширине единицы измерения. Например, к значению 70 кг вы можете добавить количество u , где u — равномерная случайная величина в интервале [-0,5, 0,5]. Вы можете обосновать дрожание, предположив, что истинный вес человека весом 70 кг с равной вероятностью находится в любом месте интервала [69,5, 70,5].

Контекст данных важен при принятии решения о дрожании. Например, возраст обычно округляется в меньшую сторону: 29-летний человек может праздновать свой 29-й день рождения сегодня или, возможно, ему исполнится 30 завтра, но ей все равно 29 лет. Следовательно, вы можете изменить возраст, добавив величину v , где v — равномерная случайная величина в интервале [0,1]. (Мы игнорируем статистически значимый случай женщин, которым остается 29 лет в течение многих лет!)

Источник: Jittering to prevent overplotting in statistical graphics

Мы можем использовать NumPy для добавления шума из нормального распределения со средним 0 и стандартным отклонением 2.

см. документацию NumPy

In [8]:

import numpy as np

noise = np.random.normal(0, 2, size=len(brfss))
height_jitter = height + noise

Вот как выглядит график с дрожащими (jittered) высотами.

In [9]:

plt.plot(height_jitter, weight, 'o',
         alpha=0.02, markersize=1)

plt.xlabel('Height in cm')
plt.ylabel('Weight in kg')
plt.title('Scatter plot of weight versus height');

Столбцы исчезли, но теперь мы видим, что есть строки, в которых люди округляют свой вес. Мы также можем исправить это с помощью дрожания веса.

In [10]:

noise = np.random.normal(0, 2, size=len(brfss))
weight_jitter = weight + noise

In [11]:

plt.plot(height_jitter, weight_jitter, 'o',
         alpha=0.02, markersize=1)

plt.xlabel('Height in cm')
plt.ylabel('Weight in kg')
plt.title('Scatter plot of weight versus height');

Наконец, давайте увеличим масштаб области, где находится большинство точек данных.

Функции xlim и ylim устанавливают нижнюю и верхнюю границы для осей $x$ и $y$; в данном случае мы наносим рост от 140 до 200 сантиметров и вес до 160 килограмм.

Вот как это выглядит.

In [12]:

plt.plot(height_jitter, weight_jitter, 'o',
         alpha=0.02, markersize=1)

plt.xlim([140, 200])
plt.ylim([0, 160])
plt.xlabel('Height in cm')
plt.ylabel('Weight in kg')
plt.title('Scatter plot of weight versus height');

Теперь у нас есть достоверная картина взаимосвязи между ростом и весом.

Ниже вы можете увидеть вводящий в заблуждение график, с которого мы начали, и более надежный, которым мы закончили. Они явно разные, и они предлагают разные истории о взаимосвязи между этими переменными.

In [13]:

# Set the figure size
plt.figure(figsize=(8, 3))

# Create subplots with 2 rows, 1 column, and start plot 1
plt.subplot(1, 2, 1)
plt.plot(height, weight, 'o')

plt.xlabel('Height in cm')
plt.ylabel('Weight in kg')
plt.title('Scatter plot of weight versus height')

# Adjust the layout so the two plots don't overlap
plt.tight_layout()

# Start plot 2
plt.subplot(1, 2, 2)

plt.plot(height_jitter, weight_jitter, 'o',
         alpha=0.02, markersize=1)

plt.xlim([140, 200])
plt.ylim([0, 160])
plt.xlabel('Height in cm')
plt.ylabel('Weight in kg')
plt.title('Scatter plot of weight versus height')
plt.tight_layout()

Смысл этого примера в том, что для создания эффективного графика разброса требуются некоторые усилия.

Упражнение: Набирают ли люди вес с возрастом? Мы можем ответить на этот вопрос, визуализировав взаимосвязь между весом и возрастом.

Но прежде чем строить диаграмму рассеяния, рекомендуется визуализировать распределения по одной переменной за раз. Итак, давайте посмотрим на возрастное распределение.

Набор данных BRFSS включает столбец AGE, который представляет возраст каждого респондента в годах. Чтобы защитить конфиденциальность респондентов, возраст округляется до пятилетних интервалов. AGE содержит середину интервалов (bins).

  • Извлеките переменную 'AGE' из фрейма данных brfss и присвойте ее age.

  • Постройте функцию вероятности (Probability mass function, PMF) для age в виде гистограммы, используя Pmf из empiricaldist.

empiricaldist — библиотека Python, представляющая эмпирические функции распределения.

In [14]:

try:
    import empiricaldist
except ImportError:
    !pip install empiricaldist

In [15]:

from empiricaldist import Pmf

Упражнение: Теперь давайте посмотрим на распределение веса.

Столбец, содержащий вес в килограммах, — это WTKG3. Поскольку этот столбец содержит много уникальных значений, отображение его как функции вероятности (PMF) работает плохо.

In [17]:

Pmf.from_seq(weight).bar()

plt.xlabel('Weight in kg')
plt.ylabel('PMF')
plt.title('Distribution of weight');

Чтобы получить лучшее представление об этом распределении, попробуйте построить график функции распределения (Cumulative distribution function, CDF).

Вычислите функцию распределения (CDF) нормального распределения с тем же средним значением и стандартным отклонением и сравните его с распределением веса.

Подходит ли нормальное распределение для этих данных? А как насчет логарифмического преобразования весов?

Упражнение: Теперь давайте построим диаграмму разброса (scatter plot) для weight и age.

Отрегулируйте alpha и markersize, чтобы избежать наложения (overplotting). Используйте ylim, чтобы ограничить ось y от 0 до 200 килограммов.

Упражнение: В предыдущем упражнении возрасты указаны в столбцах, потому что они были округлены до 5-летних интервалов (bins). Если мы добавим дрожание (jitter), диаграмма рассеяния покажет взаимосвязь более четко.

  • Добавьте случайный шум к age со средним значением 0 и стандартным отклонением 2.5.
  • Создайте диаграмму рассеяния и снова отрегулируйте alpha и markersize.

Визуализация отношений¶

В предыдущем разделе мы использовали диаграммы разброса для визуализации взаимосвязей между переменными, а в упражнениях вы исследовали взаимосвязь между возрастом и весом. В этом разделе мы увидим другие способы визуализации этих отношений, в том числе диаграммы размаха и скрипичные диаграммы.

Я начну с диаграммы разброса веса в зависимости от возраста.

In [23]:

age = brfss['AGE']
noise = np.random.normal(0, 1.0, size=len(brfss))
age_jitter = age + noise

plt.plot(age_jitter, weight_jitter, 'o',
         alpha=0.01, markersize=1)

plt.xlabel('Age in years')
plt.ylabel('Weight in kg')
plt.ylim([0, 200])
plt.title('Weight versus age');

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

Это позволяет увидеть форму распределения в каждой возрастной группе и различия между группами.

С этой точки зрения кажется, что вес увеличивается до 40-50 лет, а затем начинает уменьшаться.

Если мы пойдем дальше, то сможем использовать ядерную оценку плотности (Kernel Density Estimation, KDE) для оценки функции плотности в каждом столбце и построения графика. И для этого есть название — скрипичная диаграмма (violin plot).

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

Вот так:

In [24]:

data = brfss.dropna(subset=['AGE', 'WTKG3'])
data.shape

dropna() создает новый фрейм данных, который удаляет строки из brfss, где AGE или WTKG3 равны NaN.

Теперь мы можем вызвать функцию violinplot.

см. документацию по violinplot

In [25]:

import seaborn as sns

sns.violinplot(x='AGE', y='WTKG3', data=data, inner=None)

plt.xlabel('Age in years')
plt.ylabel('Weight in kg')
plt.title('Weight versus age');

Аргументы x и y означают, что нам нужно AGE на оси x и WTKG3 на оси y.

data — это только что созданный фрейм данных, который содержит переменные для отображения.

Аргумент inner=None немного упрощает график.

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

Другой, связанный с этим способ просмотра данных, называется диаграмма размаха (ящик с усами, box plot).

Код для создания диаграммы размаха очень похож.

см. документацию по boxplot

In [26]:

sns.boxplot(x='AGE', y='WTKG3', data=data, whis=10)

plt.xlabel('Age in years')
plt.ylabel('Weight in kg')
plt.title('Weight versus age');

Я включил аргумент whis=10, чтобы отключить функцию, которая нам не нужна.

Каждый прямоугольник представляет распределение веса в возрастной группе. Высота каждого прямоугольника представляет собой диапазон от 25-го до 75-го процентиля. Линия в середине каждого прямоугольника — это медиана. Шипы, торчащие сверху и снизу, показывают минимальное и максимальное значения.

На мой взгляд, этот график дает лучшее представление о взаимосвязи между весом и возрастом.

  • Глядя на медианы, кажется, что люди в возрасте от 40 лет являются самыми тяжелыми; люди младшего и старшего возраста легче.

  • Глядя на размеры ящиков, кажется, что люди в возрасте от 40 также имеют наибольший разброс в весе.

  • Эти графики также показывают, насколько искажено распределение веса; то есть самые тяжелые люди намного дальше от медианы, чем самые легкие.

Для данных, которые склоняются к более высоким значениям, иногда полезно рассматривать их в логарифмической шкале.

Мы можем сделать это с помощью Pyplot-функции yscale.

In [27]:

sns.boxplot(x='AGE', y='WTKG3', data=data, whis=10)

plt.yscale('log')
plt.xlabel('Age in years')
plt.ylabel('Weight in kg (log scale)')
plt.title('Weight versus age');

Чтобы наиболее четко показать взаимосвязь между возрастом и весом, я бы использовал этот рисунок.

В следующих упражнениях у вас будет возможность создать скрипичную диаграмму и диаграмму размаха.

Упражнение: Ранее мы рассмотрели диаграмму рассеяния (scatter plot) по росту и весу и увидели, что более высокие люди, как правило, тяжелее. Теперь давайте более подробно рассмотрим диаграмму размаха (box plot).

Фрейм данных brfss содержит столбец с именем _HTMG10, который представляет высоту в сантиметрах, разбитую на группы по 10 см.

  • Составьте диаграмму размаха, показывающую распределение веса в каждой группе роста.

  • Постройте ось Y в логарифмическом масштабе.

Предложение: если метки на оси x сталкиваются, вы можете повернуть их следующим образом:

plt.xticks(rotation='45')

Упражнение: В качестве второго примера давайте посмотрим на взаимосвязь между доходом (income) и ростом.

В BRFSS доход представлен как категориальная переменная; то есть респондентов относят к одной из 8 категорий доходов. Имя столбца — INCOME2.

Прежде чем связывать доход с чем-либо еще, давайте посмотрим на распределение, вычислив функцию вероятности (PMF).

  • Извлеките INCOME2 из brfss и присвойте его income.

  • Постройте функцию вероятности (PMF) для income в виде гистограммы (bar chart).

Примечание: вы увидите, что около трети респондентов относятся к группе с самым высоким доходом; лучше, если бы было больше лидирующих групп, но мы будем работать с тем, что у нас есть.

Упражнение: Создайте скрипичную диаграмму (violin plot), которая показывает распределение роста в каждой группе дохода.

Вы видите взаимосвязь между этими переменными?

Корреляция¶

В предыдущем разделе мы визуализировали отношения между парами переменных. Теперь мы узнаем о коэффициенте корреляции, который количественно определяет силу этих взаимосвязей.

Когда люди говорят «корреляция», они имеют в виду любую связь между двумя переменными. В статистике обычно это означает коэффициент корреляции Пирсона, который представляет собой число от -1 до 1, которое количественно определяет силу линейной связи между переменными.

Для демонстрации я выберу три столбца из набора данных BRFSS:

In [31]:

columns = ['HTM4', 'WTKG3', 'AGE']
subset = brfss[columns]

Результатом является фрейм данных только с этими столбцами.

С этим подмножеством данных мы можем использовать метод corr, например:

Out[32]:

HTM4 WTKG3 AGE
HTM4 1.000000 0.474203 -0.093684
WTKG3 0.474203 1.000000 0.021641
AGE -0.093684 0.021641 1.000000

Результатом является корреляционная матрица. В первой строке корреляция HTM4 с самим собой равна 1. Это ожидаемо; корреляция чего-либо с самим собой равна 1.

Следующая запись более интересна; соотношение роста и веса составляет около 0.47. Коэффициент положительный, это означает, что более высокие люди тяжелее, и он умеренный по силе, что означает, что он имеет некоторую прогностическую ценность. Если вы знаете чей-то рост, вы можете лучше предположить его вес, и наоборот.

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

Корреляция между возрастом и весом еще меньше. Напрашивается вывод, что нет никакой связи между возрастом и весом, но мы уже видели, что она есть. Так почему же корреляция такая низкая?

Помните, что зависимость между весом и возрастом выглядит так.

In [33]:

data = brfss.dropna(subset=['AGE', 'WTKG3'])
sns.boxplot(x='AGE', y='WTKG3', data=data, whis=10)

plt.xlabel('Age in years')
plt.ylabel('Weight in kg')
plt.title('Weight versus age');

Люди за сорок — самые тяжелые; люди младшего и старшего возраста легче. Итак, эта связь нелинейна.

Но корреляция измеряет только линейные отношения. Если связь нелинейная, корреляция обычно недооценивает ее силу.

Чтобы продемонстрировать, я сгенерирую несколько поддельных данных: xs содержит точки с равным интервалом между -1 и 1.

ys — это квадрат xs плюс некоторый случайный шум.

In [34]:

xs = np.linspace(-1, 1)
ys = xs**2 + np.random.normal(0, 0.05, len(xs))

Вот диаграмма рассеяния для xs и ys.

In [35]:

plt.plot(xs, ys, 'o', alpha=0.5)
plt.xlabel('x')
plt.ylabel('y')
plt.title('Scatter plot of a fake dataset');

Понятно, что это сильная связь; если вам дано x, вы можете гораздо лучше догадаться о y.

Но вот корреляционная матрица:

Out[36]:

array([[1.        , 0.01135475],
       [0.01135475, 1.        ]])

Несмотря на то, что существует сильная нелинейная зависимость, вычисленная корреляция близка к 0.

В общем, если корреляция высока, то есть близка к 1 или -1, вы можете сделать вывод, что существует сильная линейная зависимость.
Но если корреляция близка к 0, это не означает, что связи нет; может быть связь нелинейная.

Это одна из причин, по которой я считаю, что корреляция не является хорошей статистикой.

В частности, корреляция ничего не говорит о наклоне. Если мы говорим, что две переменные коррелируют, это означает, что мы можем использовать одну для предсказания другой. Но, возможно, это не то, о чем мы заботимся.

Например, предположим, что нас беспокоит влияние увеличения веса на здоровье, поэтому мы строим график зависимости веса от возраста от 20 до 50 лет.

Я создам два поддельных набора данных, чтобы продемонстрировать суть дела. В каждом наборе данных xs представляет возраст, а ys — вес.

Я использую np.random.seed для инициализации генератора случайных чисел, поэтому мы получаем одни и те же результаты при каждом запуске.

In [37]:

np.random.seed(18)
xs1 = np.linspace(20, 50)
ys1 = 75 + 0.02 * xs1 + np.random.normal(0, 0.15, len(xs1))

plt.plot(xs1, ys1, 'o', alpha=0.5)
plt.xlabel('Age in years')
plt.ylabel('Weight in kg')
plt.title('Fake dataset #1');

А вот и второй набор данных:

In [38]:

np.random.seed(18)
xs2 = np.linspace(20, 50)
ys2 = 65 + 0.2 * xs2 + np.random.normal(0, 3, len(xs2))

plt.plot(xs2, ys2, 'o', alpha=0.5)
plt.xlabel('Age in years')
plt.ylabel('Weight in kg')
plt.title('Fake dataset #2');

Я построил эти примеры так, чтобы они выглядели одинаково, но имели существенно разные корреляции:

In [39]:

rho1 = np.corrcoef(xs1, ys1)[0][1]
rho1

In [40]:

rho2 = np.corrcoef(xs2, ys2)[0][1]
rho2

В первом примере сильная корреляция, близкая к 0.75. Во втором примере корреляция умеренная, близкая к 0.5. Поэтому мы можем подумать, что первые отношения более важны. Но посмотрите внимательнее на ось y на обоих рисунках.

В первом примере средняя прибавка в весе за 30 лет составляет менее 1 килограмма; во втором больше 5 килограммов!

Если нас беспокоит влияние увеличения веса на здоровье, второе соотношение, вероятно, более важно, даже если корреляция ниже.

Статистика, которая нас действительно волнует, — это наклон линии, а не коэффициент корреляции.

В следующем разделе мы увидим, как оценить этот наклон. Но сначала давайте попрактикуемся с корреляцией.

Упражнения: Цель BRFSS — изучить факторы риска для здоровья, поэтому в него включены вопросы о диете.

Столбец _VEGESU1 представляет количество порций овощей, которые респонденты ели в день.

Посмотрим, как эта переменная связана с возрастом и доходом.

  • Во фрейме данных brfss выберите столбцы 'AGE', INCOME2 и _VEGESU1.
  • Вычислите корреляционную матрицу для этих переменных.

Упражнение: В предыдущем упражнении корреляция между доходом и потреблением овощей составляет около 0.12. Корреляция между возрастом и потреблением овощей составляет примерно -0.01.

Что из следующего является правильной интерпретацией этих результатов?

  • A: люди в этом наборе данных с более высоким доходом едят больше овощей.
  • B: Связь между доходом и потреблением овощей линейна.
  • C: Пожилые люди едят больше овощей.
  • D: Между возрастом и потреблением овощей может быть сильная нелинейная зависимость.

Упражнение: В общем, рекомендуется визуализировать взаимосвязь между переменными перед вычислением корреляции. В предыдущем примере мы этого не делали, но еще не поздно.

Создайте визуализацию взаимосвязи между возрастом и овощами. Как бы вы описали отношения, если они есть?

Простая регрессия¶

В предыдущем разделе мы видели, что корреляция не всегда измеряет то, что мы действительно хотим знать. В этом разделе мы рассмотрим альтернативу: простую линейную регрессию.

Давайте еще раз посмотрим на взаимосвязь между весом и возрастом. В предыдущем разделе я создал два фальшивых набора данных, чтобы доказать свою точку зрения:

In [44]:

plt.figure(figsize=(8, 3))

plt.subplot(1, 2, 1)
plt.plot(xs1, ys1, 'o', alpha=0.5)
plt.xlabel('Age in years')
plt.ylabel('Weight in kg')
plt.title('Fake dataset #1')
plt.tight_layout()

plt.subplot(1, 2, 2)
plt.plot(xs2, ys2, 'o', alpha=0.5)
plt.xlabel('Age in years')
plt.ylabel('Weight in kg')
plt.title('Fake dataset #2')
plt.tight_layout()

Тот, что слева, имеет более высокую корреляцию, около 0,75 по сравнению с 0,5.

Но в этом контексте статистика, которая нас, вероятно, волнует, — это наклон линии, а не коэффициент корреляции.

Чтобы оценить наклон, мы можем использовать linregress из SciPy-библиотеки stats.

см. документацию по scipy.stats.linregress

In [45]:

from scipy.stats import linregress

res1 = linregress(xs1, ys1)
res1._asdict()

Out[45]:

{'slope': 0.018821034903244396,
 'intercept': 75.08049023710964,
 'rvalue': 0.7579660563439407,
 'pvalue': 1.8470158725245546e-10,
 'stderr': 0.002337849260560816,
 'intercept_stderr': 0.08439154079040351}

Результатом является объект LinregressResult, содержащий пять значений: slope — наклон линии, наиболее подходящей для данных; intercept — это пересечение линии регрессии.

Для фальшивого набора данных 1 расчетный наклон составляет около 0,019 кг в год или около 0,56 кг за 30-летний период.

Вот результаты для фальшивого набора данных 2.

In [47]:

res2 = linregress(xs2, ys2)
res2._asdict()

Out[47]:

{'slope': 0.17642069806488858,
 'intercept': 66.60980474219305,
 'rvalue': 0.47827769765763184,
 'pvalue': 0.0004430600283776228,
 'stderr': 0.046756985211216295,
 'intercept_stderr': 1.6878308158080693}

Расчетный наклон почти в 10 раз выше: около 0,18 килограмма в год или около 5,3 килограмма за 30 лет:

То, что здесь называется rvalue, — это корреляция, которая подтверждает то, что мы видели раньше; первый пример имеет более высокую корреляцию, около 0,75 по сравнению с 0,5.

Но сила эффекта, измеренная по наклону линии, во втором примере примерно в 10 раз выше.

Мы можем использовать результаты linregress для вычисления линии тренда: сначала мы получаем минимум и максимум наблюдаемых xs; затем мы умножаем на наклон и добавляем точку пересечения.

Вот как это выглядит для первого примера.

In [49]:

plt.plot(xs1, ys1, 'o', alpha=0.5)

fx = np.array([xs1.min(), xs1.max()])
fy = res1.intercept + res1.slope * fx
plt.plot(fx, fy, '-')

plt.xlabel('Age in years')
plt.ylabel('Weight in kg')
plt.title('Fake Dataset #1');

То же самое и со вторым примером.

In [50]:

plt.plot(xs2, ys2, 'o', alpha=0.5)

fx = np.array([xs2.min(), xs2.max()])
fy = res2.intercept + res2.slope * fx
plt.plot(fx, fy, '-')

plt.xlabel('Age in years')
plt.ylabel('Weight in kg')
plt.title('Fake Dataset #2');

Визуализация здесь может ввести в заблуждение, если вы не посмотрите внимательно на вертикальные шкалы; наклон на втором рисунке почти в 10 раз больше.

Рост и вес¶

Теперь рассмотрим пример с реальными данными.
Вот еще раз диаграмма рассеяния для роста и веса.

In [51]:

plt.plot(height_jitter, weight_jitter, 'o',
         alpha=0.02, markersize=1)

plt.xlim([140, 200])
plt.ylim([0, 160])
plt.xlabel('Height in cm')
plt.ylabel('Weight in kg')
plt.title('Scatter plot of weight versus height');

Теперь мы можем вычислить линию регрессии. linregress не может обрабатывать значения NaN, поэтому мы должны использовать dropna для удаления строк, в которых отсутствуют нужные нам данные.

In [52]:

subset = brfss.dropna(subset=['WTKG3', 'HTM4'])
height_clean = subset['HTM4']
weight_clean = subset['WTKG3']

Теперь мы можем вычислить линейную регрессию.

In [53]:

res_hw = linregress(height_clean, weight_clean)
res_hw._asdict()

Out[53]:

{'slope': 0.9192115381848256,
 'intercept': -75.12704250330165,
 'rvalue': 0.47420308979024434,
 'pvalue': 0.0,
 'stderr': 0.005632863769802997,
 'intercept_stderr': 0.960886026543318}

Наклон составляет около 0,92 килограмма на сантиметр, а это означает, что мы ожидаем, что человек выше на один сантиметр будет почти на килограмм тяжелее. Это довольно много.

Как и раньше, мы можем вычислить линию тренда:

In [54]:

fx = np.array([height_clean.min(), height_clean.max()])
fy = res_hw.intercept + res_hw.slope * fx

In [55]:

plt.plot(height_jitter, weight_jitter, 'o', alpha=0.02, markersize=1)

plt.plot(fx, fy, '-')

plt.xlim([140, 200])
plt.ylim([0, 160])
plt.xlabel('Height in cm')
plt.ylabel('Weight in kg')
plt.title('Scatter plot of weight versus height');

Наклон этой линии соответствует диаграмме рассеяния.

Линейная регрессия имеет ту же проблему, что и корреляция; она только измеряет силу линейной связи.

Вот диаграмма рассеяния веса по сравнению с возрастом, которую мы видели ранее.

In [56]:

plt.plot(age_jitter, weight_jitter, 'o',
         alpha=0.01, markersize=1)

plt.ylim([0, 160])
plt.xlabel('Age in years')
plt.ylabel('Weight in kg')
plt.title('Weight versus age');

Люди в возрасте от 40 — самые тяжелые; люди младшего и старшего возраста легче. Так что отношения нелинейные.

Если мы не посмотрим на диаграмму рассеяния и вслепую вычислим линию регрессии, мы получим вот что.

In [57]:

subset = brfss.dropna(subset=['WTKG3', 'AGE'])
age_clean = subset['AGE']
weight_clean = subset['WTKG3']

res_aw = linregress(age_clean, weight_clean)
res_aw._asdict()

Out[57]:

{'slope': 0.023981159566968686,
 'intercept': 80.07977583683224,
 'rvalue': 0.021641432889064033,
 'pvalue': 4.3743274930078674e-11,
 'stderr': 0.003638139410742186,
 'intercept_stderr': 0.18688508176870167}

Расчетный уклон составляет всего 0,02 килограмма в год или 0,6 килограмма за 30 лет.

А вот как выглядит линия тренда.

In [58]:

plt.plot(age_jitter, weight_jitter, 'o',
         alpha=0.01, markersize=1)

fx = np.array([age_clean.min(), age_clean.max()])
fy = res_aw.intercept + res_aw.slope * fx
plt.plot(fx, fy, '-')

plt.ylim([0, 160])
plt.xlabel('Age in years')
plt.ylabel('Weight in kg')
plt.title('Weight versus age');

Прямая линия плохо отражает взаимосвязь между этими переменными.

Давайте попрактикуемся в простой регрессии.

Упражнение: Как вы думаете, кто ест больше овощей, люди с низким доходом или люди с высоким доходом? Давайте выясним.

Как мы видели ранее, столбец INCOME2 представляет уровень дохода, а _VEGESU1 представляет количество порций овощей, которые респонденты ели в день.

Постройте диаграмму рассеяния порций овощей в зависимости от дохода, то есть с порциями овощей по оси y и группой доходов по оси x.

Вы можете использовать ylim для увеличения нижней половины оси y.

Упражнение: Теперь давайте оценим наклон зависимости между потреблением овощей и доходом.

  • Используйте dropna для выбора строк, в которых INCOME2 и _VEGESU1 не равны NaN.

  • Извлеките INCOME2 и _VEGESU1 и вычислите простую линейную регрессию этих переменных.

Каков наклон линии регрессии? Что означает этот наклон в контексте изучаемого нами вопроса?

Упражнение: Наконец, постройте линию регрессии поверх диаграммы рассеяния.

Регрессионный и корреляционный анализ – статистические методы исследования. Это наиболее распространенные способы показать зависимость какого-либо параметра от одной или нескольких независимых переменных.

Ниже на конкретных практических примерах рассмотрим эти два очень популярные в среде экономистов анализа. А также приведем пример получения результатов при их объединении.

Регрессионный анализ в Excel

Показывает влияние одних значений (самостоятельных, независимых) на зависимую переменную. К примеру, как зависит количество экономически активного населения от числа предприятий, величины заработной платы и др. параметров. Или: как влияют иностранные инвестиции, цены на энергоресурсы и др. на уровень ВВП.

Результат анализа позволяет выделять приоритеты. И основываясь на главных факторах, прогнозировать, планировать развитие приоритетных направлений, принимать управленческие решения.

Регрессия бывает:

  • линейной (у = а + bx);
  • параболической (y = a + bx + cx2);
  • экспоненциальной (y = a * exp(bx));
  • степенной (y = a*x^b);
  • гиперболической (y = b/x + a);
  • логарифмической (y = b * 1n(x) + a);
  • показательной (y = a * b^x).

Рассмотрим на примере построение регрессионной модели в Excel и интерпретацию результатов. Возьмем линейный тип регрессии.

Задача. На 6 предприятиях была проанализирована среднемесячная заработная плата и количество уволившихся сотрудников. Необходимо определить зависимость числа уволившихся сотрудников от средней зарплаты.

Зарплата сотрудников.

Модель линейной регрессии имеет следующий вид:

У = а0 + а1х1 +…+акхк.

Где а – коэффициенты регрессии, х – влияющие переменные, к – число факторов.

В нашем примере в качестве У выступает показатель уволившихся работников. Влияющий фактор – заработная плата (х).

В Excel существуют встроенные функции, с помощью которых можно рассчитать параметры модели линейной регрессии. Но быстрее это сделает надстройка «Пакет анализа».

Активируем мощный аналитический инструмент:

  1. Нажимаем кнопку «Офис» и переходим на вкладку «Параметры Excel». «Надстройки».
  2. Надстройки.

  3. Внизу, под выпадающим списком, в поле «Управление» будет надпись «Надстройки Excel» (если ее нет, нажмите на флажок справа и выберите). И кнопка «Перейти». Жмем.
  4. Управление.

  5. Открывается список доступных надстроек. Выбираем «Пакет анализа» и нажимаем ОК.

Пакет анализа.

После активации надстройка будет доступна на вкладке «Данные».

Анализ данных.

Теперь займемся непосредственно регрессионным анализом.

  1. Открываем меню инструмента «Анализ данных». Выбираем «Регрессия».
  2. Регрессия.

  3. Откроется меню для выбора входных значений и параметров вывода (где отобразить результат). В полях для исходных данных указываем диапазон описываемого параметра (У) и влияющего на него фактора (Х). Остальное можно и не заполнять.
  4. Параметры регрессии.

  5. После нажатия ОК, программа отобразит расчеты на новом листе (можно выбрать интервал для отображения на текущем листе или назначить вывод в новую книгу).

Результат анализа регрессии.

В первую очередь обращаем внимание на R-квадрат и коэффициенты.

R-квадрат – коэффициент детерминации. В нашем примере – 0,755, или 75,5%. Это означает, что расчетные параметры модели на 75,5% объясняют зависимость между изучаемыми параметрами. Чем выше коэффициент детерминации, тем качественнее модель. Хорошо – выше 0,8. Плохо – меньше 0,5 (такой анализ вряд ли можно считать резонным). В нашем примере – «неплохо».

Коэффициент 64,1428 показывает, каким будет Y, если все переменные в рассматриваемой модели будут равны 0. То есть на значение анализируемого параметра влияют и другие факторы, не описанные в модели.

Коэффициент -0,16285 показывает весомость переменной Х на Y. То есть среднемесячная заработная плата в пределах данной модели влияет на количество уволившихся с весом -0,16285 (это небольшая степень влияния). Знак «-» указывает на отрицательное влияние: чем больше зарплата, тем меньше уволившихся. Что справедливо.



Корреляционный анализ в Excel

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

Если связь имеется, то влечет ли увеличение одного параметра повышение (положительная корреляция) либо уменьшение (отрицательная) другого. Корреляционный анализ помогает аналитику определиться, можно ли по величине одного показателя предсказать возможное значение другого.

Коэффициент корреляции обозначается r. Варьируется в пределах от +1 до -1. Классификация корреляционных связей для разных сфер будет отличаться. При значении коэффициента 0 линейной зависимости между выборками не существует.

Рассмотрим, как с помощью средств Excel найти коэффициент корреляции.

Для нахождения парных коэффициентов применяется функция КОРРЕЛ.

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

Время и стоимость.

Ставим курсор в любую ячейку и нажимаем кнопку fx.

  1. В категории «Статистические» выбираем функцию КОРРЕЛ.
  2. Аргумент «Массив 1» — первый диапазон значений – время работы станка: А2:А14.
  3. Аргумент «Массив 2» — второй диапазон значений – стоимость ремонта: В2:В14. Жмем ОК.

Функция КОРРЕЛ.

Чтобы определить тип связи, нужно посмотреть абсолютное число коэффициента (для каждой сферы деятельности есть своя шкала).

Для корреляционного анализа нескольких параметров (более 2) удобнее применять «Анализ данных» (надстройка «Пакет анализа»). В списке нужно выбрать корреляцию и обозначить массив. Все.

Полученные коэффициенты отобразятся в корреляционной матрице. Наподобие такой:

Корреляционная матрица.

Корреляционно-регрессионный анализ

На практике эти две методики часто применяются вместе.

Пример:

Объем продаж и цена.

  1. Строим корреляционное поле: «Вставка» — «Диаграмма» — «Точечная диаграмма» (дает сравнивать пары). Диапазон значений – все числовые данные таблицы.
  2. Поле корреляции.

  3. Щелкаем левой кнопкой мыши по любой точке на диаграмме. Потом правой. В открывшемся меню выбираем «Добавить линию тренда».
  4. Добавить линию тренда.

  5. Назначаем параметры для линии. Тип – «Линейная». Внизу – «Показать уравнение на диаграмме».
  6. Линейная линия тренда.

  7. Жмем «Закрыть».

Линейная корреляция.

Теперь стали видны и данные регрессионного анализа.

Предварительные замечания

UPD: К сожалению, оформление этой статьи проходило с большим трудом, так что сначала она даже была выложена в облаке, а сюда попал только усеченный вариант без гиперссылок, рисунков, формул и большинства спойлеров, но зато с подробным обсуждением особенностей нового WYSIWYG-редактора. Сейчас, благодаря модераторам сайта, большинство багов удалось поправить. Но вычеркивать из статьи целый раздел «задним числом» — это, наверно, неправильно: сейчас ведь не 1984. Поэтому я все-таки оставлю этот спойлер на месте:

Сказ о том, почему я не справился с оформлением

Для начала, я внимательно прочитал все советы для новичков о том, как оформить статью. Я честно старался им следовать. Подготовив статью в гуглдоках, я проверил текст, расставил ссылки и примечания, добавил формулы и картинки, предварительно сохраненные в habrastorage. После чего воспользовался рекомендованным хабраконвертером.

Я был готов, что при конвертации все сноски исчезнут, и что спойлеры придется заново расставить вручную. Меня не смущало, что все форматирование надо будет проверить, ссылки на рисунки — поправить, а формулы — набрать еще раз. Единственное, к чему я не был готов — что при копировании текста из хабраконвертора в окно редактирования статьи исчезнут АБСОЛЮТНО ВСЕ теги. Причем, буфер обмена у меня работает правильно — в Notepad конвертированный текст вставляется без ошибок.

Конечно, первое, что приходит в голову в такой ситуации: я ведь использую режим wysiwyg (это следует из адресной строки браузера), может, все дело в этом? Наверно, надо переключиться в режим редактирования исходного текста и что-нибудь там поправить? Но на странице редактора просто нет такой кнопки! Получается, что режим wysiwyg — основной и единственный… Но ведь тогда я должен сразу видеть все гиперссылки? А их просто нет?! Или для этого все же надо переключиться в режим «просмотра оформленной публикации»? Но такой кнопки тоже нет! Есть только кнопка отправить на модерацию. Нажав которую, я больше ничего в своем посте изменить не смогу…

Ошеломленный, но не сломленный до конца, я честно взялся за редактирование статьи. Сначала я попытался расставить заголовки. Как это делают нормальные люди в большинстве нормальных редакторов? Выделяют будущий заголовок и нажимают кнопку «Heading N». Но как оказалось, в окне редактирования Хабра сделать это нельзя! Выделяю текст, появляется контекстное меню… но такой опции там просто нет (см. скриншоты)! Как нет и соответствующей кнопки рядом с окном редактора. А по нажатию рекомендованной клавиши «/» выделенный текст просто заменяется на «/» (самое прикольное, что меню, — видимо, относящееся к уже уничтоженному тексту, — при этом все же всплывает!) Если же просто нажать слэш, ничего не выделяя, то контекстное меню позволяет вставить только формулу или изображение. Но не заголовок (см. скриншоты).

Чтобы получить доступ к более полному меню, надо почему-то сначала создать пустую строку. При этом кнопка «…», продублированная в правом верхнем углу любого абзаца, содержит только одну опцию «Удалить». Признаюсь, мне это показалось немножко странным. Но ведь Хабр — это сайт, сделанный профессионалами IT для общения профессионалов IT?! Наверно, я просто что-то не до конца понимаю в современном эргономически выверенном дизайне?!

Ладно, приступим к вставке рисунков. Оформляя статью в гуглдоках, я заранее загрузил их на habrastorage. Теперь надо только открыть хранилище и добавить ссылки в статью. На всякий случай, вхожу в хранилище и… где мои файлы, загруженные в прошлый раз? Их нет (см. скриншоты)! Хотя я всегда логинился под своим именем.

Ну ладно, у всех бывают свои причуды. Очевидно, хранилище Хабра считает излишним хранить историю загрузок пользователя. Но я же все-таки не совсем идиот. В прошлый раз при загрузке изображений я предусмотрительно скопировал прямые ссылки на них. И, понятно, проверил, что эти ссылки работают. Точнее, что они работали сразу после загрузки изображений:

Выбираю в контекстном меню редактора пункт «Картинка». Я уже почти не надеюсь увидеть перед собой «ноготки» от изображений, ранее загруженных мной в habrastorage, хотя по здравому смыслу именно такой результат (с возможностью выбора нужной картинки) был бы самым логичным. И верно — на экране всплывает обычное окно выбора файла. Ничего не поделаешь, надо вручную копипастить ссылку на ранее загруженное изображение. Вставляю… и получаю ответ habrastorage: «Файл не найден».

Вы знаете, это все-таки слишком.

Конечно, любое сообщество вправе ставить входные барьеры и отсеивать тех, кто заведомо профнепригоден. Но я же пишу статью про статобработку, а не собеседуюсь на оформителя публикаций в стеке технологий ушедшего века. Хотя, даже в редакторах MS DOS я все-таки мог перемещаться по тексту клавишами «вправо» и «влево», прыгать на соседнее слово с помощью «Ctrl+вправо» и «Ctrl+влево», а также выделять текст, добавляя к этим клавишам Shift. Поэтому мне трудно понять, почему в 2021г, работая в одном из самых популярных браузеров Google Chrome (версия 87.0.4280.141-64), на сайте Хабра я лишен этих возможностей. Или почему невозможно вставить слово, скопированное в буфер обмена из начала строки, в конец той же самой строки (оно почему-то обрамляется двумя пустыми строчками сверху и снизу). Или почему при копировании фрагмента, содержащего только что оформленную гиперссылку, в соседний абзац, эта гиперссылка таинственно исчезает. Нет, я не критикую редактор Хабра — но как человек, генерирующий и набирающий сотни страниц оригинального текста в год, хочу все-таки высказать сомнение в том, что такое поведение редактора, хмм, удобно для всех. Впрочем, я совсем не профессионал IT, а всего лишь научный сотрудник и по совместительству программист. Возможно, я и правда просто не дорос до нужного уровня.

Тем не менее, я все еще не оставил надежду увидеть свою статью про ложные корреляции здесь, на Хабре. Эта тематика уже не раз звучала тут прежде и вызывала большой интерес. Но самое главное так никто почему-то и не сказал — а у меня, как я думаю, есть ответ на эти вопросы. Заинтересованная и компетентная аудитория, чья критика будет аргументированной и полезной -что еще нужно автору подобных статей?

Однако потратив полный рабочий день на подготовку статьи, я не готов потратить еще два раза по столько на преодоление барьера хабраредактора. Как бы высоко я не оценивал местное сообщество, я просто не вижу смысла осваивать ущербный ретроредактор в качестве теста на профпригодность. Невольно закрадывается сомнение в уровне профессионализма команды Хабра, которая не может (или не хочет?) дать новым пользователям простые и понятные инструменты для оформления публикаций. Или хотя бы доходчиво объяснить, как пользоваться теми, что есть. Но если так, то стоит ли прилагать столько усилий, чтобы стать частью такого сообщества?

P.S. И — да, я несколько раз пытался задать эти вопросы редакторам, писал на почту neo@habr.team, прежде чем высказать все это здесь. Даже пробовал задавать такие вопросы авторам статей, посвященных оформлению хабр-публикаций (хотя это с моей стороны уже почти спам). Но ответов не получил. Поэтому и решил обернуть свою просьбу о помощи вот в такой вот немного странный формат..

UPD: Спасибо модераторам! Со мной связались и на часть вопросов ответили: Наш старший модератор подправил вёрстку до публикации — что возможно в рамках нового редактора. То описание, что вы приводили, оно актуально для старого редактора. Мы сейчас в процессе миграции, поэтому не всё окончательно железобетонно реализовано.

Благодаря модераторам, большинство багов с оформлением получилось исправить! А все высказанные выше замечания к первоначальной версии редактора можно теперь рассматривать как мой баг-репорт ;-)

Надеюсь, что эта пара лишних абзацев в начале статьи никого не обидит и не напряжет…. А теперь — к делу:

Связь между количеством морских пиратов и глобальной температурой кажется очевидной. Интересно, что для пиратства в области авторских прав (на рисунке не показаны) корреляция с потеплением намного более сильная, только вот знак корреляции будет противоположный

Связь между количеством морских пиратов и глобальной температурой кажется очевидной. Интересно, что для пиратства в области авторских прав (на рисунке не показаны) корреляция с потеплением намного более сильная, только вот знак корреляции будет противоположный

Введение

Все чаще объектами статистического анализа становятся не массивы (таблицы) значений, а временные ряды. Такие ряды формируются при наблюдениях за природными процессами и явлениями, изучении социологических или макроэкономических показателей, при промышленном производстве и сбыте продукции. Главное, что отличает временной ряд от других типов данных – это то, что номер (время) наблюдения имеет значение. То есть, важен не только результат измерения, но и тот момент времени, когда оно выполнено. К сожалению, при применении статистических методов на этот нюанс часто не обращают внимания. Однако, именно эта «мелочь» приводит к очень серьезным и нетривиальным следствиям с точки зрения обработки таких сигналов. Самые обычные формулы, описанные во всех учебниках, внезапно отказываются работать. А попытки их применения «в лоб» иногда дают, мягко говоря, весьма неожиданные результаты. Например, статистическая связь между числом пиратов и глобальным потеплением оказывается не просто «значимой», а «практически достоверной». Что удивительно, столкнувшись с такой ситуацией, даже достаточно грамотные исследователи не всегда понимают, где же тут «порылась собака» . Данные вроде бы правильные, математика (как и жена Цезаря) – точно вне подозрений. А результат – ни в какие ворота… А Вы твердо уверены, что всегда правильно оцениваете значимость таких корреляций?

Содержание:

  • Часть 1. Необходимая тривиальщина

  • Часть 2. Критерий истины – практика

  • Часть 3. А вот и ответы

  • Часть 4. И еще раз про доказательство от противного

  • В сухом остатке

Дополнительное замечание про распределения: нормально ли, что анализируя данные геофизического мониторинга, мы никогда не встретимся с нормальным распределением?


Часть 1 – необходимая тривиальщина

Если вы еще не совсем забыли прочитанное в учебниках по статистике, можете смело этот раздел пропустить, и переходить сразу к части 2-ой.

Как известно, математика невероятно эффективно описывает реальность. Построив абстрактную математическую модель, мы отвлекаемся от всего несущественного, и это позволяет нам не только лаконично выразить свойства моделируемого объекта на языке формул, но часто также и сделать далеко идущие выводы о закономерностях его поведения. Сказать, что такие выводы полезны для практики – это не сказать ничего. Буквально вся окружающая нас сейчас техника была бы невозможна без математики, транслирующей физические законы и их следствия в тот формат, который можно непосредственно применять для разных практических нужд.

Одна из базовых математических абстракций, с изучения которой начинается любой курс матстатистики – это понятие случайной величины. Считается, что получая значение случайной величины результате какого-то измерения, или эксперимента, мы извлекаем его из некоторого пространства элементарных событий. Очень важно, что при повторении опыта мы извлекаем новое значение случайной величины из той же самой генеральной совокупности. Именно этот – тривиальный, казалось бы, факт – позволяет нам строить очень мощные и крайне полезные статистические критерии. В частности, мы можем вычислять произвольные функции одной или нескольких случайных величин и делать определенные выводы о поведении этих функций.

Например, чтобы оценить наличие связи между двумя случайными величинами X и Y, мы можем вычислить коэффициент Rxy корреляции между ними. Для независимых случайных величин с не слишком экзотическими свойствами значение Rxy будет обычно приближаться к нулю по мере роста объема той выборки, по которой мы оцениваем Rxy. Прелесть и мощь математики проявляется в том, что, имея самую минимальную информацию об исходных случайных величинах (достаточно знать их функцию распределения), мы можем точно сказать, как именно (по какому закону) будет приближаться к нулю Rxy, если X и Y действительно независимы. Например, если X и Y имеют нормальное распределение, то 95%-ный доверительный уровень z95 можно приблизительно оценить по формуле:

z_{95}=2/ sqrt{N}

где N – это количество пар измерений в выборке (будем считать, что их достаточно много). Говоря простыми словами, если мы оценим коэффициент корреляции Rxy между X и Y по выборке, содержащей 100 пар значений, то для независимых X и Y лишь в 5% случаев (т.е. в каждой 20-й выборке) модуль Rxy окажется больше 0.2.

А значение

z_{99} =3/sqrt{N} =0.3

и вовсе будет превышено лишь в 1% случаев. Поэтому, получив в такой ситуации Rxy=0.4 (то есть, намного выше, чем z), мы говорим, что произошло очень редкое и маловероятное, в рамках выдвинутой гипотезы, событие. Настолько редкое, что гипотеза о независимости X и Y (иногда ее называют «нулевая гипотеза»), скорее всего, неверна, и ее надо отвергнуть. Именно так обычно доказывают, что X и Y статистически связаны.

Мало-мальски искушенный читатель, наверно, уже начинает зевать: зачем я опять повторяю известные вещи? Все сказанное выше, действительно, очень похоже на правду. Однако, как говорили еще в древнем Риме, тут не вся правда.

Первый (и очень важный) подводный камень состоит в том, что наши расчеты (которые только что привели к противоречию) на самом деле опирались не только на предположение о независимости случайных величин X и Y, но также еще и на предположение о нормальности их распределения. Аномальное (в рамках нашей модели) значение Rxy действительно говорит, что модель, по всей видимости, неверна. Однако ошибка может быть в любом месте. Вполне возможно, что в X и Y действительно независимы, просто они имеют другое (не гауссовское) распределение. При котором значение Rxy=0.4 при объеме выборки N=100 вполне обыденно и типично.

В частности, наши формулы для оценки z будут бесстыдно врать, если окажется, что дисперсия X и Y бесконечна. Простейший пример такой ситуации – это так называемое «пушечное» распределение. Давайте поставим орудие на вращающийся лафет, повернем его в случайное положение (все углы от 0 до 180° равновероятны) и пальнем в прямую бесконечную стену. (Не забываем, что это модель, и снаряд летит по прямой). Теперь, чтобы ввести случайную величину L с бесконечным матожиданием и бесконечной дисперсией, достаточно взять линейку и измерить то расстояние, которое пролетит ядро

до попадания в стенку

Интересно, что если слегка изменить условия, и ввести на стене-мишени ось координат с нулем в основании перпендикуляра, опущенного от пушки на стену, и определить L, как значение на этой оси, то матожидание L теперь будет просто нулем. А дисперсия – все равно бесконечна. Для любознательных предлагаю задачку: попробуйте построить «антоним» нашей случайной величины, с конечной дисперсией, но бесконечным матожиданием. Возможно ли это?

К счастью для большинства аналитиков, столь экзотические распределения в обычной практической жизни встречаются редко. Бывает, что распределение может оказаться, например, равномерным, однако это не очень сильно повлияет на уровни значимости z статистики Rxy. Они лишь немного изменятся по сравнению со значениями, рассчитанными для гауссовых X и Y. Конечно, есть еще проблема «тяжелых хвостов», или выбросов, но она сравнительно просто может быть решена выбраковкой таких значений перед началом анализа.

Так все-таки, нужно ли проверять функцию распределения исходных случайных величин на нормальность? Формально, конечно, да… Но могу вас заверить, что для достаточно длинного экспериментального ряда (если, конечно, это не выходной сигнал гауссовского генератора белого шума) такая проверка всегда покажет, что распределение достоверно отличается от нормального. Поэтому общепринятый метод заключается в том, что в такой ситуации уровни значимости все равно вычисляются по стандартным формулам для случайных величин с гауссовым распределением. А затем оговаривается, что поскольку условия применимости этих формул немного нарушены, реальная значимость вместо 99%-ной может оказаться, например, 97%-ной. Считается, что такие различия не играют особой роли, если рассчитанный уровень значимости превышается многократно. Например, если при объеме выборки 10000 корреляция Rxy=0.25 (а оценка 3/sqrt(N) дает значение z99=0.03), то исходную гипотезу о независимости X и Y все равно можно смело отвергнуть. Ведь значение z превышено на порядок!

Буквоеды, конечно, скажут, что подобный вывод не является математически строгим. Но реальный мир всегда отличается от абстрактной модели. При обработке результатов любого эксперимента мы неизбежно должны принимать какие-то допущения, доказать которые невозможно. Вот и в описанном выше примере, несмотря на отсутствие строгости, этот вывод будет верным по существу, так как для действительно независимых случайных величин X и Y такое событие (Rxy=0.25 при объеме выборки 10000) практически невероятно ни при каком разумном распределении X и Y.

Ну что, переходим к расчетам?

Часть 2. Критерий истины – практика

А теперь приведу пару фактов, сопоставление которых друг с другом полностью разрушает только что сформулированную, такую стройную и прекрасную картину нашего модельного мира.

Факт первый: при числе измерений порядка 10000 для любых независимых случайных величин с «адекватным» распределением (имеются в виду распределения, похожие на равномерное или нормальное, без гигантских выбросов и т.п.) вероятность получения |Rxy| > 0.1 исчезающе мала. Во всяком случае, она существенно меньше, чем 0.01.

Факт второй: если посчитать коэффициент корреляции между любыми геофизическими параметрами, для которых имеются достаточно длинные ряды наблюдений, то сплошь рядом окажется, что Rxy по модулю больше, чем 0.1. Иногда – много больше. Причем, это верно для любых пар рядов. В зависимости от конкретного набора параметров, такие «суперзначимые» корреляции могут наблюдаться в половине всех случаев или даже в трех четвертях. Точная цифра не имеет значения – ведь согласно теории вероятностей, для действительно независимых величин они должны обнаруживаться чуть чаще, чем никогда. Так что же, все до одного геофизические параметры правда взаимозависимы? Погодите немного с ответом…

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

Уровень воды в скважине на Камчатке (вверху) и двигательная активность колумбийских тараканов (внизу). Двигательная активность измерялась автоматически, в рамках эксперимента по прогнозу землетрясений биологическим способом

Уровень воды в скважине на Камчатке (вверху) и двигательная активность колумбийских тараканов (внизу). Двигательная активность измерялась автоматически, в рамках эксперимента по прогнозу землетрясений биологическим способом

Внезапно, корреляция равна Rxy= –0.35 при числе измерений около 20 000:

Между прочим, очень показательная картинка! С одной стороны, корреляционное поле наглядно демонстрирует, что связь между переменными весьма расплывчатая. С другой - формальный 99%-ный уровень значимости, равный в этом случае 0.02, превышен на ДВА порядка. То есть, критерии однозначно говорят, что эта корреляционная связь не случайна. Мне одному кажется, что эти два утверждения как-то не совсем идеально согласуются между собой?

Между прочим, очень показательная картинка! С одной стороны, корреляционное поле наглядно демонстрирует, что связь между переменными весьма расплывчатая. С другой — формальный 99%-ный уровень значимости, равный в этом случае 0.02, превышен на ДВА порядка. То есть, критерии однозначно говорят, что эта корреляционная связь не случайна. Мне одному кажется, что эти два утверждения как-то не совсем идеально согласуются между собой?

А вот для уровня активности сомиков в соседнем аквариуме расчеты дают значение Rxy= +0.16. Знак корреляции изменился, но это тоже на порядок выше формального 99%-ного уровня значимости. Неужели животные как-то чувствуют происходящее в скважине за тысячи километров?!

Дальше еще интереснее. Возьмем ряды чисел микроземлетрясений, произошедших в 1975-1985 годах в нескольких сейсмоактивных районах, и формально их сдвинем по времени лет на 20 (просто добавим поправку к календарю). Теперь прокоррелируем эти ряды, например, с изменениями солнечного радиоизлучения на волне 2800 МГц (10.7 см) в 1955-1965 гг. Здравый смысл говорит, что после такого сдвига всякая корреляция должна исчезать. А вот и неправда! Сами значения Rxy при сдвиге, разумеется, поменяются. Но они все равно на порядки выше формальных 99%-ных уровней значимости. Хотя ни о какой причинно-следственной связи при подобном временном сдвиге

и речи не может быть

Например, для сейсмических станций NN 1-6 Гармского полигона корреляция получилась равной +0.04, +0.12, -0.01, +0.28, +0.45 и +0.17 при количестве наблюдений около 3800 шт на каждой станции, что соответствует значению z99=0.05. А всего из 15 станций значимая на 99%-ном уровне корреляция наблюдается в 9 случаях…

Те же зашкаливающие корреляции наблюдаются и практически для любых социальных процессов, а также в эконометрике. Правда, тут длина временных рядов по объективным причинам намного меньше – десятки, в лучшем случае сотни точек. Зато можно коррелировать практически что угодно! Например, успеваемость школьников в Нижневартовске с урожаем кокосов на Филиппинах. А среднегодовую заболеваемость легочными инфекциями в Санкт-Петербурге (возьмем наблюдения за последние 30 лет) с – индексом Доу-Джонса. Впрочем, вместо индекса Доу-Джонса с тем же успехом можно подставить в формулы урожайность пшеницы во Франции в двадцатом веке (только добавьте +100 к номеру года), или поголовье овец в Австралии в девятнадцатом (тут уже придется добавить две сотни). Можно даже проделать небольшой трюк, и интерпретировать число 1899 (и другие номера лет), как номер суток, считая с определенной даты. Если подобрать начальную дату так, чтобы этот ряд хронологически совместился с количеством вызовов скорой помощи в сутки в среднем российском городе (для которого вам повезет найти эти данные), итоговый вывод от этого не изменится! То есть, пробуя коррелировать разные случайно выбранные пары достаточно длинных экспериментальных рядов, мы будем лишь изредка получать Rxy, близкий к нулю. Гораздо чаще коэффициент корреляции будет намного выше любых формальных

уровней значимости

Необходимое уточнение: «гораздо чаще» получится, только если наблюдений достаточно много – десятки и сотни тысяч отсчетов. Чем короче ряды, чем меньше значение N, тем выше значение z. Поэтому для коротких рядов вероятность, что коэффициент корреляции случайно попадет в интервал [-z, +z], возрастает.

Получается, что абсолютно любые процессы взаимосвязаны? Только для доказательства наличия «значимой» корреляции нужно нарастить длину ряда? Но как тогда быть с примерами, где мы просто «сдвинули» ряд во времени или вообще подменили шаг временной шкалы? Ведь речь тут идет уже не о синхронных процессах (при очень большом желании, поверить в связь школьников и кокосов все-таки можно), а именно о случайно наложенных друг на друга произвольных экспериментальных сигналах?!

Я понимаю, что у половины читателей рука уже тянется к пистолету, чтобы приставить его к виску автора и потребовать доказательства, то есть данные. Сразу скажу, что данных в табличном виде не будет. Оригинальные данные я не имею права выкладывать в сеть (но их описание и картинки можно найти, например, вот тут: раз, два, три). А давать ссылки на общедоступные данные просто не вижу смысла – всегда можно возразить, что они специально подобраны. Однако, вы легко можете проверить написанное выше, прокоррелировав между собой пару десятков случайно выбранных рядов долговременных наблюдений практически любых природных и/или социальных процессов, доступных в Сети. Чем более длинные серии вы загрузите, тем ощутимее окажется разница между корреляциями, ожидаемыми для случайных независимых переменных, и фактически полученными значениями Rxy. Самое сложное, что вам придется для этого сделать – это импортировать данные в выбранную программу статистического анализа. После этого расчет коэффициента корреляции обычно выполняется

нажатием одной кнопки

Кому интересно сделать чуть больше – например, посмотреть корреляционное поле в динамике или поиграться с модифицированными сигналами – могу предложить для расчетов нашу программу анализа временных рядов. Она позволяет более аккуратно, чем типовые статистические пакеты, работать с рядами, содержащими пропущенные наблюдения и другие дефекты, а также имеет несколько дополнительных фишек, полезных при работе с календарными шкалами времени (таких, как автоматическая синхронизация данных, согласование скважности у разных рядов и т.д.). Но сразу предупрежу, что это специализированный продукт для работы с данными долговременного мониторинга, и его «порог входа» заметно выше обычного.

Впрочем, пора уже вспомнить о другой половине читателей, которые не поленились проверить мои утверждения (или просто поверили на слово), и теперь пребывают в сомнении когнитивного диссонанса. Ведь расчеты сделаны стопроцентно надежными методами, а достоверность данных не вызывает ни малейших сомнений. При этом причинная связь между рядами абсолютно исключена (особенно, когда они сдвинуты на столетия). И несмотря на все это, корреляция в доброй половине случаев просто зашкаливает. Боюсь, что рука у них уже тоже тянется к пистолету, только дуло направлено не в сторону автора, а к собственному виску…

Так вот, НЕДЕЛАЙТЕЭТОГО!

Прочтите сначала третью часть этого опуса. Я очень старался написать ее так, чтобы предотвратить ненужные жертвы!

Часть 3. А вот и ответы

Наверно, многие уже поняли, к чему я клоню. Для остальных я сначала сформулирую правильный вывод, а уже потом его обосную. На самом деле, все вышеописанные «недоразумения» объясняются тем, что мы пытаемся применять аппарат, предназначенный для работы со случайными величинами, для анализа случайных процессов.

Главное, что отличает случайный процесс от случайной величины – процесс явным образом зависит от времени. Проводя наблюдения за каким-то природным явлением, мы вовсе не извлекаем получаемые значения из одной и той же генеральной совокупности. Даже если настройки прибора и положение датчиков не менялись, состояние измеряемого объекта в каждый новый момент времени будет другое. Попросту говоря, это будет уже другая случайная величина. Серию измерений, выполненных одним и тем же прибором, даже неподвижно стоящим под одной и той же горой, нельзя рассматривать, как серию выборок из одного и того же пространства элементарных событий. Это – основная причина, почему привычные статистические методы в этом случае не работают.

Повторю еще раз другими словами. Для описания случайного процесса, в отличие от случайной величины, недостаточно задать его функцию распределения один раз. Просто потому, что в разные моменты времени t она может быть разной. А еще для случайного процесса надо определить функцию совместного распределения вероятностей для моментов времени t и t+dt и так далее. Чтобы оценить эти функции, наблюдая за случайным процессом, нужна не одна реализация, а целый ансамбль. Ну, хотя бы десяток реализаций. Причем, это обязательно должны быть реализации одного и того же случайного процесса. Тогда и только тогда для каждого момента времени у нас будет несколько измерений одной и той же случайной величины. Как их обрабатывать дальше, мы уже знаем из школьного вузовского курса статистики.

Но что же делать, если у нас есть только одна Земля, одна Камчатка, один Памир? Как изучать взаимосвязи между процессами, каждый из которых мы наблюдаем в единственном экземпляре?! (тут должна быть театральная пауза ;-)

Не буду врать, что над этим вопросом издревле размышляли лучшие умы человечества. Однако кое-какие способы выкрутиться из этой подставы все же имеются. Оказывается, что для некоторых классов случайных процессов, все характеристики которых неизменны во времени, наличие ансамбля не обязательно! То есть, нам не потребуется десять реализаций, чтобы оценить какую-нибудь статистику. Вместо этого достаточно некоторое время понаблюдать за одной! Например, чтобы оценить коэффициент корреляции между X и Y, достаточно иметь одну реализацию X и еще одну – Y. Что, собственно, все мы и делаем, когда вычисляем коэффициент корреляции между потеплением и пиратами. Ну или рыбками на Памире и уровнем в скважине на Камчатке.

Если процесс позволяет такие трюки, то он называется эргодическим. Иногда различают эргодичность по среднему, по дисперсии и т.д. При анализе наблюдений очень часто априори считается, что исследуемые процессы являются эргодическими. Иногда это даже не оговаривается специально.

Но если мы хотим избежать грубейших ошибок, то нельзя забывать, что гипотеза эргодичности – это только гипотеза. Подавляющее большинство долговременных наблюдений продолжается конечное время (вы поняли, это такая шутка), а на выходе получается единственный ряд. Доказать эргодичность такого процесса в принципе невозможно. Поэтому, начиная анализ данных, мы чаще всего просто постулируем ее явным образом или неявно. А что еще остается делать, если в наличии куча данных и руки чешутся начальник требует срочно использовать всю мощь безупречного, многократно проверенного теоретиками статистического инструментария для достижения практических целей?

Ну а теперь пришло время поставить финальную точку.

На самом деле, все упомянутые в этой статье временные ряды (как, впрочем, и подавляющее большинство других подобных сигналов) вовсе не являются эргодическими. И если доказать эргодичность процесса достаточно сложно (я бы сказал, практически нереально), то вот опровергнуть ее часто можно без особых усилий. Достаточно просто вспомнить, что практически все экспериментальные временные ряды существенно нестационарны. Огромный массив накопленных экспериментальных данных однозначно свидетельствует, что априорная «базовая модель» почти любого природного процесса – это вовсе не белый шум (для которого действительно можно заигрывать с эргодичностью). Нет, спектры большинства реальных сигналов имеют

степенной вид

А именно, спектральная мощность W пропорциональна периоду T в некоторой положительной степени b. В электронике, геофизике и во многих других прикладных областях показатель степени b чаще всего лежит где-то между 0.5 и 2.0. В предельном случае (когда показатель степени b=2), мы имеем процесс с независимыми случайными приращениями. Для такого процесса каждое следующее значение (в момент времени t+1) состоит из значения в момент времени t и случайной добавки. Про такой процесс говорят, что он имеет бесконечную память. Но если текущие значения ряда зависят от предыдущих, то такой процесс нельзя считать стационарным.

Примеры модельных рядов со степенным спектром. Степенной параметр b подписан на графиках

Примеры модельных рядов со степенным спектром. Степенной параметр b подписан на графиках

На этом рисунке приведены примеры модельных рядов с различным степенным показателем b, сгенерированных по алгоритму Фосса. Видно, что чем больше значение b, тем очевиднее нестационарность сигнала. Но если ряд не стационарен, то он заведомо не может рассматриваться, как последовательность измерений одной и той же случайной величины. Для него совершенно бессмысленно оценивать те статистики, которые вводятся и исследуются при анализе случайных величин.

Да, конечно, мы можем формально подставить измеренные значения в формулы, и даже посчитать что-то внешне напоминающее Rxy. Однако каким будет теоретическое распределение этой статистики, никому не известно.

Кстати говоря: если Вы можете аккуратно посчитать это распределение для рядов со степенным спектром, то, пожалуйста, напишите это в комментариях или мне в личку. Я сам, к сожалению, не умею — но думаю, что такой результат был бы достаточно интересен для геофизиков, занимающихся обработкой экспериментальных рядов

Ясно только, что классические доверительные границы в этом случае считать бесполезно. Они просто не имеют никакого отношения к делу, так как мы имеем все основания отвергнуть «нулевую модель» вне зависимости от того, получится ли у нас |Rxy| >> z, или же будет Rxy = 0. Ведь занявшись анализом временных рядов, мы уже вышли за пределы этой модели, сформулированной для работы со случайными величинами. А это значит, что полная (правильная) формулировка модели теперь должна включать не два, а три постулата. А именно,

ЕСЛИ выполнены три условия:
У1) X и Y статистически независимы
У2) какое-нибудь ограничение на функции распределения X и Y
У3) X и Y – это случайные величины
(т.е. анализируемая выборка составлена из пар (Xi, Yi), извлеченных из одной и той же генеральной совокупности)

ТО значение Rxy почти никогда, по модулю, не будет превышать z, где z — это некоторая функция от объема выборки N, а конкретный вид этой функции определяется условием У2.

Вполне очевидно, что когда мы рассматриваем временные ряды, для которых не доказана эргодичность (тем более, есть прямые свидетельства нестационарности), третье условие заведомо нарушается. Этого более чем достаточно, чтобы отклонить сформулированную модель, даже не вычисляя значение Rxy.

Часть 4. И еще раз про доказательство от противного

К сожалению, у меня нет таланта писать доступно и кратко. А донести свою мысль все-таки хочется. Поэтому давайте попробуем заново проследить всю логику доказательства наличия статистической связи между переменными X и Y методом корреляций.

  1. Первый шаг доказательства заключается в том, что мы формулируем некоторый набор требований, или предположений, о характеристиках X и Y. В число этих предположений входит и допущение о том, что они статистически независимы.

  2. На втором шаге мы берем экспериментальные данные и вычисляем некоторую совместную статистику X и Y. В данном случае это – статистика Rxy.

  3. Третий шаг состоит в вычислении функции распределения Rxy при условии, что все сформулированные ранее допущения – например, условия У1, У2 и У3 – истинны.

  4. На четвертом шаге мы сравниваем фактически полученное значение Rxy с теоретическим распределением этой величины. Если оказывается, что вероятность случайно наблюдать именно такое значение Rxy пренебрежимо мала, то отсюда делается вывод, что не все исходные допущения истинны. Проще говоря, что хотя бы одно из условий У1, У2 и У3 – ложно.

  5. Наконец, если у нас нет абсолютно никаких сомнений в истинности всех прочих предположений, кроме допущения о статистической независимости X и Y, то мы делаем вывод об ошибочности именно этого допущения. То есть, если мы уверены в истинности У2 и У3, то ложным должно быть условие У1. Что, собственно и означает: связь есть!

Теперь понятно, почему эта схема «сбоит» при работе с нестационарными временными рядами. Сравнивая вычисленный коэффициент корреляции с теоретическими уровнями значимости z, мы не учитываем, что теоретическое распределение z рассчитано для одной модели, а коэффициент корреляции Rxy вычислен совсем для другой. Если упустить из вида этот нюанс, можно получать «значимые корреляции» через раз. Что порою и наблюдается даже в статьях, напечатанных в рецензируемых научных журналах.

Если у вас остается еще хоть капля сомнений, или вы просто не любите абстрактные рассуждения, проведите простой

численный эксперимент

со случайными, независимыми, но не эргодическими рядами. Возьмите полсотни реализаций белого шума S(t) длиной по миллиону значений (t=0,1,… 1000000). Проинтегрируйте каждую такую реализацию по правилу: P(0)=0, P(t+1)=P(t)+S(t). И потом посчитайте значение парного коэффициента корреляции для случайно взятых рядов P(t). Или для их фрагментов (только не слишком коротких). Просто по построению, все эти ряды и фрагменты абсолютно независимы друг от друга. Можно даже не вычислять, чему равен уровень значимости z для коэффициента корреляции Rxy при подобном объеме выборки. Так как первый же тест покажет разницу на порядки. Надеюсь, мне не нужно дополнительно пояснять, что полученный результат совершенно не связан с возможной неидеальностью генератора случайных чисел?

Похожий, но чуть менее впечатляющий результат можно получить и для рядов с другими значениями степенного параметра спектра в пределах обычного для геофизических наблюдений диапазона b=[0.5, 2.0]. Все дело в том, что такие ряды, в простонародном названии – фликкер-шум, страдают так называемой низкочастотной расходимостью спектра. Это значит, что на любом интервале времени максимальную амплитуду имеют те вариации, чья характерная длительность сопоставима с длиной ряда. Если мы рассматриваем ограниченную во времени серию наблюдений, это очень похоже на линейный тренд. А корреляция между двумя линейными трендами, как известно, всегда равна ±1. Точнее, оценивать корреляцию для линейно спадающих или растущих функций бессмысленно. Чтобы построить линейную функцию, нужно ровно две точки, которые и определяют число степеней свободы процесса. Можно до бесконечности увеличивать частоту дискретизации такого сигнала, – количество информации (= число независимых значений данных) от этого не изменится. Поэтому в формулу для оценки уровня значимости z коэффициента корреляции Rxy в этом случае надо подставлять значение N=2. Ну и чему равно z в таком случае?

Как говорится, вот то-то же и оно.

Впрочем, и после вычитания линейного тренда фликкер-шумовой ряд вовсе не станет стационарным. Так как останутся периоды, близкие к половине длины ряда и т.д. А ведь кроме фликкер-шумовой «базы», в большинстве реальных геофизических, макроэкономических и других подобных сигналов обычно присутствуют также и периодические компоненты, иногда весьма мощные (сезонная, суточная, приливная и т.д.); сплошь и рядом встречается экспоненциальный тренд и другие особенности, камня на камне не оставляющие от надежды на стационарность… И, тем более, на эргодичность…

В сухом остатке

  1. Временной ряд – это не набор значений некоторой случайной величины! Когда мы формируем выборку из некоторой генеральной совокупности, все измерения можно переставлять как угодно — от этого ничего не изменится. А вот значения временного ряда переставлять нельзя — они всегда индексированы. Принципиально важно, что любые статистики случайного процесса (=временного ряда) явно зависят (или могут зависеть) от времени. Собственно, при анализе наблюдений именно эта зависимость нас чаще всего и интересует.

  2. Для оценки статистик случайного процесса одной реализации, вообще говоря, недостаточно! Это почти то же самое, как оценивать дисперсию случайной величины по единственному ее измерению. Чтобы использовать методы матстатистики, нужен целый пакет рядов (ансамбль реализаций случайного процесса). Если речь идет о парной статистике (корреляция между X и Y), нужен ансамбль из пар временных рядов. Располагая таким набором, мы можем оценивать коэффициент Rxy корреляции между случайными процессами X и Y, как функцию времени t. А вот говорить о корреляции случайных процессов безотносительно момента времени t, в общем случае, беспредметно. Так как значения Rxy в разные моменты времени t, вообще говоря, будут разные.

  3. Увы, но на практике у нас обычно имеется только одна Вселенная и только одна реализация каждого временного ряда. Чтобы использовать статистические методы при работе с такими данными, приходится опираться на гипотезу эргодичности. Она предполагает, что вместо вычисления какой-то статистики (например, среднего) по ансамблю реализаций, мы можем взять один ряд, усреднить по времени, и получить то же самое. Если ряд эргодический, этот подход реально работает!

  4. Проблема, однако, в том, что почти любые сигналы, получаемые при долговременных наблюдениях за геофизическими, макроэкономическими и многими другими процессами, практически никогда не удовлетворяют условию эргодичности. Применяя при обработке подобных данных стандартный аппарат матстатистики, ориентированный на манипуляции со случайными величинами, запросто можно не просто «сесть в лужу», но и получить совершенно абсурдные результаты. И вовсе не потому, что эти методы чем-то плохи. Все дело в том, что неосторожно подменяя случайную величину случайным процессом, мы безоговорочно выходим за рамки дозволенного, грубо нарушая условия применимости этих методов.

  5. Если так, то как же тогда анализировать подобные временные ряды, спросите вы? Нестационарные, с трендами, сезонными и суточными циклами, и т.д.? Как искать связь между ними и оценивать ее значимость? Хороший вопрос. Я постараюсь написать об этом в следующей статье. Если, конечно, такая тематика будет интересна читателям Хабра.

P.S. Автор благодарит за полезные замечания и советы И.Цуркиса. При оформлении коллажа использована картинка с вот этого сайта.


Дополнительное замечание про распределения:

нормально ли, что анализируя данные геофизического мониторинга, мы никогда не встречаемся с нормальным распределением? 

Да-да, я в курсе про Центральную предельную теорему. Но еще больше я склонен верить практике обработки тысяч различных экспериментальных сигналов — прежде всего, данных геофизического мониторинга, но далеко не только его. Поэтому большая просьба к тем «чистым» математикам, которых задевает утверждение, что отсутствие нормальности — это нормально: не надо ругаться! Просто возьмите десяток-другой экспериментальных рядов, полученных в результате длительных (многие недели и месяцы) наблюдений и содержащих достаточное количество точек данных (десятки тысяч и более). И попробуйте найти среди них такие, чье распределение неотличимо от нормального, например, по критерию хи-квадрат. К сожалению или к счастью, жизнь несколько отличается от

идеальных моделей

В качестве примера приведу наблюдения скорости радиоактивного распада — процесса, который по определению является образцом стационарности и случайности (с учетом поправки за уменьшение количества делящегося вещества). Не буду сейчас обсуждать цель проведения вот этих измерений. Скажу только, что регистрация активности образцов плутония проводились в стабилизированных лабораторных условиях непрерывно в течение многих лет. Так вот, самый простой статистический анализ сразу же показал, что в этих рядах есть все виды нестационарности — начиная от суточных колебаний активности и кончая “шумом мерцания”, или фликкер-шумом. Понятно, что сам радиоактивный распад вне подозрений. Однако чем точнее измерения, чем стабильнее измеряемая величина, тем более заметным становится влияние на результат все более слабых эффектов и факторов. Контролировать их все невозможно. Авторы цитируемого эксперимента исключают температурный эффект, как возможную причину нестабильности. Однако кроме него, на результаты измерений могли влиять, например, изменения атмосферного давления и влажности воздуха (из-за этого меняется количество — частиц, поглощавшихся по пути от источника до детектора), дрейф характеристик полупроводникового детектора альфа-частиц и т.д.

Можно с уверенностью утверждать, что для подавляющего большинства сигналов, получаемых при долговременном мониторинге, условия ЦПТ не выполнены. Во-первых, нет никаких гарантий, что поведение контролируемой величины зависит от многих малых и независимых причинных факторов — наоборот, обычно они коррелированы между собой, а вклад некоторых преобладает. Но еще более важно, что практически все природные процессы нестационарны, что сразу же выводит их за рамки явлений, к которым может быть применена ЦПТ. Впрочем, это уже отдельный вопрос, который обсуждается в третьей части статьи.

Содержание:

Корреляционный анализ:

Связи между различными явлениями в природе сложны и многообразны, однако их можно определённым образом классифицировать. В технике и естествознании часто речь идёт о функциональной зависимости между переменными x и у, когда каждому возможному значению х поставлено в однозначное соответствие определённое значение у. Это может быть, например, зависимость между давлением и объёмом газа (закон Бойля—Мариотта).

В реальном мире многие явления природы происходят в обстановке действия многочисленных факторов, влияния каждого из которых ничтожно, а число их велико. В этом случае связь теряет свою однозначность и изучаемая физическая система переходит не в определённое состояние, а в одно из возможных для неё состояний. Здесь речь может идти лишь о так называемой статистической связи. Статистическая связь состоит в том, что одна случайная переменная реагирует на изменение другой изменением своего закона распределения. Следовательно, для изучения статистической зависимости нужно знать аналитический вид двумерного распределения. Однако нахождение аналитического вида двумерного распределения по выборке ограниченного объёма, во-первых, громоздко, во-вторых, может привести к значительным ошибкам. Поэтому на практике при исследовании зависимостей между случайными переменными X и У обычно ограничиваются изучением зависимости между одной из них и условным математическим ожиданием другой, т.е. Корреляционный анализ - определение и вычисление с примерами решения

Вопрос о том, что принять за зависимую переменную, а что — за независимую, следует решать применительно к каждому конкретному случаю.

Знание статистической зависимости между случайными переменными имеет большое практическое значение: с её помощью можно прогнозировать значение зависимой случайной переменной в предположении, что независимая переменная примет определенное значение. Однако, поскольку понятие статистической зависимости относится к осредненным условиям, прогнозы не могут быть безошибочными.    Применяя некоторые вероятностные методы, как будет показано далее, можно вычислить вероятность того, что ошибка прогноза не выйдет за определенные границы.

Введение в корреляционный анализ

Связь, которая существует между случайными величинами разной природы, например, между величиной X и величиной Y, не обязательно является следствием прямой зависимости одной величины от другой (так называемая функциональная связь).

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

Например, дети, которые чаще смотрят по телевизору американские боевики, меньше читают. Дети, которые больше читают, лучше учатся. Не так-то просто решить, где тут причины, а где следствия, но это и не является задачей статистики.

Статистика может лишь, выдвинув гипотезу о наличии связи, подкрепить ее цифрами. Если связь действительно имеется, говорят, что между двумя случайными величинами есть корреляция. Если увеличение одной случайной величины связано с увеличением второй случайной величины, корреляция называется прямой.

Например, количество прочитанных страниц за год и средний балл (успеваемость). Если, напротив рост одной величины связано с уменьшением другой, говорят об обратной корреляции. Например, количество боевиков и количество прочитанных страниц. Взаимная связь двух случайных величин называется корреляцией, корреляционный анализ позволяет определить наличие такой связи, оценить, насколько тесна и существенна эта связь. Все это выражается количественно.

Как определить, есть ли корреляция между величинами? В большинстве случаев, это можно увидеть на обычном графике. Например, по каждому ребенку из нашей выборки можно определить величину Корреляционный анализ - определение и вычисление с примерами решения (число страниц) и Корреляционный анализ - определение и вычисление с примерами решения (средний балл годовой оценки), и записать эти данные в виде таблицы. Построить оси X и Y, а затем нанести на график весь ряд точек таким образом, чтобы каждая из них имела определенную пару координат (Корреляционный анализ - определение и вычисление с примерами решения,Корреляционный анализ - определение и вычисление с примерами решения) из нашей таблицы. Поскольку мы в данном случае затрудняемся определить, что можно считать причиной, а что следствием, не важно, какая ось будет вертикальной, а какая горизонтальной.

Корреляционный анализ - определение и вычисление с примерами решения

Корреляционный анализ - определение и вычисление с примерами решения

Если график имеет вид а), то это говорит о наличии прямой корреляции, в случае, если он имеет вид б) — корреляция обратная. Отсутствие корреляции тоже можно приблизительно определить по виду графика — это случай в).

С помощью коэффициента корреляции можно посчитать насколько тесная связь существует между величинами.

Пусть, существует корреляция между ценой и спросом на товар. Количество купленных единиц товара в зависимости от цены у разных продавцов показано в таблице: Корреляционный анализ - определение и вычисление с примерами решения Видно, что мы имеем дело с обратной корреляцией. Для количественной оценки тесноты связи используют коэффициент корреляции: Корреляционный анализ - определение и вычисление с примерами решения

Коэффициент r мы считаем в Excel, с помощью функции Корреляционный анализ - определение и вычисление с примерами решения далее статистические функции, функция KOPPEЛ. По подсказке программы вводим мышью в два соответствующих поля два разных массива (X и Y). В нашем случае коэффициент корреляции получился r = -0,988.

Надо отметить, что чем ближе к 0 коэффициент корреляции, тем слабее связь между величинами. Наиболее тесная связь при прямой корреляции соответствует коэффициенту r, близкому к +1. В нашем случае, корреляция обратная, но тоже очень тесная, и коэффициент близок к -1.

Что можно сказать о случайных величинах, у которых коэффициент имеет промежуточное значение? Например, если бы мы получили r = 0,65. В этом случае, статистика позволяет сказать, что две случайные величины частично связаны друг с другом. Скажем на 65% влияние на количество покупок оказывала цена, а на 35% — другие обстоятельства. И еще одно важное обстоятельство надо упомянуть.

Поскольку мы говорим о случайных величинах, всегда существует вероятность, что замеченная нами связь — случайное обстоятельство. Причем вероятность найти связь там, где ее нет, особенно велика тогда, когда точек в выборке мало, а при оценке Вы не построили график, а просто посчитали значение коэффициента корреляции на компьютере. Так, если мы оставим всего две разные точки в любой произвольной выборке, коэффициент корреляции будет равен или +1 или -1. Из школьного курса геометрии мы знаем, что через две точки можно всегда провести прямую линию. Для оценки статистической достоверности факта обнаруженной Вами связи полезно использовать так называемую корреляционную поправку: Корреляционный анализ - определение и вычисление с примерами решения

Связь нельзя считать случайной, если: Корреляционный анализ - определение и вычисление с примерами решения

В то время как задача корреляционного анализа — установить, являются ли данные случайные величины взаимосвязанными, цель регрессионного анализа — описать эту связь аналитической зависимостью, т.е. с помощью уравнения. Мы рассмотрим самый несложный случай, когда связь между точками на графике может быть представлена прямой линией. Уравнение этой прямой линии Корреляционный анализ - определение и вычисление с примерами решения Корреляционный анализ - определение и вычисление с примерами решения

Зная уравнение прямой, мы можем находить значение функции по значению аргумента в тех точках, где значение X известно, a Y — нет. Эти оценки бывают очень нужны, но они должны использоваться осторожно, особенно, если связь между величинами не слишком тесная. Отметим также, что из сопоставления формул для b и r видно, что коэффициент не дает значение наклона прямой, а лишь показывает сам факт наличия связи.

Определение формы связи. Понятие регрессии

Определить форму связи — значит выявить механизм получения зависимой случайной переменной. При изучении статистических зависимостей форму связи можно характеризовать функцией регрессии (линейной, квадратной, показательной и т.д.).

Условное математическое ожидание Корреляционный анализ - определение и вычисление с примерами решенияслучайной переменной К, рассматриваемое как функция х, т.е. Корреляционный анализ - определение и вычисление с примерами решения, называется

функцией регрессии случайной переменной Y относительно X (или функцией регрессии Y по X). Точно так же условное математическое ожидание

Корреляционный анализ - определение и вычисление с примерами решения случайной переменной X, т.е. Корреляционный анализ - определение и вычисление с примерами решения называется функцией регрессии случайной переменной X относительно Y (или функцией регрессии X по Y).

На примере, дискретного распределения найдём функцию регрессии.

Функция регрессии имеет важное значение при статистическом анализе зависимостей между переменными и может быть использована для прогнозирования одной из случайных переменных, если известно значение другой случайной переменной. Точность такого прогноза определяется дисперсией условного распределения.

Несмотря на важность понятия функции регрессии, возможности её практического применения весьма ограничены. Для оценки функции регрессии необходимо знать аналитический вид двумерного распределения (X, Y). Только в этом случае можно точно определить вид функции регрессии, а затем оценить параметры двумерного распределения. Однако для подобной оценки мы чаще всего располагаем лишь выборкой ограниченного объема, по которой нужно найти вид двумерного распределения (X, Y), а затем вид функции регрессии. Это может привести к значительным ошибкам, так как одну и ту же совокупность точекКорреляционный анализ - определение и вычисление с примерами решенияна плоскости можно одинаково успешно описать с помощью различных функций. Именно поэтому возможности практического применения функции регрессии ограничены. Для характеристики формы связи при изучении зависимости используют понятие кривой регрессии.

Кривой регрессии Y по X (или Y на А) называют условное среднее значение случайной переменной У, рассматриваемое как функция определенного класса, параметры которой находят методом наименьших квадратов по наблюдённым значениям двумерной случайной величины (х, у), т.е.
Корреляционный анализ - определение и вычисление с примерами решения

Аналогично определяется кривая регрессии X по Y (X на Y):

Корреляционный анализ - определение и вычисление с примерами решения

Кривую регрессии называют также эмпирическим уравнением регрессии или просто уравнением регрессии. Уравнение регрессии является оценкой соответствующей функции регрессии.

Возникает вопрос:    почему для определения кривой регрессии

используют именно условное среднееКорреляционный анализ - определение и вычисление с примерами решения Функция у(х) обладает одним замечательным свойством: она даёт наименьшую среднюю погрешность оценки прогноза. Предположим, что кривая регрессии — произвольная функция. Средняя погрешность прогноза по кривой регрессии определяется математическим ожиданием квадрата разности между измеренной величиной и вычисленной по формуле кривой регрессии, т.е. Корреляционный анализ - определение и вычисление с примерами решения. Естественно потребовать вычисления такой кривой регрессии, средняя погрешность прогноза по которой была бы наименьшей. Таковой являетсяКорреляционный анализ - определение и вычисление с примерами решения Это следует из свойств минимальности рассеивания около центра распределенияКорреляционный анализ - определение и вычисление с примерами решения

Если рассеивание вычисляется относительноКорреляционный анализ - определение и вычисление с примерами решения то средний квадрат отклонения увеличивается. Поэтому можно сказать, что кривая регрессии, выражаемая как Корреляционный анализ - определение и вычисление с примерами решения минимизирует среднеквадратическую погрешность прогноза величины Y по X.

Основные положения корреляционного анализа

Статистические связи между переменными можно изучать методом корреляционного и регрессионного анализа. С помощью этих методов решают разные задачи; требования, предъявляемые к исследуемым переменным, в каждом методе различны.

Основная задача корреляционного анализа — выявление связи между случайными переменными путём точечной и интервальной оценки парных коэффициентов корреляции, вычисления и проверки значимости множественных коэффициентов корреляции и детерминации, оценки частных коэффициентов корреляции. Корреляционный анализ позволяет также оценить функцию регрессии одной случайной переменной на другую.

Предпосылки корреляционного анализа следующие:  

  •  1) переменные величины должны быть случайными;
  • 2) случайные величины должны иметь совместное нормальное распределение.

Рассмотрим простейший случай корреляционного анализа — двумерную модель. Введём основные понятия и опишем принцип проведения корреляционного анализа. Пусть X и Y — случайные переменные, имеющие совместное нормальное распределение. В этом случае связь между X и Y можно описать коэффициентом корреляции p;. Этот коэффициент определяется как ковариация между X и Y, отнесённая к их среднеквадратическим отклонениям:
Корреляционный анализ - определение и вычисление с примерами решения(1.1)

Оценкой коэффициента корреляции является выборочный коэффициент корреляции r. Для его нахождения необходимо знать оценки следующих параметров:   Корреляционный анализ - определение и вычисление с примерами решения.    Наилучшей оценкой

математического ожидания является среднее арифметическое, т.е.Корреляционный анализ - определение и вычисление с примерами решения

Оценкой дисперсии служит выборочная дисперсия, т.е.

Корреляционный анализ - определение и вычисление с примерами решения
Тогда выборочный коэффициент корреляции
Корреляционный анализ - определение и вычисление с примерами решения

Коэффициент р называют также парным коэффициентом корреляции, а r— выборочным парным коэффициентом корреляции.

При совместном нормальном законе распределения случайных величин X и Y, используя рассмотренные выше параметры распределения и коэффициент корреляции, можно получить выражение для условного математического ожидания, т. е, записать выражение для функции регрессии одной случайной величины на другую. Так, функция регрессии Y на X имеет вид:

Корреляционный анализ - определение и вычисление с примерами решения

функция регрессии X на Y — следующий вид:

Корреляционный анализ - определение и вычисление с примерами решения
ВыраженияКорреляционный анализ - определение и вычисление с примерами решения — называют коэффициентами регрессии.

Подставив в (1.3) соответствующие оценки параметров, получим уравнения регрессии, график которых — прямая линия, проходящая через точку Корреляционный анализ - определение и вычисление с примерами решенияЗапишем уравнение регрессии у на х и х на у:
Корреляционный анализ - определение и вычисление с примерами решения
Таким образом, в корреляционном анализе на основе оценок параметров двумерной нормальной совокупности получаем оценки тесноты связи между случайными переменными и можем оценить регрессию одной переменной на другую. Особенностью корреляционного анализа является строго линейная зависимость между переменными. Это обусловливается исходными предпосылками. На практике корреляционный анализ можно применять для обработки наблюдений, сделанных на предприятиях при нормальных условиях работы, если случайные изменения свойства сырья или других факторов вызывают случайные изменения свойств продукции.

Свойства коэффициента корреляции

Коэффициент корреляции является одним из самых распространенных способов измерения связи между случайными переменными. Рассмотрим некоторые свойства этого коэффициента.

Теорема 1. Коэффициент корреляции принимает значения на интервале (-1, +1).

Доказательство. Докажем справедливость утверждения для случая дискретных переменных. Запишем явно неотрицательное выражение:
Корреляционный анализ - определение и вычисление с примерами решения
Возведём выражение под знаком суммы в квадрат:

Корреляционный анализ - определение и вычисление с примерами решения

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

Таким образом, окончательно получаемКорреляционный анализ - определение и вычисление с примерами решения

Если коэффициент корреляции положителен, то связь между переменными также положительна и значения переменных увеличиваются или уменьшаются одновременно. Если коэффициент корреляции имеет отрицательное значение, то при увеличении одной переменной уменьшается другая.

Приведём следующее важное свойство коэффициента корреляции: коэффициент корреляции не зависит от выбора начала отсчёта и единицы измерения, т. е. от любых постоянных Корреляционный анализ - определение и вычисление с примерами решения таких, чтоКорреляционный анализ - определение и вычисление с примерами решения т.е.

Корреляционный анализ - определение и вычисление с примерами решения

Таким образом, переменные X и У можно уменьшать или увеличивать в а раз, а также вычитать или прибавлять к значениям X и У одно и то же число b. В результате величина коэффициента корреляции не изменится.

Если коэффициент корреляции Корреляционный анализ - определение и вычисление с примерами решения то случайные переменные некоррелированы. Понятие некоррелированности не следует смешивать с понятием независимости, независимые величины всегда некоррелированы. Однако обратное утверждение невероятно: некоррелированные величины могут быть зависимы и даже функционально, однако эта связь не линейная.

Выборочный коэффициент корреляции вычисляют по формуле (1.2). Имеется несколько модификаций этой формулы, которые удобно использовать при той или иной форме представления исходной информации. Так, при малом числе наблюдений выборочный коэффициент корреляции удобно вычислять по формуле

Корреляционный анализ - определение и вычисление с примерами решения

Если информация имеет вид корреляционной таблицы (см. п 1.5), то удобно пользоваться формулой

Корреляционный анализ - определение и вычисление с примерами решения

гдеКорреляционный анализ - определение и вычисление с примерами решения — суммарная частота наблюдаемого значенияпризнака х при всех значениях Корреляционный анализ - определение и вычисление с примерами решения — суммарная частота наблюдаемого значения признака упри всех значениях х; Корреляционный анализ - определение и вычисление с примерами решения — частота появления пары признаков (x, у).

Из формулы (1.2) очевидно, что Корреляционный анализ - определение и вычисление с примерами решения т.е. величина выборочного коэффициента корреляции не зависит от порядка следования переменных, поэтому обычно пишут просто r.

Поле корреляции. Вычисление оценок параметров двумерной модели

На практике для вычисления оценок параметров двумерной модели удобно использовать корреляционную таблицу и поле корреляции. Пусть, например, изучается зависимость между объёмом выполненных работ (у) и накладными расходами (x). Имеем выборку из генеральной совокупности, состоящую из 150 пар переменных Корреляционный анализ - определение и вычисление с примерами решения   Считаем, что предпосылки корреляционного анализа выполнены.

Пару случайных чисел   Корреляционный анализ - определение и вычисление с примерами решения можно изобразить графически в виде точки с координатамиКорреляционный анализ - определение и вычисление с примерами решения. Аналогично можно изобразить весь набор пар случайных чисел (всю выборку). Однако при большом объёме выборки это затруднительно. Задача упрощается, если выборку упорядочить, т.е. переменные сгруппировать. Сгруппированные ряды могут быть как дискретными, так и интервальными.

По осям координат откладывают или дискретные значения переменных, или интервалы их изменения. Для интервального ряда наносят координатную сетку. Каждую пару переменных из данной выборки изображают в виде точки с соответствующими координатами для дискретного ряда или в виде точки в соответствующей клетке для интервального ряда. Такое изображение корреляционной зависимости называют полем корреляции. На рис. 1.1 изображено поле корреляции для выборки, состоящей из 150 пар переменных (ряд интервальный).
 

Корреляционный анализ - определение и вычисление с примерами решения

Если вычислить средние значения у в каждом интервале изменения х [обозначим их Корреляционный анализ - определение и вычисление с примерами решения)], нанести эти точки на рис. 1.1 и соединить между собой, то получим ломаную линию, по виду которой можно судить, как в среднем меняются у в зависимости от изменения х. По виду этой линии можно также сделать предположение о форме связи между переменными. В данном случае ломаную линию можно аппроксимировать прямой линией, так как она достаточно хорошо приближается к ней. По выборочным данным можно построить также корреляционную табл. 1.1.

Корреляционный анализ - определение и вычисление с примерами решения

Корреляционную таблицу, как и поле корреляции, строят по
сгруппированному ряду (дискретному или интервальному). Табл. 1.1 построена на основе интервального ряда. В первой строке и первом столбце таблицы помещают интервалы изменения х и у и значения середин интервалов. Так, например, 1,5 — середина интервала изменения *=1-2,15— середина интервала изменения у= 10-20. В ячейки, образованные пересечением строк и столбцов, заносят частоты попадания пар значений (л у) в соответствующие интервалы по х и у. Например, частота 4 означает, что в интервал изменения у от 10 до 20 попало 4 пары наблюдавшихся значений. Эти частоты обозначают Корреляционный анализ - определение и вычисление с примерами решения В 9-й строке и 10-м столбце находятся значения Корреляционный анализ - определение и вычисление с примерами решения — суммы Корреляционный анализ - определение и вычисление с примерами решенияпо соответствующим столбцу и строке.

Как будет показано в дальнейшем, корреляционно таблицей удобно пользоваться при вычислении коэффициентов корреляций и параметров уравнений регрессии.

Корреляционная таблица построена на основе интервального ряда, поэтому для оценок параметров воспользуемся формулами гл. 1 для вычисления средней арифметической и дисперсии. Имеем:

Корреляционный анализ - определение и вычисление с примерами решения(1.6)
 

Проверка гипотезы о значимости коэффициента корреляции

На практике коэффициент корреляции р обычно неизвестен. По результатам выборки может быть найдена его точечная оценка — выборочный коэффициент корреляции r.

Равенство нулю выборочного коэффициента корреляции ещё не свидетельствует о равенстве нулю самого коэффициента корреляции, а следовательно, о некоррелированности случайных величин X и Y. Чтобы выяснить, находятся ли случайные величины в корреляционной зависимости, нужно проверить значимость выборочного коэффициента корреляции г, т.е. установить, достаточна ли его величина для обоснованного вывода о наличии корреляционной связи. Для этого проверяют нулевую гипотезу Корреляционный анализ - определение и вычисление с примерами решения. Предполагается наличие двумерного нормального распределения случайных переменных; объём выборки может быть любым. ВычисляютКорреляционный анализ - определение и вычисление с примерами решения
которая имеет распределение Стьюдента с k=n-2
степенями свободы. Для проверки нулевой гипотезы по уровню значимости а и числу степеней свободы к находят по таблицам распределения Стьюдента (t-распределение; см. табл. 1 приложения) критическое значение Корреляционный анализ - определение и вычисление с примерами решения удовлетворяющее условиюКорреляционный анализ - определение и вычисление с примерами решения, то нулевую гипотезу об отсутствии корреляционной связи между переменными X и Y следует отвергнуть. Переменные считают зависимыми. ПриКорреляционный анализ - определение и вычисление с примерами решения нет оснований отвергать нулевую гипотезу.

В случае значимого выборочного коэффициента, корреляции есть смысл построить доверительный интервал для коэффициента корреляций р. Однако для этого нужно знать закон распределения выборочного коэффициента корреляции r.

Плотность вероятности выборочного коэффициента корреляции имеет сложный вид, поэтому прибегают к специально подобранным функциям от выборочного коэффициента корреляции, которые сводятся к хорошо изученным распределениям, например нормальному или Стьюдента. Чаще всего для подбора функции применяют преобразование Фишера. Вычисляют статистику:
Корреляционный анализ - определение и вычисление с примерами решения
где r=thz — гиперболический тангенс от z.

Распределение статистики z хорошо аппроксимируется нормальным распределением с параметрами
Корреляционный анализ - определение и вычисление с примерами решения

В этом, случае доверительный интервал для римеетвидКорреляционный анализ - определение и вычисление с примерами решения Величины Корреляционный анализ - определение и вычисление с примерами решениянаходят по таблицам по следующим значениям:

Корреляционный анализ - определение и вычисление с примерами решения

где Корреляционный анализ - определение и вычисление с примерами решения— нормированная функция Лапласа для q % доверительного интервала (см. табл. 2 приложений значение функции Корреляционный анализ - определение и вычисление с примерами решения

Если коэффициент корреляции значим, то коэффициенты регрессии также значимо отличаются от нуля, а интервальные оценки для них можно получить по следующим формулам:

Корреляционный анализ - определение и вычисление с примерами решения

где Корреляционный анализ - определение и вычисление с примерами решения имеет распределение Стьюдента с k=n—2 степенями свободы.
 

Корреляционное отношение

На практике часто предпосылки корреляционного анализа нарушаются: один из признаков оказывается величиной не случайной, или признаки не имеют совместного нормального распределения. Однако статистическая зависимость между ними существует. Для изучения связи между признаками в этом случае существует общий показатель зависимости признаков, основанный на показателе изменчивости — общей (или полной) дисперсии.

Полной называется дисперсия признака относительно его математического ожидания. Так, для признака Y это Корреляционный анализ - определение и вычисление с примерами решенияДисперсию Корреляционный анализ - определение и вычисление с примерами решения можно разложить на две составляющие, одна из которых характеризует влияние фактора X на Y, другая — влияние прочих факторов.

Очевидно, чем меньше влияние прочих факторов, тем теснее связь, тем более приближается она к функциональной. Представим Корреляционный анализ - определение и вычисление с примерами решения в следующем виде:

Корреляционный анализ - определение и вычисление с примерами решения

Первое слагаемое обозначимКорреляционный анализ - определение и вычисление с примерами решенияЭто дисперсия функции регрессии относительно математического ожидания признака (в данном случае признака У);.она измеряет влияние признака X на Y. Второе слагаемое обозначимКорреляционный анализ - определение и вычисление с примерами решения. Это дисперсия признака Y относительно функции регрессии. Её называют также средней из условных дисперсий или остаточной дисперсией Корреляционный анализ - определение и вычисление с примерами решения измеряет влияние на Y прочих факторов.

Покажем, что Корреляционный анализ - определение и вычисление с примерами решения действительно можно разложить на два таких слагаемых:

Корреляционный анализ - определение и вычисление с примерами решения

Для простоты полагаем распределение дискретным. Имеем Корреляционный анализ - определение и вычисление с примерами решения

так как при любом х справедливо равенство

Корреляционный анализ - определение и вычисление с примерами решения

Третье слагаемое в равенстве (1.10) равно нулю, поэтому равенство (1.9) справедливо. Поскольку второе слагаемое в равенстве (1.9) оценивает влияние признака X на Y, то его можно использовать для оценки тесноты связи между X и Y. Тесноту связи удобно оценивать в единицах общей дисперсии Корреляционный анализ - определение и вычисление с примерами решения т.е. рассматривать отношениеКорреляционный анализ - определение и вычисление с примерами решения. Эту величину обозначают Корреляционный анализ - определение и вычисление с примерами решения и называют теоретическим корреляционным отношением. Таким образом,

Корреляционный анализ - определение и вычисление с примерами решения
Разделив обе части равенства (1.9) на Корреляционный анализ - определение и вычисление с примерами решения получим
Корреляционный анализ - определение и вычисление с примерами решения
Из последней формулы имеем
Корреляционный анализ - определение и вычисление с примерами решения

Поскольку Корреляционный анализ - определение и вычисление с примерами решениятак как Корреляционный анализ - определение и вычисление с примерами решения— составная часть Корреляционный анализ - определение и вычисление с примерами решениято из равенства (1.12) следует, что значение Корреляционный анализ - определение и вычисление с примерами решения всегда заключено между нулем и единицей.

Все сделанные выводы справедливы и для Корреляционный анализ - определение и вычисление с примерами решения   Из равенства (1.12)
следует, что Корреляционный анализ - определение и вычисление с примерами решения только тогда, когда Корреляционный анализ - определение и вычисление с примерами решения, т.е. отсутствует влияние прочих факторов и всё распределение сконцентрировано на кривой регрессии Корреляционный анализ - определение и вычисление с примерами решения. В этом случае между Y и X существует функциональная зависимость.

Далее, из равенства (1.12) следует, что Корреляционный анализ - определение и вычисление с примерами решения тогда и только тогда, когда

Корреляционный анализ - определение и вычисление с примерами решения = const, т.е. линия регрессии У по X — горизонтальная прямая, проходящая через центр распределения. В этом случае можно сказать, что переменная У не коррелирована с X (рис. 1.2,а, б, в).

Корреляционный анализ - определение и вычисление с примерами решения

Корреляционный анализ - определение и вычисление с примерами решения

Аналогичными свойствами обладаетКорреляционный анализ - определение и вычисление с примерами решения— показатель тесноты связи между X и У.

Часто используют величину
Корреляционный анализ - определение и вычисление с примерами решения
Считают, что она не может быть отрицательной. Значения величины Корреляционный анализ - определение и вычисление с примерами решения также могут находиться лишь в пределах от нуля до единицы. Это очевидно из формулы (1.13).

ЗначенияКорреляционный анализ - определение и вычисление с примерами решения лежащие в интервалеКорреляционный анализ - определение и вычисление с примерами решенияявляются показателями тесноты группировки точек около кривой регрессии независимо от её вида (формы связи). Корреляционное отношение Корреляционный анализ - определение и вычисление с примерами решения связано Корреляционный анализ - определение и вычисление с примерами решения следующим образом: Корреляционный анализ - определение и вычисление с примерами решения В случае линейной зависимости между переменными Корреляционный анализ - определение и вычисление с примерами решения

РазностьКорреляционный анализ - определение и вычисление с примерами решения может быть использована как показатель нелинейности связи между переменными.

При вычислении Корреляционный анализ - определение и вычисление с примерами решения по выборочным данным получаем выборочное корреляционное отношение. Обозначим егоКорреляционный анализ - определение и вычисление с примерами решения. Вместо дисперсий в этом случае используются их оценки. Тогда формула (1.12) принимает видКорреляционный анализ - определение и вычисление с примерами решения
 

Понятие о многомерном корреляционном анализе

Частный коэффициент корреляции. Основные понятия корреляционного анализа, введенные для двумерной модели, можно распространить на многомерный случай. Задачи и предпосылки корреляционного анализа были сформулированы в п. 1.3. Однако если при изучении взаимосвязи переменных по двумерной модели мы ограничивались рассмотрением парных коэффициентов корреляции, то для многомерной модели этого недостаточно. Многообразие связей между переменными находит отражение в частных и множественных коэффициентах корреляции.

Пусть имеется многомерная нормальная совокупность с m признаками Корреляционный анализ - определение и вычисление с примерами решения В этом случае взаимозависимость между признаками

можно описать корреляционной матрицей. Под корреляционной матрицей будем понимать, матрицу, составленную из парных коэффициентов корреляции (вычисляются по формуле (1,1)):Корреляционный анализ - определение и вычисление с примерами решения

где Корреляционный анализ - определение и вычисление с примерами решения — парные коэффициенты корреляции; m — порядок матрицы.

Оценкой парного коэффициента корреляции является выборочный парный коэффициент корреляции, определяемый по формуле (1.2), однако для m признаков формула (9.2) принимает вид

Корреляционный анализ - определение и вычисление с примерами решения

где Корреляционный анализ - определение и вычисление с примерами решения— порядковые номера признаков.

Как и в двумерном случае, для оценки коэффициента корреляции необходимо оценить математические ожидания и дисперсии. В многомерном корреляционном анализе имеем т математических ожиданий и m дисперсий, а также m(m—1)/2 парных коэффициентов корреляции. Таким образом, нужно произвести оценку 2m+m(m—1)/2 параметров.

В случае многомерной корреляции зависимости между признаками более многообразны и сложны, чем в двумерном случае. Одной корреляционной матрицей нельзя полностью описать зависимости между признаками. Введём понятие частного коэффициента корреляции l-го порядка.

Пусть исходная совокупность состоит из т признаков. Можно изучать зависимости между двумя из них при фиксированном значении l признаков из m-2 оставшихся. Рассмотрим, например, систему из 5 признаков. Изучим зависимости между Корреляционный анализ - определение и вычисление с примерами решения при фиксированном значении признака Корреляционный анализ - определение и вычисление с примерами решения В этом случае имеем частный коэффициент корреляции первого порядка, так как фиксируем только один признак.

Рассмотрим более подробно структуру частных коэффициентов корреляции на примере системы из трёх признаков Корреляционный анализ - определение и вычисление с примерами решения. Эта система позволяет изучить частные коэффициенты корреляции только первого порядка, так как нельзя фиксировать больше одного признака. Частный коэффициент корреляции первого порядка для признаковКорреляционный анализ - определение и вычисление с примерами решения при фиксированном значении Корреляционный анализ - определение и вычисление с примерами решениявыражается через парные коэффициенты
корреляции и имеет видКорреляционный анализ - определение и вычисление с примерами решения

Частный коэффициент корреляции, так же как и парный коэффициент корреляции, изменяется от —1 до +1, В общем виде, когда система состоит из m признаков, частный коэффициент корреляции l-го порядка может быть найден из корреляционной матрицы. Если 1=m—2, то рассматривается матрица порядка m, приКорреляционный анализ - определение и вычисление с примерами решения— подматрица порядкаl+2, составленная из элементов матрицы Корреляционный анализ - определение и вычисление с примерами решения, которые отвечают индексам коэффициента частной
корреляции. Например, корреляционная матрица системы из пяти признаков имеет вид

Корреляционный анализ - определение и вычисление с примерами решения

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

В общем виде формулу частного коэффициента корреляции l-го порядка (1=m—2) можно записать в виде
Корреляционный анализ - определение и вычисление с примерами решения
где Корреляционный анализ - определение и вычисление с примерами решения— алгебраические дополнения к элементу Корреляционный анализ - определение и вычисление с примерами решения корреляционной
матрицы Корреляционный анализ - определение и вычисление с примерами решения — алгебраические дополнения к элементам Корреляционный анализ - определение и вычисление с примерами решенияи ркк корреляционной матрицы Корреляционный анализ - определение и вычисление с примерами решения

Очевидно, что выражение (1.16) является частым случаем выражения (1.17), в чём легко убедиться, рассмотрев корреляционную матрицуКорреляционный анализ - определение и вычисление с примерами решения

Оценкой частного коэффициента корреляции l-го порядка является выборочный частный коэффициент корреляции l-го порядка. Он вычисляется на основе корреляционной матрицы, составленной из выборочных парных коэффициентов корреляции:
Корреляционный анализ - определение и вычисление с примерами решения
Формула выборочного частного коэффициента корреляции имеет вид
Корреляционный анализ - определение и вычисление с примерами решения
где Корреляционный анализ - определение и вычисление с примерами решения— алгебраические дополнения к соответствующим элементам матрицы (1.18).

Частный коэффициент корреляции l-го порядка, вызволенный на основе п наблюдений над признаками, имеет такое же распределение, что и парный коэффициент корреляции, вычисленный Корреляционный анализ - определение и вычисление с примерами решения наблюдениям. Поэтому значимость частных коэффициентов корреляции оценивают так же, как и в п. 1.6.

Множественный коэффициент корреляции

Часто представляет интерес оценить связь одного из признаков со всеми остальными. Это можно сделать с помощью множественного, или совокупного, коэффициента корреляции
Корреляционный анализ - определение и вычисление с примерами решения
где Корреляционный анализ - определение и вычисление с примерами решения—определитель корреляционной матрицыКорреляционный анализ - определение и вычисление с примерами решения—алгебраическое
дополнение к элементу Корреляционный анализ - определение и вычисление с примерами решения

Квадрат коэффициента множественной корреляции Корреляционный анализ - определение и вычисление с примерами решенияназывается

множественным коэффициентом детерминации. Коэффициенты множественной корреляции и детерминации — величины положительные, принимающие значения в интервалеКорреляционный анализ - определение и вычисление с примерами решения Оценками этих

коэффициентов являются выборочные множественные коэффициенты корреляции и детерминации, которые обозначают соответственно Корреляционный анализ - определение и вычисление с примерами решения и

Корреляционный анализ - определение и вычисление с примерами решения Формула для вычисления выборочного множественного коэффициента корреляции имеет вид

Корреляционный анализ - определение и вычисление с примерами решения
где Корреляционный анализ - определение и вычисление с примерами решения —определитель корреляционной матрицы, составленной из выборочных парных коэффициентов корреляции; Корреляционный анализ - определение и вычисление с примерами решения алгебраическое дополнение к элементу Корреляционный анализ - определение и вычисление с примерами решения

Многомерный корреляционный анализ позволяет получить оценку функции регрессии — уравнение регрессии. Коэффициенты в уравнении регрессии можно найти непосредственно через выборочные парные коэффициенты корреляции или воспользоваться методом многомерной регрессии, который мы рассмотрим в вопросе 2.7. В этом случае все предпосылки регрессионного анализа оказываются выполненными и, кроме того, связь между переменными строго линейна.

Ранговая корреляция

В некоторых случаях встречаются признаки, не поддающиеся количественной оценке (назовём такие признаки объектами). Попытаемся, например, оценить соотношение между математическими и музыкальными способностями группы учащихся. «Уровень способностей» является переменной величиной в том смысле; что он варьирует от одного индивидуума к другому. Его можно измерить, если выставлять каждому индивидууму отметки. Однако этот способ лишен объективности, так как разные экзаменаторы могут выставить одному и тому же учащемуся разные отметки. Элемент субъективизма можно исключить, если учащиеся будут ранжированы. Расположим учащихся по порядку, в соответствии со степенью способностей и присвоим каждому из них порядковый номер, который назовем рангом. Корреляция между рангами более точно отражает соотношение между способностями учащихся, чем корреляция между отметками.

Тесноту связи между рангами измеряют так же, как и между признаками. Рассмотрим уже известную формулу коэффициента корреляции

Корреляционный анализ - определение и вычисление с примерами решения

Пусть    Корреляционный анализ - определение и вычисление с примерами решения  тогда,    учитывая,

чтоКорреляционный анализ - определение и вычисление с примерами решения,можно записать

Корреляционный анализ - определение и вычисление с примерами решения

В зависимости от того, что принять за меру различия между величинами Корреляционный анализ - определение и вычисление с примерами решения можно получить различные коэффициенты связи между рангами. Обычно используют коэффициент корреляции рангов Кэнделла Корреляционный анализ - определение и вычисление с примерами решения и коэффициент корреляции рангов Спирмэна р.

Введём следующую меру различия между объектами: будем считать Корреляционный анализ - определение и вычисление с примерами решенияПоясним сказанное на примере. Имеем две последовательности:

Корреляционный анализ - определение и вычисление с примерами решения

Рассмотрим отдельно каждую из них. В последовательности X первой паре элементов —2; 4 припишем значение +1, так какКорреляционный анализ - определение и вычисление с примерами решения второй паре 2; 5 также припишем значение +1, третьей паре 2; 1 припишем значение —1, поскольку Корреляционный анализ - определение и вычисление с примерами решения и т.д. Последовательно перебираем все пары, причём каждая пара должна быть учтена один раз. Так, если учтена пара 2; 1, то не следует учитывать пару 1;    2. Аналогичные действия проделаем с последовательностью У, причём порядок перебора пар должен в точности повторять порядок перебора пар в последовательности X. Результаты этих действий представим в виде табл. 1.3.
Корреляционный анализ - определение и вычисление с примерами решения

Рассмотрим формулу (    1 .22). В нашем случаеКорреляционный анализ - определение и вычисление с примерами решения и равна

количеству пар, участвовавших в переборе. Каждая пара встречается только один раз, поэтому их общее количество равно числу сочетаний из n по 2, т.е.Корреляционный анализ - определение и вычисление с примерами решения Обозначая Корреляционный анализ - определение и вычисление с примерами решенияполучаем формулу коэффициента корреляции рангов Кэнделла:

Корреляционный анализ - определение и вычисление с примерами решения

Теперь рассмотрим другую меру различия между объектами. Если обозначить через Корреляционный анализ - определение и вычисление с примерами решения средний ранг последовательности X, через Корреляционный анализ - определение и вычисление с примерами решения— средний ранг последовательности Т, тоКорреляционный анализ - определение и вычисление с примерами решенияПоскольку ранги последовательности X и Y есть числа натурального ряда, то их сумма равна Корреляционный анализ - определение и вычисление с примерами решения    а    средний    ранг    Корреляционный анализ - определение и вычисление с примерами решения
ТогдаКорреляционный анализ - определение и вычисление с примерами решения Сумма
чисел натурального ряда равнаКорреляционный анализ - определение и вычисление с примерами решения

Тогда Корреляционный анализ - определение и вычисление с примерами решения

Корреляционный анализ - определение и вычисление с примерами решения
Введём новую величину d, равную разности между рангами: d=X—Y, и определим через неё величинуКорреляционный анализ - определение и вычисление с примерами решения. Имеем:Корреляционный анализ - определение и вычисление с примерами решения

Коэффициент корреляции рангов Спирмэна

Корреляционный анализ - определение и вычисление с примерами решения
У коэффициентов Корреляционный анализ - определение и вычисление с примерами решения разные масштабы, они отличаются шкалами измерений. Поэтому на практике нельзя ожидать, что они совпадут. Чаще всего, если значения обоих коэффициентов не слишком, близки к 1, p; по абсолютной величине примерно на 50% превышаетКорреляционный анализ - определение и вычисление с примерами решения Выведены неравенства, связывающиеКорреляционный анализ - определение и вычисление с примерами решения Например, при больших n можно пользоваться следующим приближённым соотношением:   Корреляционный анализ - определение и вычисление с примерами решения    или

Корреляционный анализ - определение и вычисление с примерами решения Коэффициент p легче рассчитать, однако с теоретической точки зрения больший интерес представляет коэффициентКорреляционный анализ - определение и вычисление с примерами решения

При вычислении коэффициента корреляций рангов Кэнделла для подсчёта s можно использовать следующий приём:    одну из последовательностей упорядочивают так, чтобы её элементы были числами натурального ряда; соответственно изменяют и другую последовательность. Тогда суммуКорреляционный анализ - определение и вычисление с примерами решения можно подсчитывать лишь по последовательности К, так как все Корреляционный анализ - определение и вычисление с примерами решенияравны +1.

Если нельзя установить ранговое различие нескольких объектов, говорят, что такие объекты являются связанными. В этом случае объектам приписывается средний ранг. Например, если связанными являются объекты 4 и 5, то им приписывают ранг 4.5; если связанными являются объекты 1, 2, 3, 4 и 5, то их средний ранг (1+2+3+4+5)/5=3. Сумма рангов связанных объектов должна быть равна сумме рангов при ранжировании без связей. Формулы коэффициентов корреляции для Корреляционный анализ - определение и вычисление с примерами решенияв этом случае также можно вывести из формулы обобщённого коэффициента корреляции, только знаменатель выражения (1.21) в этом случае не равен n(n—1)/2. Если / последовательных членов связаны, то все оценки, относящиеся к любой вобранной из них паре, равны нулю; число таких пар t(t—1), Следовательно,

Корреляционный анализ - определение и вычисление с примерами решенияСоответственно для другой последовательности
Корреляционный анализ - определение и вычисление с примерами решения
где t и u—число связанных пар в последовательностях.

Обозначая Корреляционный анализ - определение и вычисление с примерами решенияполучаем

Корреляционный анализ - определение и вычисление с примерами решения

Аналогично находим выражение для р. Только в этом случае

Корреляционный анализ - определение и вычисление с примерами решения , где е и г — число связанных пар в
последовательностях, а
Корреляционный анализ - определение и вычисление с примерами решения
Если имеется несколько последовательностей, то возникает необходимость определить общую меру согласованности между ними. Такой мерой является коэффициент копкордации.

Пусть ь — число последовательностей, т — количество рангов в каждой последовательности. Тогда коэффициент конкордации

Корреляционный анализ - определение и вычисление с примерами решения
где d — фактически встречающееся отклонение от среднего значения суммы рангов одного объекта.

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

Пример:

Для данных табл. 13 найти выборочный коэффициент корреляции, проверить его значимость на уровне Корреляционный анализ - определение и вычисление с примерами решения

Решение. Для вычислений составим таблицу. Находим суммы

Корреляционный анализ - определение и вычисление с примерами решения и заносим их в таблицу. Вычислим

Корреляционный анализ - определение и вычисление с примерами решения

Корреляционный анализ - определение и вычисление с примерами решения

Подставляя полученные значения сумм в (8), найдем выборочный коэффициент корреляции

Корреляционный анализ - определение и вычисление с примерами решения

Проверим значимость Корреляционный анализ - определение и вычисление с примерами решения на уровне Корреляционный анализ - определение и вычисление с примерами решения Для этого вычислим статистику

Корреляционный анализ - определение и вычисление с примерами решения

По таблице распределения П6 Стьюдента Корреляционный анализ - определение и вычисление с примерами решения находим критическое значение Корреляционный анализ - определение и вычисление с примерами решения Так как Корреляционный анализ - определение и вычисление с примерами решения то считаем Корреляционный анализ - определение и вычисление с примерами решения значимым.

Пример:

Для данных табл. 13 найти корреляционное отношение Корреляционный анализ - определение и вычисление с примерами решения

Для вычисления эмпирического корреляционного отношения найдем групповые средние Корреляционный анализ - определение и вычисление с примерами решения

Корреляционный анализ - определение и вычисление с примерами решения

Тогда

Корреляционный анализ - определение и вычисление с примерами решения

Вычисляем корреляционное отношение
Корреляционный анализ - определение и вычисление с примерами решения

  • Статистические решающие функции
  • Случайные процессы
  • Выборочный метод
  • Статистическая проверка гипотез
  • Доверительный интервал для математического ожидания
  • Доверительный интервал для дисперсии
  • Проверка статистических гипотез
  • Регрессионный анализ

Термин «корреляция» активно используется в гуманитарных науках, медицине; часто мелькает в СМИ. Ключевую роль корреляции играют в психологии. В частности, расчет корреляций выступает важным этапом реализации эмпирического исследования при написании ВКР по психологии.

Материалы по корреляциям в сети слишком научны. Неспециалисту трудно разобраться в формулах. В то же время понимание смысла корреляций необходимо маркетологу, социологу, медику, психологу – всем, кто проводит исследования на людях.

В этой статье мы простым языком объясним суть корреляционной связи, виды корреляций, способы расчета, особенности использования корреляции в психологических исследованиях, а также при написании дипломных работ по психологии.

Содержание

Что такое корреляция
Численное выражение корреляционной связи

  • Прямая и обратная корреляция
  • Сильная и слабая корреляция

Корреляционный анализ в психологии
Коэффициенты корреляции Пирсона и Спирмена
Как рассчитать коэффициент корреляции

  • Расчет корреляций с помощью электронных таблиц Microsoft Excel
  • Как вычислить значение корреляции с помощью статистической программы STATISTICA

Использование корреляционного анализа в дипломных работах по психологии 

Что такое корреляция

Корреляция – это связь. Но не любая. В чем же ее особенность? Рассмотрим на примере.

Представьте, что вы едете на автомобиле. Вы нажимаете педаль газа – машина едет быстрее. Вы сбавляете газ – авто замедляет ход. Даже не знакомый с устройством автомобиля человек скажет: «Между педалью газа и скоростью машины есть прямая связь: чем сильнее нажата педаль, тем скорость выше».

Это зависимость функциональная – скорость выступает прямой функцией педали газа. Специалист объяснит, что педаль управляет подачей топлива в цилиндры, где происходит сжигание смеси, что ведет к повышению мощности на вал и т.д. Это связь жесткая, детерминированная, не допускающая исключений (при условии, что машина исправна).

Теперь представьте, что вы директор фирмы, сотрудники которой продают товары. Вы решаете повысить продажи за счет повышения окладов работников. Вы повышаете зарплату на 10%, и продажи в среднем по фирме растут. Через время повышаете еще на 10%, и опять рост. Затем еще на 5%, и опять есть эффект. Напрашивается вывод – между продажами фирмы и окладом сотрудников есть прямая зависимость – чем выше оклады, тем выше продажи организации. Такая же это связь, как между педалью газа и скоростью авто? В чем ключевое отличие?

Правильно,  между окладом и продажами заисимость не жесткая. Это значит, что у кого-то из сотрудников продажи могли даже снизиться, невзирая на рост оклада. У кого-то остаться неизменными. Но в среднем по фирме продажи выросли, и мы говорим – связь продаж и оклада сотрудников есть, и она корреляционная.

В основе функциональной связи (педаль газа – скорость) лежит физический закон. В основе корреляционной связи (продажи – оклад) находится простая согласованность изменения двух показателей. Никакого закона (в физическом понимании этого слова) за корреляцией нет. Есть лишь вероятностная (стохастическая) закономерность.

Численное выражение корреляционной зависимости

Итак, корреляционная связь отражает зависимость между явлениями. Если эти явления можно измерить, то она получает численное выражение.

Например, изучается роль чтения в жизни людей. Исследователи взяли группу из 40 человек и измерили у каждого испытуемого два показателя: 1) сколько времени он читает в неделю; 2) в какой мере он считает себя благополучным (по шкале от 1 до 10). Ученые занесли эти данные в два столбика и с помощью статистической программы рассчитали корреляцию между чтением и благополучием. Предположим, они получили следующий результат -0,76. Но что значит это число? Как его проинтерпретировать? Давайте разбираться.

Полученное число называется коэффициентом корреляции. Для его правильной интерпретации важно учитывать следующее:

  1. Знак «+» или «-»  отражает направление зависимости.
  2. Величина коэффициента отражает силу зависимости.

Прямая и обратная

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

Если коэффициент имеет знак минус, значит, корреляция обратная, или отрицательная. В этом случае чем выше один показатель, тем ниже другой. В примере с чтением и благополучием мы получили -0,76, и это значит, что, чем больше люди читают, тем ниже уровень их благополучия.

Сильная и слабая

Корреляционная связь в численном выражении – это число в диапазоне от -1 до +1. Обозначается буквой «r». Чем выше число (без учета знака), тем корреляционная связь сильнее.

Чем ниже численное значение коэффициента, тем взаимосвязь между явлениями и показателями меньше.

Максимально возможная сила зависимости  – это 1 или -1. Как это понять и представить?

Рассмотрим пример. Взяли 10 студентов и измерили у них уровень интеллекта (IQ) и успеваемость за семестр. Расположили эти данные в виде двух столбцов.

Испытуемый

IQ

Успеваемость (баллы)

1

90

4,0

2

91

4,1

3

92

4,2

4

93

4,3

5

94

4,4

6

95

4,5

7

96

4,6

8

97

4,7

9

98

4,8

10

99

4,9

Посмотрите внимательно на данные в таблице. От 1 до 10 испытуемого растет уровень IQ. Но также растет и уровень успеваемости. Из любых двух студентов успеваемость будет выше у того, у кого выше IQ. И никаких исключений из этого правила не будет.

Перед нами пример полного, 100%-но согласованного изменения двух показателей в группе. И это пример максимально возможной положительной взаимосвязи. То есть, корреляционная зависимость  между интеллектом и успеваемостью равна 1.

Рассмотрим другой пример. У этих же 10-ти студентов с помощью опроса оценили, в какой мере они ощущают себя успешными в общении с противоположным полом (по шкале от 1 до 10).

Испытуемый

IQ

Успех в общении с противоположным полом (баллы)

1

90

10

2

91

9

3

92

8

4

93

7

5

94

6

6

95

5

7

96

4

8

97

3

9

98

2

10

99

1

Смотрим внимательно на данные в таблице. От 1 до 10 испытуемого растет уровень IQ. При этом в последнем столбце последовательно снижается уровень успешности общения с противоположным полом. Из любых двух студентов успех общения с противоположным полом будет выше у того, у кого IQ ниже. И никаких исключений из этого правила не будет.

Это пример полной согласованности изменения двух показателей в группе — максимально возможная отрицательная взаимосвязь. Корреляционная связь между IQ и успешностью общения с противоположным полом равна -1.

А как понять смысл корреляции равной нулю (0)? Это значит, связи между показателями нет. Еще раз вернемся к нашим студентам и рассмотрим еще один измеренный у них показатель – длину прыжка с места.

Испытуемый

IQ

Длина прыжка с места (м)

1

90

2,5

2

91

1,2

3

92

2,0

4

93

1,7

5

94

1,9

6

95

1,3

7

96

1,7

8

97

2,3

9

98

1,1

10

99

2,6

Не наблюдается никакой согласованности между изменением IQ от человека к человеку и длинной прыжка. Это и свидетельствует об отсутствии корреляции. Коэффициент корреляции IQ и длины прыжка с места у студентов равен 0.

Мы рассмотрели крайние случаи. В реальных измерениях коэффициенты редко бывают равны точно 1 или 0. При этом принята следующая шкала:

  • если коэффициент больше 0,70 – связь между показателями сильная;
  • от 0,30 до 0,70 – связь умеренная,
  • меньше 0,30 – связь слабая.

Если оценить по этой шкале полученную нами выше корреляцию между чтением и благополучием, то окажется, что эта зависимость  сильная и отрицательная -0,76. То есть, наблюдается сильная отрицательная связь между начитанностью и благополучием. Что еще раз подтверждает библейскую мудрость о соотношении  мудрости и печали.

Приведенная градация дает очень приблизительные оценки и в таком виде редко используются в исследованиях.

Чаще используются градации коэффициентов по уровням значимости. В этом случае реально полученный коэффициент может быть значимым или не значимым. Определить это можно, сравнив его значение с критическим значением коэффициента корреляции, взятым из специальной таблицы. Причем эти критические значения зависят от численности выборки (чем больше объем, тем ниже критическое значение).

Корреляционный анализ в психологии

Корреляционный метод выступает одним из основных в психологических исследованиях. И это не случайно, ведь психология стремится быть точной наукой. Получается ли?

В чем особенность законов в точных науках. Например, закон тяготения в физике действует без исключений: чем больше масса тела, тем сильнее оно притягивает другие тела. Этот физический закон отражает связь массы тела и силы притяжения.

В психологии иная ситуация. Например, психологи публикуют данные о связи теплых отношений в детстве с родителями и уровня креативности во взрослом возрасте. Означает ли это, что любой из испытуемых с очень теплыми отношениями с родителями в детстве будет иметь очень высокие творческие способности? Ответ однозначный – нет. Здесь нет закона, подобного физическому. Нет механизма влияния детского опыта на креативность взрослых. Это наши фантазии! Есть согласованность данных (отношения – креативность), но за ними нет закона. А есть лишь корреляционная связь. Психологи часто называют выявляемые взаимосвязи психологическими закономерностями, подчеркивая их вероятностный характер — не жесткость.

Пример исследования на студентах из предыдущего раздела хорошо иллюстрирует использование корреляций в психологии:

  1. Анализ взаимосвязи между психологическими показателями. В нашем примере IQ и успешность общения с противоположным полом – это психологические параметры. Выявление корреляции между ними расширяет представления о психической организации человека, о взаимосвязях между различными сторонами его личности – в данном случае между интеллектом и сферой общения.
  2. Анализ взаимосвязей IQ с успеваемостью и прыжками – пример связи психологического параметра с непсихологическими. Полученные результаты раскрывают особенности влияния интеллекта на учебную и спортивную деятельность.

Вот как могли выглядеть краткие выводы по результатам придуманного исследования на студентах:

  1. Выявлена значимая положительная зависимость интеллекта студентов и их успеваемости.
  2. Существует отрицательная значимая взаимосвязь IQ с успешностью общения с противоположным полом.
  3. Не выявлено связи IQ студентов с умением прыгать с места.

Таким образом, уровень интеллекта студентов выступает позитивным фактором их академической успеваемости, в то же время негативно сказываясь на отношениях с противоположным полом и не оказывая значимого влияния на спортивные успехи, в частности, способность к прыгать с места.

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

Неоднозначное влияние интеллекта на личность и деятельность студентов отражает сложность этого феномена в структуре личностных особенностей и важность продолжения исследований в этом направлении. В частности, представляется важным провести анализ взаимосвязей интеллекта с психологическими особенностями и деятельностью студентов с учетом их пола.

Коэффициенты Пирсона и Спирмена

Рассмотрим два метода расчета.

Коэффициент Пирсона – это особый метод расчета взаимосвязи показателей между выраженностью численных значений в одной группе. Очень упрощенно он сводится к следующему:

  1. Берутся значения двух параметров в группе испытуемых (например, агрессии и перфекционизма).
  2. Находятся средние значения каждого параметра в группе.
  3. Находятся разности параметров каждого испытуемого и среднего значения.
  4. Эти разности подставляются в специальную форму для расчета коэффициента Пирсона.

Коэффициент ранговой корреляции Спирмена рассчитывается похожим образом:

  1. Берутся значения двух индикаторов в группе испытуемых.
  2. Находятся ранги каждого фактора в группе, то есть место в списке по возрастанию.
  3. Находятся разности рангов, возводятся в квадрат и суммируются.
  4. Далее разности рангов подставляются в специальную форму для вычисления коэффициента Спирмена.

В случае Пирсона расчет шел с использованием среднего значения. Следовательно, случайные выбросы данных (существенное отличие от среднего), например, из-за ошибки обработки или недостоверных ответов могут существенно исказить результат.

В случае Спирмена абсолютные значения данных не играют роли, так как учитывается только их взаимное расположение по отношению друг к другу (ранги). То есть, выбросы данных или другие неточности не окажут серьезного влияния на конечный результат.

Если результаты тестирования корректны, то различия коэффициентов Пирсона и Спирмена незначительны, при этом коэффициент Пирсона показывает более точное значение взаимосвязи данных.

Как рассчитать коэффициент корреляции

Коэффициенты Пирсона и Спирмена можно рассчитать вручную. Это может понадобиться при углубленном изучении статистических методов.

Однако в большинстве случаев при решении прикладных задач, в том числе и в психологии, можно проводить расчеты с помощью специальных программ.

Расчет с помощью электронных таблиц Microsoft Excel

Вернемся опять к примеру со студентами и рассмотрим данные об уровне их интеллекта и длине прыжка с места. Занесем эти данные (два столбца) в таблицу Excel.

Переместив курсор в пустую ячейку, нажмем опцию «Вставить функцию» и выберем «КОРРЕЛ» из раздела «Статистические».

Формат этой функции предполагает выделение двух массивов данных: КОРРЕЛ (массив 1; массив»). Выделяем соответственно столбик с IQ и длиной прыжков.

  Расчет корреляции с помощью ексель

Далее нажимаем галочку (то есть, рассчитать) и получаем значение , в нашем случае 0,038. Как видим, коэффициент не равен нулю, хотя и очень близок к нему.

В таблицах Excel реализована формула расчета только коэффициента Пирсона.

Расчет с помощью программы STATISTICA

Заносим данные по интеллекту и длине прыжка в поле исходных данных. Далее выбираем опцию «Непараметрические критерии», «Спирмена». Выделяем параметры для расчета и получаем следующий результат.

Расчет корреляций с помощью статистических программ  

Как видно, расчет  дал результат 0,024, что отличается от результата по Пирсону – 0,038, полученной выше с помощью Excel. Однако различия незначительны.

Использование корреляционного анализа в дипломных работах по психологии (пример)

Большинство тем выпускных квалификационных работ по психологии (дипломов, курсовых, магистерских) предполагают проведение корреляционного исследования (остальные связаны с выявлением различий психологических показателей в разных группах).

Сам термин «корреляция» в названиях тем звучит редко – он скрывается за следующими формулировками:

  • «Взаимосвязь субъективного ощущения одиночества и самоактуализации у женщин зрелого возраста»;
  • «Особенности влияния жизнестойкости менеджеров на успешность их взаимодействия с клиентами в конфликтных ситуациях»;
  • «Личностные факторы стрессоустойчивости сотрудников МЧС».

Таким образом, слова «взаимосвязь», «влияние» и «факторы» — верные признаки того, что методом анализа данных в эмпирическом исследовании должен быть корреляционный анализ.

Рассмотрим кратко этапы его проведения при написании дипломной работы по психологии на тему: «Взаимосвязь личностной тревожности и агрессивности у подростков».

1. Для расчета необходимы сырые данные, в качестве которых обычно выступают результаты тестирования испытуемых. Они заносятся в сводную таблицу и помещаются в приложение. Эта таблица устроена следующим образом:

  • каждая строка содержит данные на одного испытуемого;
  • каждый столбец содержит показатели по одной шкале для всех испытуемых.

№ испытуемого

Личностная тревожность

Агрессивность

1

12

24

2

14

25

3

11

13

4

17

19

5

21

29

6

26

29

7

13

16

8

16

20

8

13

24

9

18

21

10

23

31

2. Необходимо решить, какой из двух типов коэффициентов — Пирсона или Спирмена — будет использоваться. Напоминаем, что Пирсон дает более точный результат, но он чувствителен к выбросам в данных Коэффициенты  Спирмена могут использоваться с любыми данными (кроме номинативной шкалы), поэтому именно они чаще всего используют в дипломах по психологии.

3. Заносим таблицу сырых данных в статистическую программу.

Таблица сырых данных психодиагностики в статистической программе  

4. Рассчитываем значение.

Расчет корреляционной связи в программе STATISTICA

5. На следующем этапе важно определить, значима ли взаимосвязь. Статистическая программа подсветила результаты красным, что означает, что корреляция статистически значимы при уровне значимости 0,05 (указано выше).

Однако полезно знать, как определить значимость вручную. Для этого понадобится таблица критических значений Спирмена.

Таблица критических значений коэффициентов Спирмена

Уровень статистической значимости

Число испытуемых

р=0,05

р=0,01

р=0,001

5

0,88

0,96

0,99

6

0,81

0,92

0,97

7

0,75

0,88

0,95

8

0,71

0,83

0,93

9

0,67

0,8

0,9

10

0,63

0,77

0,87

11

0,6

0,74

0,85

12

0,58

0,71

0,82

13

0,55

0,68

0,8

14

0,53

0,66

0,78

15

0,51

0,64

0,76

Нас интересует уровень значимости 0,05 и объем нашей выборки 10 человек. На пересечении этих данных находим значение критического Спирмена: Rкр=0,63.

Правило такое: если полученное эмпирическое значение Спирмена больше либо равно критическому, то он статистически значим. В нашем случае: Rэмп (0,66) > Rкр (0,63), следовательно, взаимосвязь между агрессивностью и тревожностью в группе подростков статистически значима.

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

Таблица 1

Коэффициенты Спирмена агрессивности и тревожности в группе подростков

Агрессивность

Личностная тревожность

0,665*

* — статистически достоверна (р0,05)

Анализ данных, приведенных в таблице 1, показывает, что существует статистически значимая положительная связьмежду агрессивностью и тревожностью подростков. Это означает, что чем выше личностная тревожность подростков, тем выше уровень их агрессивности. Такой результат дает основание предположить, что агрессия для подростков выступает одним из способов купирования тревожности. Испытывая неуверенность в себе, тревогу в связи с угрозами самооценке, особенно чувствительной в подростковом возрасте, подросток часто использует агрессивное поведение, таким непродуктивным способом снижая тревогу.

6. Можно ли при интерпретации связей говорить о влиянии? Можно ли сказать, что тревожность влияет на агрессивность? Строго говоря, нет. Выше мы показали, что корреляционная связь между явлениями носит вероятностный характер и отражает лишь согласованность изменений признаков в группе. При этом мы не можем сказать, что эта согласованность вызвана тем, что одно из явлений является причиной другого, влияет на него. То есть, наличие корреляции между психологическими параметрами не дает оснований говорить о существовании между ними причинно-следственной связи. Однако практика показывает, что термин «влияние» часто используется при анализе результатов корреляционного анализа.

© СтудентуПсихологу.рф

Понравилась статья? Поделить с друзьями:
  • Как найти силу давления тела на опору
  • Как найти человека нетрадиционной ориентации
  • Как найти расстояние между сторонами правильного шестиугольника
  • Как найти системных аналитиков
  • Как найти асик в локальной сети