Блог им. ivanovr

Еще раз про корреляцию

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

Вот иллюстрация на python:

import numpy as np
# создаем массив чисел, равномерно распределенных от -1 до 1
x = np.random.uniform(-1, 1, 10000000)
# каждое число возводим в квадрат (можно еще вычесть 1/3, если хотим нулевое матожидание)
y = x**2
# y полностью определяется x, значит x и y коррелированы в широком смысле
# но вычисление ЛИНЕЙНОГО коэффициента корреляции дает 0 (+- с учетом случайного разброса)
print(np.corrcoef(x,y))



★1
5 комментариев
может я не так, что-то понял.
Я заполнил ячейки экселя случайными числами, в соседнем столбце возвел их же в квадрат. Коррел = 0,972
avatar
Ivor, зависит от распределения исходных случайных чисел. Возьмите равномерно распределенные в интервале [-1, 1]. Можно любое симметричное с нулевым матожиданием. Например, нормальное (чтобы ближе к реальным задачам).
avatar
ivanovr, а разве может корреляция зависеть от интервала выбранных чисел?
мне странно, что получилось не единица, а 0,972.
Но при сложении, вычитании получается ровно 1.
avatar
Ivor, при A*x+B где A<>0 всегда будет 1 т.е. действительно абсолютно линейная связь. В моем случае связь нелинейная и может получиться всяко-разно, может зависеть и от интервала. В предложенном варианте — от симметрии относительно 0.
avatar
а, у вас линейного.
avatar

теги блога Roman Ivanov

....все тэги



UPDONW
Новый дизайн