相关系数的假设检验

  • 一. 对皮尔逊相关系数进行假设检验
  • 二.利用P值判断法
  • 三.计算相关系数
  • 四.假设检验代码实现
  • 五.计算p值法
  • 六.标记星号问题
  • 1.定义
  • 2. 使用Matlab进行
  • 3.利用spss
  • 七.皮尔逊相关系数假设检验的条件


一. 对皮尔逊相关系数进行假设检验

R语言中皮尔逊检验 皮尔逊假设检验_matlab

R语言中皮尔逊检验 皮尔逊假设检验_数据分析_02

R语言中皮尔逊检验 皮尔逊假设检验_数据分析_03


R语言中皮尔逊检验 皮尔逊假设检验_R语言中皮尔逊检验_04


R语言中皮尔逊检验 皮尔逊假设检验_假设检验_05

x = -4:0.1:4;
y = tpdf(x,28);
plot(x,y,'-')
grid on % 在画出的图上加上网格线

R语言中皮尔逊检验 皮尔逊假设检验_假设检验_06


R语言中皮尔逊检验 皮尔逊假设检验_R语言中皮尔逊检验_07

二.利用P值判断法

R语言中皮尔逊检验 皮尔逊假设检验_R语言中皮尔逊检验_08

三.计算相关系数

%% 计算各列之间的相关系数
% 在计算皮尔逊相关系数之前,一定要做出散点图来看两组变量之间是否有线性关系
% 这里使用Spss比较方便: 图形 - 旧对话框 - 散点图/点图 - 矩阵散点图

R = corrcoef(Test)   % correlation coefficient

Spss:

  1. 导入数据
  2. 图形 - 旧对话框 - 散点图/点图 - 矩阵散点图
  3. 得到:

四.假设检验代码实现

%% 假设检验部分
x = -4:0.1:4;
y = tpdf(x,28);  %求t分布的概率密度值 28是自由度  
figure(1)
plot(x,y,'-')
grid on  % 在画出的图上加上网格线
hold on  % 保留原来的图,以便继续在上面操作
% matlab可以求出临界值,函数如下
tinv(0.975,28)    %    2.0484
% 这个函数是累积密度函数cdf的反函数
plot([-2.048,-2.048],[0,tpdf(-2.048,28)],'r-')
plot([2.048,2.048],[0,tpdf(2.048,28)],'r-')

R语言中皮尔逊检验 皮尔逊假设检验_matlab_09

五.计算p值法

x = -4:0.1:4;
y = tpdf(x,28);
figure(2)
plot(x,y,'-')
grid on 
hold on
% 画线段的方法
plot([-3.055,-3.055],[0,tpdf(-3.055,28)],'r-')
plot([3.055,3.055],[0,tpdf(3.055,28)],'r-')
disp('该检验值对应的p值为:')
disp((1-tcdf(3.055,28))*2)  %双侧检验的p值要乘以2

R语言中皮尔逊检验 皮尔逊假设检验_python_10

六.标记星号问题

1.定义

R语言中皮尔逊检验 皮尔逊假设检验_python_11


可以更改,但是要说明代表的意义

2. 使用Matlab进行

%% 计算各列之间的相关系数以及p值
[R,P] = corrcoef(Test)
% 在EXCEL表格中给数据右上角标上显著性符号吧
P < 0.01  % 标记3颗星的位置
(P < 0.05) .* (P > 0.01)  % 标记2颗星的位置,利用矩阵相乘成立
(P < 0.1) .* (P > 0.05) % % 标记1颗星的位置

R语言中皮尔逊检验 皮尔逊假设检验_matlab_12


R语言中皮尔逊检验 皮尔逊假设检验_假设检验_13

结果

R语言中皮尔逊检验 皮尔逊假设检验_R语言中皮尔逊检验_14

3.利用spss

R语言中皮尔逊检验 皮尔逊假设检验_python_15


R语言中皮尔逊检验 皮尔逊假设检验_matlab_16


确定——>

R语言中皮尔逊检验 皮尔逊假设检验_R语言中皮尔逊检验_17

七.皮尔逊相关系数假设检验的条件

第一, 实验数据通常假设是成对的来自于正态分布的总体。因为我们在求皮尔
逊相关性系数以后,通常还会用t检验之类的方法来进行皮尔逊相关性系数检验,
而t检验是基于数据呈正态分布的假设的。
第二,实验数据之间的差距不能太大。皮尔逊相关性系数受异常值的影响比较
大。
第三:每组样本之间是独立抽样的。构造t统计量时需要用到