笔记说明
读《Discovering Statistics Using R》第五章 Exploring assumptions做的笔记。本笔记对应章节为5.7,主要介绍方差齐性检验。
方差齐性
方差齐性(homogeneity of variance)是指在某个变量在不同水平变化时,指定变量的方差不变。常见的有两种情况:进行组间比较时,方差齐性意味着不同组样本背后的总体的有着相同的方差;考察相关性时,方差齐性意味着随着一个变量的值在不同水平上变动,另一个变量的方差是稳定不变的。
在考察相关性的情境下,一般倾向于用作图法考察方差齐性(见7.9.5节)。
在组间比较的情境下,一般倾向于用Levene's检验考察方差齐性。
Levene's检验
Levene's检验的零假设为:不同组间的方差相同(不同组间方差差值为0).
Levene's检验先将原始观测值转为相应的离差值,通过对离差值做单因素方差分析,比较不同组的离差值的平均水平是否一致来实现对方差齐性的考察。离差值即为原始观测值和该观测值所在组的均值或中位数之间的绝对差值(离差值还可以采用其他计算方式,比如离均差平方等)。
如果Levene's检验P≤0.05,则表示方差在组间的差异有统计学意义,方差齐性的假设不能成立;如果Levene's检验P>0.05,则表示方差在组件的差异没有统计学意义,方差齐性的假设可以成立(tenable)。
示例数据
示例数据RExam记录了学生在R考试中的表现。
library(rio)
# 数据导入
rexam <- import("data/RExam.dat")
str(rexam)
## 'data.frame': 100 obs. of 5 variables:
## $ exam : int 18 30 40 30 40 15 36 40 63 31 ...
## $ computer: int 54 47 58 37 53 48 49 49 45 62 ...
## $ lectures: num 75 8.5 69.5 67 44.5 76.5 70 18.5 43.5 100 ...
## $ numeracy: int 7 1 6 6 2 8 3 7 4 6 ...
## $ uni : int 0 0 0 0 0 0 0 0 0 0 ...
数据中的uni变量是一个分类变量,0表示该条观测的学生来自Duncetown University 1表示该条观测的学生来自Sussex University。
对uni变量进行编码:
rexam$uni<-factor(rexam$uni, levels = c(0:1),
labels = c("Duncetown University", "Sussex University"))
str(rexam)
## 'data.frame': 100 obs. of 5 variables:
## $ exam : int 18 30 40 30 40 15 36 40 63 31 ...
## $ computer: int 54 47 58 37 53 48 49 49 45 62 ...
## $ lectures: num 75 8.5 69.5 67 44.5 76.5 70 18.5 43.5 100 ...
## $ numeracy: int 7 1 6 6 2 8 3 7 4 6 ...
## $ uni : Factor w/ 2 levels "Duncetown University",..: 1 1 1 1 1 1 1 1 1 1 ...
Levene's检验实现
可以使用car
包的leveneTest()
函数实现Levene's检验。
用法为:
leveneTest(outcome variable, group, center = median/mean)
outcome variable
即为要检测方差是否齐性的变量,group
为分组变量,需是factor类型。这两个参数是必须的。center = median/mean
是非必须指定的参数,这个选项指定离差的计算方式是以组内均值为中心还是以组内中位数为中心。书中说以中位数为中心更好一些(slightly preferable),若未指定则默认center=median
。
library(car)
leveneTest(rexam$exam, rexam$uni)
## Levene's Test for Homogeneity of Variance (center = median)
## Df F value Pr(>F)
## group 1 2.0886 0.1516
## 98
对另一个变量进行方差齐性检验:
library(car)
leveneTest(rexam$numeracy, rexam$uni)
## Levene's Test for Homogeneity of Variance (center = median)
## Df F value Pr(>F)
## group 1 5.366 0.02262 *
## 98
## ---
## Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
结果报告
Levene's检验统计量为F,有2个自由度值。
报告一般形式为:F(df1,df2)= value, Pr(>F)
就本例结果可报告如下:
For the percentage on the R exam, the variances were similar for Duncetown and Sussex University students, F(1, 98) = 2.09, P = 0.152, but for numeracy scores the variances were significantly different in the two groups, F(1, 98) = 5.37, P = 0.023.
:方差比
和正态性检验类似,当样本量很大时,组间方差的很小不同也可以被Levene's检验为有统计学意义。
——也被称为方差比(variance ratio)是一个有用的复核方法。它是指最大方差组和最小方差组之间方差的比值,将这个比值与Hartley发表的界值比较,如果方差比小于对应界值则可以认为方差齐性成立。书中给出了检验水准为0.05时的部分界值表的图,截图如下:
界值取决于每组的样本量n(实际为n-1)以及比较的组数。
由图可知,每组10个样本时,想要方差齐性成立则至少要小于10。每组15-20个样本时,方差比需要小于5;每组30-60个样本时,方差比需要小于大概2或者3。