• ## Python Numpy库 numpy.corrcoef()函数讲解

万次阅读 多人点赞 2019-03-31 17:57:18
例子： 代码： import numpy as np Array1 = [[1, 2, 3], [4, 5, 6]] Array2 = [[11, 25, 346], [734, 48, 49]] Mat1 = np.array(Array1) ...correlation = np.corrcoef(Mat1, Mat2) print("矩阵...

# 例子：

代码：

import numpy as np

Array1 = [[1, 2, 3], [4, 5, 6]]
Array2 = [[11, 25, 346], [734, 48, 49]]
Mat1 = np.array(Array1)
Mat2 = np.array(Array2)
correlation = np.corrcoef(Mat1, Mat2)
print("矩阵1=\n", Mat1)
print("矩阵2=\n", Mat2)
print("相关系数矩阵=\n", correlation)

结果：

矩阵1=
[[1 2 3]
[4 5 6]]
矩阵2=
[[ 11  25 346]
[734  48  49]]
相关系数矩阵=
[[ 1.          1.          0.88390399 -0.86539304]
[ 1.          1.          0.88390399 -0.86539304]
[ 0.88390399  0.88390399  1.         -0.53057867]
[-0.86539304 -0.86539304 -0.53057867  1.        ]]

Process finished with exit code 0

可以看出函数的返回值还是一个矩阵

结果矩阵的行数*结果矩阵的列数==矩阵1的行数*矩阵2的行数

令：

### 0=[1 2 3]    1=[4 5 6]    2=[11 25 346]    3=[734 48 49]

矩阵中值的意义：

0列                          1列                             2列                             3列

0行             0 0 相关性             0 1 相关性                  0 2 相关性                  0 3 相关性

1行             1 0 相关性             1 1 相关性                  1 2 相关性                  1 3 相关性

2行             2 0 相关性             2 1 相关性                  2 2 相关性                   2 3 相关性

3行             3 0 相关性             3 1 相关性                  3 2 相关性                   3 3 相关性

自己和自己的相关性最大，值为1，所以对角线的值全为1.

展开全文

MATLAB Function Reference        copyobj   cos

corrcoef

Correlation coefficients

Syntax

R = corrcoef(X)

R = corrcoef(x,y)

[R,P]=corrcoef(...)

[R,P,RLO,RUP]=corrcoef(...)

[...]=corrcoef(...,'param1',val1,'param2',val2,...)

Description

R = corrcoef(X) returns a matrix R of correlation coefficients calculated from an input matrix X whose rows are observations and whose columns are variables. The matrix R = corrcoef(X) is related to the covariance matrix C = cov(X) by

corrcoef(X) is the zeroth lag of the normalized covariance function, that is, the zeroth lag of xcov(x,'coeff') packed into a square array.

R = corrcoef(x,y) where x and y are column vectors is the same as corrcoef([x y]). If x and y are not column vectors, corrcoef converts them to column vectors. For example, in this case R=corrcoef(x,y) is equivalent to R=corrcoef([x(:) y(:)]).

[R,P]=corrcoef(...) also returns P, a matrix of p-values for testing the hypothesis of no correlation. Each p-value is the probability of getting a correlation as large as the observed value by random chance, when the true correlation is zero. If P(i,j) is small, say less than 0.05, then the correlation R(i,j) is significant.

[R,P,RLO,RUP]=corrcoef(...) also returns matrices RLO and RUP, of the same size as R, containing lower and upper bounds for a 95% confidence interval for each coefficient.

[...]=corrcoef(...,'param1',val1,'param2',val2,...) specifies additional parameters and their values. Valid parameters are the following.

'alpha'

A number between 0 and 1 to specify a confidence level of 100*(1 - alpha)%. Default is 0.05 for 95% confidence intervals.

'rows'

Either 'all' (default) to use all rows, 'complete' to use rows with no NaN values, or 'pairwise' to compute R(i,j) using rows with no NaN values in either column i or j.

The p-value is computed by transforming the correlation to create a t statistic having n-2 degrees of freedom, where n is the number of rows of X. The confidence bounds are based on an asymptotic normal distribution of 0.5*log((1+R)/(1-R)), with an approximate variance equal to 1/(n-3). These bounds are accurate for large samples when X has a multivariate normal distribution. The 'pairwise' option can produce an R matrix that is not positive definite.

Examples

Generate random data having correlation between column 4 and the other columns.

x = randn(30,4);     % Uncorrelated data

x(:,4) = sum(x,2);   % Introduce correlation.

[r,p] = corrcoef(x)  % Compute sample correlation and p-values.

[i,j] = find(p<0.05);  % Find significant correlations.

[i,j]                % Display their (row,col) indices.

r =

1.0000   -0.3566    0.1929    0.3457

-0.3566    1.0000   -0.1429    0.4461

0.1929   -0.1429    1.0000    0.5183

0.3457    0.4461    0.5183    1.0000

p =

1.0000    0.0531    0.3072    0.0613

0.0531    1.0000    0.4511    0.0135

0.3072    0.4511    1.0000    0.0033

0.0613    0.0135    0.0033    1.0000

ans =

4     2

4     3

2     4

3     4

cov, mean, median, std, var

xcorr, xcov in the Signal Processing Toolbox

展开全文
• 本代码主要利用MATLAB工具实现MATLAB——cov和corrcoef计算协方差和相关系数，简单明了，易于理解
• numpy.corrcoef(x, y=None, rowvar=True, bias=<no value>, ddof=<no value>) 返回皮尔逊积差相关系数 参数: x : array_like 包含多个变量和观测值的一维或二维数组。x的每一行代表一个变量， 每一列...
numpy.corrcoef(x, y=None, rowvar=True, bias=<no value>, ddof=<no value>)
返回皮尔逊积差相关系数
参数:
x : array_like
包含多个变量和观测值的一维或二维数组。x的每一行代表一个变量，
每一列代表对所有这些变量的观察

y : array_like, optional
一组额外的变量和观察结果。y和x有相同的形状。

rowvar : bool, optional
如果rowvar为True(默认值)，则每一行代表一个变量，列中包含观察结果。
否则，关系将被转置:每一列代表一个变量，而行包含观察结果。

返回：变量的相关系数矩阵

展开全文
• python 相关性分析代码
• R = corrcoef(A) R = corrcoef(A,B) [R,P] = corrcoef(___) [R,P,RL,RU] = corrcoef(___) ___ = corrcoef(___,Name,Value) 说明 示例 R = corrcoef(A) 返回 A 的相关系数的矩阵，其中 A 的列表示随机变量，行表示...

相关系数

语法

R = corrcoef(A)
R = corrcoef(A,B)
[R,P] = corrcoef(___)
[R,P,RL,RU] = corrcoef(___)
___ = corrcoef(___,Name,Value)

说明
示例
R = corrcoef(A) 返回 A 的相关系数的矩阵，其中 A 的列表示随机变量，行表示观测值。

示例
R = corrcoef(A,B) 返回两个随机变量 A 和 B 之间的系数。

示例
[R,P] = corrcoef(___) 返回相关系数的矩阵和 p 值矩阵，用于测试观测到的现象之间没有关系的假设（原假设）。此语法可与上述语法中的任何参数结合使用。如果 P 的非对角线元素小于显著性水平（默认值为 0.05），则 R 中的相应相关性被视为显著。如果 R 包含复数元素，则此语法无效。

示例
[R,P,RL,RU] = corrcoef(___) 包括矩阵，这些矩阵包含每个系数的 95% 置信区间的下界和上界。如果 R 包含复数元素，则此语法无效。

示例
___ = corrcoef(___,Name,Value) 在上述语法的基础上，通过一个或多个 Name,Value 对组参数指定其他选项以返回任意输出参数。例如，corrcoef(A,‘Alpha’,0.1) 指定 90% 置信区间，corrcoef(A,‘Rows’,‘complete’) 省略 A 的包含一个或多个 NaN 值的所有行。

展开全文
• I'm trying to use some Time Series Analysis in Python, using Numpy.I have two somewhat medium-sized series, with 20k values each and I want to check the sliding correlation.The corrcoef gives me as ...
• corrcoef(x, y=None, rowvar=True, bias=np._NoValue, ddof=np._NoValue) 函数常用的是前三个参数，x和y分别是需要计算相关系数的两个随机变量，当rowvar为True(默认情况)时，每一行代表一个随机变量，否则每一列...
• numpy.corrcoef(x, y=None, rowvar=True) x：(array_like)，rowvar=True时，行为特征，列为记录。rowvar=False相反 y：(array_like，可选)，一组额外的特征和值，数组形状与x相同 import numpy as np import ...
• 相关系数公式： 其他详见：Python Numpy库 numpy.corrcoef()函数讲解
• https://stackoverflow.com/questions/51248810/python-why-would-numpy-corrcoef-return-nan-values 可能是除0产生的
• 参考链接：... 可以计算两组数据的相关系数啊 >> a=[0.6557,0.0357,0.8491,0.9340,0.6787]; b=[0.7315,0.1100,0.8884,0.9995,0.6959]; corrcoef(a,b) ans = 1.0
• 求相关函数corrcoef 一般作用：1）结合图表评估数据拟合效果；2）评估两组数据之间的互相关联程度，大于0正相关，小于0负相关，等于0不相关。 但此种计算方法反映的是“线性相关”程度，对非线性相关结果不可靠（可...
• numpy.corrcoef(x, y=无, rowvar = True, 偏差=<无值>, ddof=<无值>) x： array_like，包含多个变量和观测值的1-D或2-D数组，x的每一行代表一个变量，每一列都是对所有这些变量的单一观察。 y： ...
• A,B为两个长度相同的向量 求协方差 S=cov(A,B);...相关系数存在许多种类，上述corrcoef 指 pearson correlation coefficient。 扩展阅读 1 【copy from: https://www.cnblogs.com/sansha...
• 案例1： import numpy as np data=np.loadtxt('data5.txt',delimiter='\t') ...coorelation_matrix=np.corrcoef(x,rowvar=0) #相关性分析,rowvar=0表示对列进行分析 pd.DataFrame(coorelation...
• 其中corr(X, Y)既可以计算矩阵相关也可以计算序列相关，而corrcoef(X,Y)中如果X, Y为矩阵，则会将其转换为序列再进行计算。 CORR 伪代码 X,Y # 为两个序列并且都是列向量. pearson_corr = corr(X, Y) # 求X, Y序列...
• corrcoefCorrelation coefficientsSyntaxR = corrcoef(X)R = corrcoef(x,y)[R,P]=corrcoef(...)[R,P,RLO,RUP]=corrcoef(...)[...]=corrcoef(...,'param1',val1,'param2',val2,...)DescriptionR = corrcoef(X) return...
• I have two 1D arrays and I want to see their inter-relationships. What procedure should I use in ... I am using numpy.corrcoef(arrayA, arrayB) and numpy.correlate(arrayA, arrayB) and both are givin...
• 格式 corrcoef(X,Y) %返回列向量X,Y的相关系数，等同于corrcoef([X Y])。 corrcoef (A)    %返回矩阵A的列向量的相关系数矩阵 例 >> A=[1 2 3;4 0 -1;1 3 9] A =  1  2  3  4  0  -1  1  3  9 >> C1...
• 想用MATLAB中的corrcoef函数求两个向量的相关系数。 举报违规检举侵权投诉|2011-02-23 21:32 匿名 | 分类：数学 | 浏览19891次 比如A=[1 2 3];B=[5 3 7]; r= corrcoef(A,B)可以求出相关系数是0.5.为什么两个向量...
• 上一篇通过公式自己写了一个计算两组数据的皮尔逊积矩相关系数（Pearson's r）的方法,但np已经提供了一个用于计算皮尔逊积矩相关系数（Pearson's r）的方法np.corrcoef(): a = pd.Series([1,2,3,4,5,6,7,8,9,10])...
• 返回值含有nan 数据输入中某些变量是常数 输入数据中本身含有nan型数据 返回值含有空值 输入数据中有object 对象类型数据，转换成浮点型。
• ## cov与corrcoef的区别

千次阅读 2018-07-05 10:59:27
(corrcoef(data, rowvar = 0 )) ''' [[ 1. 1. 0.97796525 -0.52462761 -0.52462761] [ 1. 1. 0.97796525 -0.52462761 -0.52462761] [ 0.97796525 0.97796525 1. -0.58806924 -0.58806924] [-0.52462761 -0...
• 相关系数计算方法 先计算两个变量的相关系数，也就是Cij 然后除以两个变量的标准差的乘积， Cii代表变量i和自己的协方差，也就是方差，所以分母是Cii * Cjj然后开根号，就代表两个变量的标准差的乘积 ...
• ## NumPy--corrcoef()

万次阅读 2018-08-08 21:02:32
皮尔逊积矩相关系数,又称“相关系数”...使用NumPy corrcoef() 函数计算相关系数 numpy. corrcoef ( x ,  y=None ,  rowvar=True ,  bias= ,  ddof= ) print np.corrcoef(a,b) [[1. 1.] [1. 1.]]
• ## numpy.cov以及corrcoef

千次阅读 2017-02-15 11:01:55
协方差的定义： Cov（X，Y）=E[（X-E（X...而corrcoef能做到这种效果，实际上corrcoef就是比cov多了上面这一步而已 具体参考请看 https://docs.scipy.org/doc/numpy/reference/generated/numpy.corrcoef.html

...