才子佳人博客

我的故事我讲述

matlab相关系数讨论及计算
###SmallArticleTitle###
来源:xjh;  编辑:xjh;  2018-09-19

一、相关系数

简单的说,相关系数r就是求两个大小相同样本的相关性,范围在-1到1之间。样本的相关性并不能代表总体也是相关的,因此需要做统计检验。常用的检验方法是t检验法。理论的方法是给定置信度alpha,根据自由度n-2通过查表查出t-alpha,来给出是否通过检验。这是最一般也是最常用的两个序列的相关分析方法。此外,还包括复相关系数和偏相关系数等计算,具体见相关理论教材讲解。

相关系数:考察两个事物(在数据里我们称之为变量)之间的相关程度。

如果有两个变量:X、Y,最终计算出的相关系数的含义可以有如下理解:

(1)当相关系数为0时,X和Y两变量无关系。

(2)当X的值增大(减小),Y值增大(减小),两个变量为正相关,相关系数在0.00与1.00之间。

(3)当X的值增大(减小),Y值减小(增大),两个变量为负相关,相关系数在-1.00与0.00之间。

相关系数的绝对值越大,相关性越强,相关系数越接近于1或-1,相关度越强,相关系数越接近于0,相关度越弱。

二、matlab中实现相关函数:corrcoef函数

简单介绍该函数用法,具体help。

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).

R = corrcoef(X)
 R = corrcoef(x,y)
 [R,P]=corrcoef(...)
 [R,P,RLO,RUP]=corrcoef(...)
 [...]=corrcoef(...,param1,val1,param2,val2,...)

corrcoef函数计算得到的R是相关矩阵,对角线是自己和自己做相关,因此得到的值为1.R是一个对称矩阵,R(i,j)表示第i列与第j列做相关。做相关时,是对矩阵X的列做相关,也就是说列数是变量的数目,而行数是各变量的样本数。返回的P值如果小于0.05,表示相关显著性强,越接近0越强。RLO和RUP表示每一个相关系数95%置信区间的上界和下界。param表示可修改相应参数,如alpha值等等。见来源于help中的一个例子:

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

function sum(A,2) works on successive elements in the rows of A and returns a column vector of the sums of each row.


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.

在matlab当中可以使用xcorr函数来求序列的自相关和互相关。

三、相关程度与相关函数的之间的联系

在概率论和统计学中,相关(Correlation,或称相关系数或关联系数),显示两个随机变量之间线性关系的强度和方向。在统计学中,相关的意义是用来衡量两个变量相对于其相互独立的距离。最常用的是皮尔逊积矩相关系数。其定义是两个变量协方差除以两个变量的标准差(方差的平方根)。

相关系数只是一个比率,不是等单位量度,无什么单位名称,也不是相关的百分数,一般取小数点后两位来表示。相关系数的正负号只表示相关的方向,绝对值表示相关的程度。因为不是等单位的度量,因而不能说相关系数0.7是0.35两倍,只能说相关系数为0.7的二列变量相关程度比相关系数为0.35的二列变量相关程度更为密切和更高。也不能说相关系数从0.70到0.80与相关系数从0.30到0.40增加的程度一样大。

对于相关系数的大小所表示的意义目前在统计学界尚不一致,但通常按下是这样认为的:

相关系数      相关程度

0.00-±0.30    微相关

±0.30-±0.50  实相关

±0.50-±0.80  显著相关

±0.80-±1.00  高度相关

四、在matlab中使用corrcoef函数可以求两个序列的相关度

corrcoef(x,y)表示序列x和序列y的相关系数,得到的结果是一个2*2矩阵,其中对角线上的元素分别表示x和y的自相关,非对角线上的元素分别表示x与y的相关系数和y与x的相关系数,两个是相等的。

分类:网络日志 | 评论数:0 | 浏览数:168
相关文章
文章点击排行
本年度文章点击排行
发表评论:
  • 昵称: *
  • 邮箱: *
  • 网址:
  • 评论:(最多100字)
  • 验证码: