F-test : 检验两个正态随机变量的总体方差是否相等的一种假设检验方法。
—— 百度百科
方差是表示数据变异度的一个重要指标,事实上,我们对样本的平均数、频数进行假设检验时,都是以各个总体的方差的同质性为前提的。因此,在进行平均数的假设检验(t-test)之前,务必要从各样本的方差来推断其总体方差是否相同,即方差同质性检验。
在本文中,主要介绍的是两样本方差的同质性检验,而单样本(卡方检验)和多样本(巴特勒检验)的方差同质性检验暂不展开。同样地,F-test的统计学原理也不在此展开,我们就以R code的实例来学习这个函数吧。
在R中,F-test的函数为var.test()
var.test()
:
Performs an F test to compare the variances of two samples from normal populations.
var.test(x, ...)
## Default S3 method:
var.test(x, y, ratio = 1,
alternative = c("two.sided", "less", "greater"),
conf.level = 0.95, ...)
## S3 method for class 'formula'
var.test(formula, data, subset, na.action, ...)
x,y
:为进行检验的数据。
alternative
:设定备择假设,包括"two.sided" (default), "greater" or "less"。
conf.level
:设定显著性水平,默认α=0.05。
需要注意的是,var.test()
的零假设是x和y的方差比值(ratio)为1(默认),即是x与y的方差相等。
下面尝试从正态总体中抽取两个方差均为1的,但容量有所差异的样本进行检验:
> x <- rnorm(50, mean = 0, sd = 1)
> y <- rnorm(30, mean = 0, sd = 1)
> var.test(x, y)
F test to compare two variances
data: x and y
F = 1.0895, num df = 49, denom df = 29, p-value = 0.8199
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
0.5473957 2.0498245
sample estimates:
ratio of variances
1.089511
可以看到var.test()
的结果由以上几个部分组成:
- F检验统计值,包括两样本分别的自由度和p-value。
- 备择假设
- 置信区间
- 方差比值
从p-value一项可以看出,本次检验接受零假设,即两样本的总体方差同质。
对F-test有了大致的了解后,我们可以对上篇
(R-简单的学生检验(t-test):https://www.jianshu.com/p/d2080c89ccbd)
中的一个独立样本的均值检验进行方差同质性检验了。
【例】用高蛋白和低蛋白两种饲料养1月龄大白鼠,在3个月时,测定两组大白鼠的增重量(g),检验两组数据均值有无显著性差异。
> X <- c(134, 146, 106, 119, 124, 161, 107, 83, 113, 129, 97, 123)
> Y <- c(70, 118, 101, 85, 107, 132, 94)
> var.test(X, Y)
F test to compare two variances
data: X and Y
F = 1.0626, num df = 11, denom df = 6, p-value = 0.9917
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
0.1964273 4.1236757
sample estimates:
ratio of variances
1.062625
F-test的结果也如同我们上篇中所假设,两组大白鼠的方差是同质的,因此可以进行t-test分析两者均值有无显著差异。
F-test的介绍就简单地到此结束了,如有不足,请各位指出。
完。