Главная       Скачать       Коммерческая поддержка       FAQ       Forum       О нас       Английская версия

Корреляция

Рассмотрим следующую задачу. Была проведена серия измерений двух случайных величин X и Y, причем измерения проводились попарно: т.е. за одно измерение мы получали два значения - x и y. Имея выборку, состоящую из пар (x, y), мы хотим определить, имеется ли между этими двумя переменными зависимость.

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

Одной из мер статистической зависимости между двумя переменными является коэффициент корреляции. Он показывает, насколько ярко выражена тенденция к росту одной переменной при увеличении другой. Коэффициент корреляции находится в диапазоне [-1, 1]. Нулевое значение коэффициента обозначает отсутствие такой тенденции (но не обязательно отсутствие зависимости вообще). Если тенденция ярко выражена, то коэффициент корреляции близок к +1 или -1 (в зависимости от знака зависимости), причем строгое равенство единице обозначает крайний случай статистической зависимости - функциональную зависимость. Промежуточные значения коэффициента корреляции говорят, что хотя тенденция к росту одной переменной при увеличении другой не очень ярко выражена, но в какой-то мере она все же присутствует.

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

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

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

Этот коэффициент корреляции вычисляется подпрограммой PearsonCorrelation.

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

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

Если заменить значения переменных в выборке их рангами и рассчитать коэффициент корреляции Пирсона для полученной выборки, то мы получим непараметрический коэффициент корреляции - коэффициент ранговой корреляции Спирмена. В отличие от коэффициента корреляции Пирсона, он характеризует степень произвольной нелинейной зависимости между переменными в рамках модели "рост одной переменной приводит к росту другой". Этот коэффициент корреляции вычисляется при помощи подпрограммы SpearmanRankCorrelation.

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

Manual entries

C++ correlation subpackage   
C# correlation subpackage   

This article is intended for personal use only.

Скачать ALGLIB

C#

Исходный код на C#

Downloads page

 

C++

Исходный код на C++

Downloads page

 

C++, арифметика высокой точности

Исходный код на C++, использующий библиотеки MPFR/GMP.

Исходный код GMP доступен на сайте gmplib.org. Исходный код MPFR доступен на сайте www.mpfr.org.

Downloads page

 

FreePascal

Исходный код на Free Pascal.

Downloads page

 

Delphi

Исходный код на Delphi.

Downloads page

 

VB.NET

Исходный код на VB.NET.

Downloads page

 

VBA

Исходный код на VBA.

Downloads page

 

Python

Исходный код на Python (CPython и IronPython).

Downloads page

 

 

ALGLIB® - numerical analysis library, 1999-2017.
ALGLIB is registered trademark of the ALGLIB Project.