Почему corrcoef возвращает матрицу?

Для меня кажется странным, что np.corrcoef возвращает матрицу.

 correlation1 = corrcoef(Strategy1Returns,Strategy2Returns)

[[ 1.         -0.99598935]
 [-0.99598935  1.        ]]

Кто-либо знает, почему дело обстоит так и возможно ли возвратить всего одно значение в классическом смысле?

72
задан Dan 6 August 2010 в 15:47
поделиться

3 ответа

Он позволяет вычислять коэффициенты корреляции для> 2 наборов данных, например

>>> from numpy import *
>>> a = array([1,2,3,4,6,7,8,9])
>>> b = array([2,4,6,8,10,12,13,15])
>>> c = array([-1,-2,-2,-3,-4,-6,-7,-8])
>>> corrcoef([a,b,c])
array([[ 1.        ,  0.99535001, -0.9805214 ],
       [ 0.99535001,  1.        , -0.97172394],
       [-0.9805214 , -0.97172394,  1.        ]])

Здесь мы можем сразу получить коэффициент корреляции a, b (0,995), a, c (-0,981) и b, c (-0,972). Случай с двумя наборами данных - это просто частный случай класса N-наборов данных. И, наверное, лучше сохранить тот же тип возвращаемого значения. Поскольку «одно значение» может быть получено просто с помощью

>>> corrcoef(a,b)[1,0]
0.99535001355530017

, нет большой причины создавать особый случай.

133
ответ дан 24 November 2019 в 12:31
поделиться

Корреляционная матрица - это стандартный способ выразить корреляции между произвольным конечным числом переменных. Корреляционная матрица N векторов данных является симметричной матрицей N × N с единичной диагональю. Только в случае N = 2 эта матрица имеет один свободный параметр.

7
ответ дан 24 November 2019 в 12:31
поделиться

corrcoef возвращает нормализованную ковариационную матрицу.

Ковариационная матрица - это матрица

Cov( X, X )    Cov( X, Y )

Cov( Y, X )    Cov( Y, Y )

Нормализованная, в результате будет получена матрица:

Corr( X, X )    Corr( X, Y )

Corr( Y, X )    Corr( Y, Y )

correlation1 [0, 0] - это корреляция между Strategy1Returns и самой собой, которая должна быть 1 Вы просто хотите correlation1 [0, 1] .

47
ответ дан 24 November 2019 в 12:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: