概述
结合R语言学习多元统计分析1——相关系数及其检验
- 简单相关系数的计算
- 数理相关知识
- 代码实现
- 相关系数的假设检验
- 数理基础
- 代码实现
- 多元相关系数实验
- 使用的数据
- 代码实现
- 总结
- 参考文献
简单相关系数的计算
数理相关知识
对于连续无序变量x、y,计算其相关性通常采用皮尔森相关系数,其表达式为
ρ
=
c
o
v
(
x
,
y
)
v
a
r
(
x
)
v
a
r
(
y
)
=
σ
x
y
σ
x
2
σ
y
2
rho=frac{cov(x, y)}{sqrt{var(x)var(y)}}=frac{sigma_{xy}}{sqrt{sigma_x^{2}sigma_y^{2}}}
ρ=var(x)var(y)cov(x,y)=σx2σy2σxy
在实际操作中,总体的方差标准差、两个变量间的协方差并不是已知,而是未知,所以通常利用样本的Pearson相关系数:
r
=
s
x
y
s
x
2
s
y
2
=
∑
(
x
−
x
‾
)
(
y
−
y
‾
)
∑
(
x
−
x
‾
)
2
(
y
−
y
‾
)
2
r=frac{s_{xy}}{sqrt{s_x^{2}s_y^{2}}}=frac{sum{(x-overline x)(y-overline y)}}{sqrt{sum{(x-overline x)^{2}(y-overline y)^{2}}}}
r=sx2sy2sxy=∑(x−x)2(y−y)2∑(x−x)(y−y)
其中
s
x
y
s_{xy}
sxy是变量
x
x
x与变量
y
y
y的样本协方差,
s
x
2
s_x^{2}
sx2是变量
x
x
x的样本方差,
s
y
2
s_y^{2}
sy2是变量
y
y
y的样本协方差。
在多元统计中(假设有n个系数、p个变量),由于不同变量之间的对比有更多的可能,相关系数就成了一个
n
∗
p
n*p
n∗p的相关系数矩阵,其具体形式如下:
r
=
(
1
ρ
12
…
ρ
1
p
ρ
21
1
…
⋮
⋮
⋮
⋱
⋮
ρ
n
1
ρ
n
2
…
1
)
=
D
−
1
2
S
D
−
1
2
r=begin{pmatrix} 1&rho_{12}&dots&rho_{1p}\ rho_{21}&1&dots& vdots\ vdots&vdots&ddots&vdots\ rho_{n1}&rho_{n2}&dots&1 end{pmatrix} =D^{-{1over2}}SD^{-{1over2}}
r=⎝⎜⎜⎜⎜⎛1ρ21⋮ρn1ρ121⋮ρn2……⋱…ρ1p⋮⋮1⎠⎟⎟⎟⎟⎞=D−21SD−21
其中D为变量的标准差:
D
=
(
σ
1
2
0
…
0
0
σ
2
2
…
0
0
…
⋱
0
0
…
…
σ
n
2
)
D=begin{pmatrix} sigma_1^{2}&0&dots&0\ 0&sigma_2^{2}&dots&0\ 0&dots&ddots&0\ 0&dots&dots&sigma_n^{2} end{pmatrix}
D=⎝⎜⎜⎛σ120000σ22…………⋱…000σn2⎠⎟⎟⎞
代码实现
在利用R语言求相关系数时,通常使用cor函数:
cor(x,y=NULL,method=c(“pearson”, “kendall”, “spearman”)|
其中x为数值向量、矩阵或数据框;y为空或数值向量、矩阵或数据框
method表示三种相关系数的计算方法,从左到右依次是:皮尔森相关系数、kendall秩相关系数、斯皮尔曼相关系数。R语言默认为pearson相关系数,即本文介绍的相关系数。
相关系数的假设检验
数理基础
相关系数与其它统计指标一样,有抽样误差,从同一总体抽取的大小相同的样本,其相关系数也不一定一致,要判断不等于0的r值来自 ρ = 0 rho=0 ρ=0的总体样本还是 ρ ≠ 0 rhone0 ρ=0的总体,必须进行显著性检验。对样本相关系数r进行t检验的步骤为:
- 建立检验假设, H 0 : ρ = 0 H_0:rho=0 H0:ρ=0, H 1 : ρ ≠ 0 H_1:rhone0 H1:ρ=0
- 计算相关系数r的t值:
t r = r − 0 1 − r 2 n − 2 t_r=frac{r-0}{ sqrt{frac{1-r^{2}}{n-2}} } tr=n−21−r2r−0
3.计算t值和p值,解释结果并作出结论。
代码实现
t统计量的计算:
n=length(x1) #计算向量的长度
tr=r/sqrt(1-r^2)/(n-2)) #相关系数假设检验t统计量
cor.test(x,y,alternative=c(“two.sided”,“less”,"greater),
method=c(“pearson”,“kendall”,“spearman”),…)
其中,x、y时长度相同的数据向量,alternative时备择假设,“two.sided”是双侧检验,“greater”是右侧检验,“less”是左侧检验。
method是计算方法。
多元相关系数实验
使用的数据
一家保险公司十分关心其总公司营业部加班的程度,决定认真调查以下现状。经过10周的时间,手机了该公司每周加班工作时间y(小时)的数据何签发的新保单数目x(张),数据见下表:
周 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
x | 825 | 215 | 1070 | 550 | 480 | 920 | 1350 | 325 | 670 | 1215 |
y | 3.5 | 1 | 4 | 2 | 1 | 3 | 4.5 | 1.5 | 3 | 5 |
(1)绘制散点图,并以此判断x与y之间是否大致呈线性关系。
(2)计算x与y的相关系数并检验1
代码实现
data=read.table("clipboard",header = T)
plot(data)
#生成的图表示x与y大致呈线性关系
#但是数据太少了,并不可以十分武断
r=cor(data$x,data$y)
#计算x与y的相关系数矩阵
n=length(data$x)
#计算样本的个数
tr=(r-0)/sqrt((1-r^2)/(n-2))
cor.test(data$x,data$y)
#从结果来看,其中p值是小于0.05的,由此拒绝原假设,即总体相关系数并不为0
总结
事实上,样本相关系数的假设检验并不常用。因为大部分的数据值之间的相关系数都难以等于零。
参考文献
[1]王斌会, 多元统计分析及R语言建模[M], 广东:暨南大学出版社, 2019.
[2]hhhhhliu, markdown编辑希腊字母[OB], CSDN, 不想按格式来了你点这个超链接吧.
本题引用自参考文献[1] ↩︎
最后
以上就是羞涩鸡翅为你收集整理的结合R语言学习多元统计分析1——相关系数及其检验简单相关系数的计算相关系数的假设检验多元相关系数实验总结参考文献的全部内容,希望文章能够帮你解决结合R语言学习多元统计分析1——相关系数及其检验简单相关系数的计算相关系数的假设检验多元相关系数实验总结参考文献所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复