总体和样本
总体——所要考察对象的全部个体叫做总体.
我们总是希望得到总体数据的一些特征(例如均值方差等)
样本——从总体中所抽取的一部分个体叫做总体的一个样本.
我们常常通过计算这些抽取的样本的统计量,来估计总体的统计量:
例如使用样本均值、样本标准差来估计总体的均值(平均水平)和总体的标准差(偏离程度)
总体皮尔逊Pearson相关系数
-
协方差
- X、Y变化方向相同,即当X大于(小于)其均值时,Y也大于(小于)其均值。
如果X、Y的变化方向一直保持相同,则协方差为正;同理,如果X、Y变化方向一直相反,则协方差为负;如果X、Y变化方向之间相互无规律,即分子中有的项为正,有的项为负,那么累加后正负抵消。 - 注意:协方差的大小和两个变量的量纲有关,因此不适合做比较。
皮尔逊相关系数也可以看成是剔除了两个变量量纲影响,即将X和Y标准化后的协方差。
- X、Y变化方向相同,即当X大于(小于)其均值时,Y也大于(小于)其均值。
-
相关系数
这里的相关系数只是用来衡量两个变量线性相关程度的指标;也就是说,必须先确认这两个变量是线性相关的,然后这个相关系数才能告诉我们他俩相关程度如何。
(1)非线性相关也会导致线性相关系数很大,例如图2。
(2)离群点对相关系数的影响很大,例如图3。
(3)如果两个变量的相关系数很大也不能说明两者相关,例如图4,可能是受到了异常值的影响。
(4)相关系数计算结果为0,只能说不是线性相关,但说不定会有更复杂的相关关系(非线性相关),例如图5。
事实上,比起相关系数的大小,我们往往更关注的是显著性。(假设检验)
-
描述性统计
-
Matlab:
MIN = min(Test); % 每一列的最小值
MAX = max(Test); % 每一列的最大值
MEAN = mean(Test); % 每一列的均值
MEDIAN = median(Test); %每一列的中位数
SKEWNESS = skewness(Test); %每一列的偏度
KURTOSIS = kurtosis(Test); %每一列的峰度
STD = std(Test); % 每一列的标准差
RESULT=[MIN;MAX;MEAN;MEDIAN;SKEWNESS;KURTOSIS;STD]%将这些统计量放到一个矩阵中表示 -
EXCEL数据分析工具:
得到的表格数据需要精简处理再放到论文中。 -
SPSS:
-
-
矩阵散点图:
在计算皮尔逊相关系数之前,一定要做出散点图来看两组变量之间是否有线性关系,这里使用SPSS比较方便:
图形 ‐ 旧对话框 ‐ 散点图/点图 ‐ 矩阵散点图 -
皮尔逊相关系数的计算
- Matlab:
corrcoef函数:correlation coefficient相关系数
- R = corrcoef(A) % 返回 A 的相关系数的矩阵,其中 A 的列表示随机变量(指标),行表示观测值(样本)。(常用)
- R = corrcoef(A,B) %返回两个随机变量 A 和 B (两个向量)之间的系数。
- 美化相关系数表:
利用EXCEL中的色阶
- 对皮尔逊相关系数进行假设检验
- 常规算法:
常见的置信水平有三个:90%、95%、99% 其中95%是最常用的
t分布表:https://wenku.baidu.com/view/d94dbd116bd97f192279e94a.html
以95%为例,查表可知我们举的例子的临界值为2.048,因此可以做出接受与和拒绝域:
t*=3.05505>2.048 因此我们可以下结论:
在95%的置信水平上,我们拒绝原假设 H 0 H_0 H0: r = 0 r=0 r=0,因此r是显著的不为0的。
- 常规算法:
-
P值判断法:
计算各列之间的相关系数以及p值:
一行代码:[R,P] = corrcoef(Test) % R返回的是相关系数表,P返回的是对应于每个相关系数的p值
小补充:0.5、0.5* 、0.5**、0.5***的含义是分别是:不相关、 p<0.1、 p<0.05、 p<0.01
另外,Matlab计算的是双侧检验的p值,如果需要单侧的话只需要除以2即可。
利用spss软件可以让生成的数据中含有 ’ * ’ :
分析-相关-双变量-选择相关系数-选择双尾/单尾(表示双侧/单侧检验)
将spss中得到的表格数据处理一下,p值只是一个用来比较衡量的工具,只保留 相关系数部分即可,整理后粘贴到论文中。 -
皮尔逊相关系数假设检验的条件:
第一, 实验数据通常假设是成对的来自于正态分布的总体;
第二, 实验数据之间的差距不能太大。皮尔逊相关性系数受异常值的影响比较大;
第三:每组样本之间是独立抽样的,构造t统计量时需要用到。
- Matlab:
-
正态分布的检验
-
雅克‐贝拉检验(Jarque‐Bera test)(大样本 n>30)
-
偏度和峰度
正态分布的偏度为0,峰度为3
(在有些地方定义峰度为3,Matlab中定义峰度为0)
x = normrnd(2,3,100,1);
% 生成100*1的随机向量,每个元素是均值为2,标准差为3的正态分布
skewness(x) %偏度
kurtosis(x) %峰度 -
雅克‐贝拉检验(Jarque‐Bera test)
-
语法:
[h,p] = jbtest(x,alpha) -
解释:
1.当输出h等于1时,表示拒绝原假设;h等于0则代表不能拒绝原假设。
2.alpha就是显著性水平,一般取0.05,此时置信水平为1‐0.05=0.95
3.x就是我们要检验的随机变量,注意这里的x只能是向量。
-
-
Shapiro-wilk检验(本3≤n≤50)
-
Q-Q图法:(不太常用)
这里,我们选择正态分布和要检验的随机变量,并对其做出QQ图,可想而知,如果要检验的随机变量是正态分布,那么QQ图就是一条直线。要利用Q‐Q图鉴别样本数据是否近似于正态分布,只需看Q‐Q图上的点是否近似地在一条直线附近。(要求数据量非常大)
- 语法:
qqplot(Test(:,1))
- 语法:
斯皮尔曼spearman相关系数
和皮尔逊相关系数相比,斯皮尔曼相关系数对数据的要求比较低
-
定义
-
第一种定义方法:
如果有的数值相同,则将它们所在的位置取算术平均。如上表中Y等级的4.5带入公式得:
X和Y的斯皮尔曼相关系数为:0.875
-
第二种定义方法:
%% MATLAB求解皮尔逊相关系数
RX = [2 5 3 4 1]
RY = [1 4.5 3 4.5 2]
R = corrcoef(RX,RY)运行结果得:
R=
1.0000 0.8721
0.8721 1.0000
-
两种定义方法的结果有微小差别,这是因为Y等级中的4.5,否则两种方法的结果是无差别的。
-
计算斯皮尔曼相关系数
Matlab中用的是第二种:
两种写法:
(1)corr(X , Y , ‘type’ , ‘Spearman’)
这里的X和Y必须是列向量
(2)corr(X , ‘type’ , ‘Spearman’)
这时计算X矩阵各列之间的斯皮尔曼相关系数
-
假设检验:
- 小样本:
直接查临界值表即可。
样本相关系数r必须大于等于表中的临界值,才能得出显著的结论。 - 大样本:
若选择95%,则:
disp( ( 1-normcdf(z) ) * 2 ) 即为p值,(这里将 z* 的值带入z),将p值与0.05比较即可得出结论。 - 大样本中直接给出相关系数和p值:
Matlab实现:
[R,P]=corr(Test, ‘type’ , ‘Spearman’)
- 小样本:
两个相关系数的比较
-
1.连续数据、正态分布、线性关系,用pearson相关系数效率最高;
-
2.上述三个条件任一条件不满足时,用spearman相关系数;
-
3.两个定序数据之间也用spearman相关系数。
- 定序数据:定序数据是指仅仅反映观测对象等级、顺序关系的数据,是由定序尺度计量形成的,表现为类别,可以进行排序,属于品质数据。
例如:优、良、差;
我们可以用1表示差、2表示良、3表示优,但请注意,用2除以1得出的2并不代表任何含义。定序数据最重要的意义代表了一组数据中的某种逻辑顺序。 - 注:斯皮尔曼相关系数的适用条件比皮尔逊相关系数要广,只要数据满足单调关系(例如线性函数、指数函数、对数函数等)就能够使用。
- 定序数据:定序数据是指仅仅反映观测对象等级、顺序关系的数据,是由定序尺度计量形成的,表现为类别,可以进行排序,属于品质数据。