皮尔逊相关系数
目录两种最常用的相关系数:皮尔逊person相关系数和斯皮尔曼spearman等级相关系数。
他可以用来衡量两个变量之间相关性的大小,根据数据满足不同的条件,我们要选择不同的相关系数进行计算和分析。
注:用皮尔逊相关系数进行分析时,选取两两变量,需要 通过作图 看出两两变量 有线性相关性 才可进一步获知其相关系数。
若上述满足了,得出了皮尔逊相关系数,还要看每个相关系数是否显著异于0,这样之后才能看出两两变量线性相关性有多大。
但是此时样本数据需要满足 正态分布,若不满足不可进行假设检验。因此有几种检验数据是否正态分布的方法。
若满足正态分布,得出了p值矩阵,和显著性比较后可以知道是否显著异于0,用*表示出来,这才完成了相关性检验的步骤,得出了这个两两变量间是显著正相关还是负相关,或者是不显著的相关。
皮尔逊相关系数介绍
总体 ——所要考察对象的全部个体叫做总体.
我们总是希望得到总体数据的一些特征(例如均值方差等)
样本 ——从总体中所抽取的一部分个体叫做总体的一个样本.
1. 总体皮尔逊相关系数
- 先算均值
- 再算协方差
- 再算标准差(方差)
- 最后算相关系数
2. 样本皮尔逊相关系数
image.png两者的区别只在于n变成了n-1.
相关性可视化
通过绘制散点图可以很容易地判定两个数据对象x和y之间的相关性。
- x与y趋势相反为负相关
- x与y趋势相同为正相关
- 相关系数绝对值越接近1,相关性越大
皮尔逊相关系数的一些误区
-
相关系数很大,但是图像不是线性相关
- 非线性相关也会导致线性相关系数很大,例如图2。
- 离群点对相关系数的影响很大,例如图3,去掉离群点后,相关系数为0.98。
- 如果两个变量的相关系数很大也不能说明两者相关,例如图4,可能是受到了异常值的影响。
-
图像有相关性,但是相关系数很小
- 相关系数计算结果为0,只能说不是线性相关,但说不定会有更复杂的相关关系(非线性相关)
因此:
- 必须先确定两个变量是线性相关的,然后才能通过相关系数知道相关程度如何。
- 在不确定两个变量是什么关系的情况下,即使算出皮尔逊相关系数,发现很大,也不能说明那两个变量线性相关,甚至不能说他们相关,我们一定要画出散点图来看才行。
描述性统计
对整体的数据进行不同角度的统计。
用matlab统计
image.png用Excel统计
数据-数据分析
image.png用SPSS统计
image.png矩阵散点图:两两变量间作图
用于查看两两变量间的关系,看看是否有线性关系
image.png求皮尔逊相关系数的函数corrcoef()
可以对一个矩阵两两列求相关系数,也可以求给的两向量的相关系数。
image.png美化相关系数矩阵
这里用excel来做
-
对获得的矩阵复制到excel中,调整行高,使他为正方形
-
然后选中数据,然后条件格式|色阶即可
- 条件格式|管理规则里修改改规则,把最小值设为数值-1,最大值设为数值1,因为相关系数在[-1,1]之间。这样的图才准确
假设检验
假设检验一般步骤:
image.png假设检验-p值:
image.png对皮尔逊相关系数进行假设检验,得显著性水平
手动计算出检验值和临界值,进行假设检验
第一步:提出原假设和备择假设
- 已知皮尔逊相关系数,我们想检验他是否显著地异于0
第二步:在原假设成立的前提下,利用要检验的量()构造符合某一分布的统计量
对于皮尔逊相关系数r而言,在满足一定的条件下,我们可以构造出统计量:
是服从自由度为n-2的分布。至此我们根据构造出了一个分布(证明略)
第三步:将要检验的值带入该统计量,得到特定值
如相关系数,样本数量为30,则
第四步:根据分布和置信水平找到临界值,就可以找到接受域和拒绝域
- 方法:
- 查表:t分布,置信水平0.95,则右侧累积置信水平0.975,自由度28,找到临界值2.048
- 函数计算:临界值=tinv(0.975,28) % 这个函数是累积密度函数tcdf的反函数
- 判断结果
- 检验值>临界值,拒绝原假设-->相关系数r和0有显著差异(即可以视这个相关系数为0)
- 检验值<临界值,接受原假设-->相关系数r和0没有显著差异
计算p值检验
单个相关系数检验显著性:
已知检验值为3.055,自由度28,双侧检验,求其p值:
p=(1-tcdf(3.055,28))*2
% tcdf:t分布的累计概率密度函数
另一种便捷方法:直接得出相关系数矩阵及其p值矩阵:
[R,P]=corrcoef(X)
% R 为相关系数矩阵
% P 为p值矩阵
相关系数的显著性水平表示方法
看p值和显著性水平的关系(p在哪个段里):
- 0-0.01:r和0有很大显著区别,三星
- 0.01-0.05:r和0有较大显著区别,二星
- 0.05-0.10:r和0有显著区别,一星
代码筛选:
star3=P<0.01
star2=(P>0.01) .* (P<0.05)
star1=(P>0.05) .* (P<0.1)
image.png
皮尔逊相关系数假设检验的条件
要进行假设检验,你这个实验数据要符合一些条件,才能进行检验,得显著水平:
image.png这里只要保证第一个:实验数据符合正态分布即可。
那么,
如何检验数据是否是正态分布?
雅克贝拉检验JB检验(Jarque-bera test)
要求大样本,n>30。
matlab:[h,p] = jbtest(x,alpha)
-
h为结果,1拒绝原假设,0接受原假设。
-
p为p值,与alpha显著水平比较,小于则拒绝原假设,大于接受原假设
-
x为一个向量
-
alpha为显著水平,一般为
0.05
,此时置信水平为0.95
如:
[h,p]=jbtest(Test(:,1),0.05)
夏皮洛-威尔克检验 (Shapiro‐wilk)
小样本 3≤n≤50。
这里用SPSS检验。
image.pngQ-Q图
要求数据量很大,500以上吧,不然会有偏差。而且QQ图不太常用。
image.png
matlab使用:
qqplot(x)
% x为向量
网友评论