R语言 巴特利特检验
在统计学中, Bartlett检验 用于检验 k个 样本是否来自 方差相等的种群 。不同种群的方差相等 被称为 同质性或方差的同质性。一些统计测试,例如 , 方差分析测试 ,假定各组或各样本的方差是相等的。巴特利特检验可以用来验证这一假设。 巴特利特检验 使 ,我们可以比较两个或多个样本的方差,以 决定它们是否来自方差相等的群体。它 适合于正态分布的数据。 有 几种方案可以检验 各组之间的方差 是否相等( 同质性 ),包括 。
- F检验
- 巴特利特氏检验
- Levene’s test
- Fligner-Killeen检验
在R编程中执行这些测试是非常容易的。在这篇文章中,让我们在R中进行 Bartlett’s测试
巴特利特检验的统计学假设
假设就是关于给定问题的 声明。假设检验是一种统计方法,用于利用实验数据进行统计决策。假设检验基本上是我们对一个群体参数的假设。它评估关于一个群体的两个相互排斥的陈述,以确定哪一个陈述得到了样本数据的最佳支持。要了解更多关于 统计假设的信息,请参考 《理解假设检验》。对于巴特利特检验,统计假设是。
- 空白假设: 所有种群的变异都相等
- 备选假设: 至少有两个不同。
在R中的实现
R提供了一个函数 bartlett.test () ,它在 stats 包中可用来计算Bartlett检验。这个函数的语法如下 。
语法
bartlett.test(formula, dataset)
参数
公式: 形式为 数值~组 的公式
数据集: 一个矩阵或数据框
返回
statistic: Bartlett’s K-squared测试统计量。
parameter: 检验统计量的近似卡方分布的自由度。
p.value: 检验的p值。
根据数据格式的不同,可能会出现两种情况。我们必须为这两种不同格式的数据应用不同的公式。
如果数据是 堆积形式的: 数据是堆积形式的意味着两个样本的值都存储在一个 变量中 ,所以在这种情况下,使用以下命令。
bartlett.test(values ~ groups, dataset)
其中
values: 包含数据值的变量的名称
groups: 变量的名称,指定每个值属于哪个样本。
如果数据 为 非 堆叠形式: 数据为非堆叠形式意味着样本存储在 一个单独的 变量中 ,所以在这种情况下,将变量名称嵌套在 list() 函数中,如下所示 。
bartlett.test(list(datasetsample1, datasetsample2, dataset$sample3))
巴特利特检验的例子
单一自变量的巴特利特检验 。
考虑R内置的 PlantGrowth 数据集,该数据集给出了三组共10批植物的干重,其中每组10批植物都得到了不同的处理。 重量 变量给出了该批植物的重量, 组别 变量给出了所接受的治疗,即 ctrl、rt1或rt2。 要查看数据集,请输入以下命令。
print(PlantGrowth)
输出
weight group
1 4.17 ctrl
2 5.58 ctrl
3 5.18 ctrl
4 6.11 ctrl
5 4.50 ctrl
6 4.61 ctrl
7 5.17 ctrl
8 4.53 ctrl
9 5.33 ctrl
10 5.14 ctrl
11 4.81 trt1
12 4.17 trt1
13 4.41 trt1
14 3.59 trt1
15 5.87 trt1
16 3.83 trt1
17 6.03 trt1
18 4.89 trt1
19 4.32 trt1
20 4.69 trt1
21 6.31 trt2
22 5.12 trt2
23 5.54 trt2
24 5.50 trt2
25 5.37 trt2
26 5.29 trt2
27 4.92 trt2
28 6.15 trt2
29 5.80 trt2
30 5.26 trt2
假设想用巴特利特检验来确定在显著性水平为0.05的情况下,所有处理组的体重方差是否相同。这里我们只考虑一个自变量。要进行该检验,请使用下面的命令。
# R program to illustrate
# Bartlett’s test
# Using bartlett.test()
result = bartlett.test(weight~group, PlantGrowth)
# print the result
print(result)
输出
Bartlett test of homogeneity of variances
data: weight by group
Bartlett's K-squared = 2.8786, df = 2, p-value = 0.2371
解释
从输出结果 可以看出,P值为0.2371,不低于0.05的显著性水平。这意味着不能拒绝无效假设,即所有处理组的方差都是相同的。这表明,没有 证据 表明三个处理组的植物生长方差是不同的 。
有多个独立变量的巴特利特检验 。
如果 想用多个 独立 变量进行检验 ,那么必须使用 交互作用 () 函数将多个因素折叠成一个包含所有因素组合的单一变量。在这里,让我们以R的内建的 ToothGrowth 数据集为例 。
# R program to illustrate
# Bartlett’s test
# Print the first 10 rows
# of the data set
print(head(ToothGrowth, 10))
# Applying bartlett.test()
result = bartlett.test(len ~ interaction(supp, dose),
data = ToothGrowth)
# Print the result
print(result)
输出
len supp dose
1 4.2 VC 0.5
2 11.5 VC 0.5
3 7.3 VC 0.5
4 5.8 VC 0.5
5 6.4 VC 0.5
6 10.0 VC 0.5
7 11.2 VC 0.5
8 11.2 VC 0.5
9 5.2 VC 0.5
10 7.0 VC 0.5
Bartlett test of homogeneity of variances
data: len by interaction(supp, dose)
Bartlett's K-squared = 6.9273, df = 5, p-value = 0.2261