r语言卡方检验命令(R语言中方差齐性检验数析学院)

问题

在我们接触过的许多统计检验中,都假设了总体的同方差性,这样的假设在统计研究中相当重要。那么在R中,我们该如何检验样本变量之间的方差齐性(同方差性)呢?

指南

检验数据方差齐性的方法有很多,本节将主要介绍以下三种:

  • Bartlett检验 - 如果我们的数据服从正态分布,那么这种方法将是最为适用的。对于正态分布的数据,这种检验极为灵敏;而当数据为非正态分布时,使用该方法则很容易导致假阳性误判。

  • Levene检验 - 相较于Bartlett检验,这一方法更为稳健。这一方法被封装于car程序包中。

  • Fligner-Killeen检验 - 这是一个非参数的检验方法,完全不依赖于对分布的假设。

对于上述所有的检验,我们的原假设都为“变量的总体方差全部相同”;备择假设则为“至少有两个变量的总体方差时不同的”。

示例数据:

下面的例子中我们用到了InsectSprays数据集和ToothGrowth数据集。其中,InsectSprays数据集中只有一个自变量,而在ToothGrowth数据集则有两个自变量。

r语言卡方检验命令(R语言中方差齐性检验数析学院)(1)

绘制数据集的简单箱线图:

r语言卡方检验命令(R语言中方差齐性检验数析学院)(2)

r语言卡方检验命令(R语言中方差齐性检验数析学院)(3)

大致一看,我们会直观地认为两个数据集中的数据都是异方差的,接下来,我们需要用适合的方法来实际地去检验它。

Bartlett检验

对于单一自变量:

r语言卡方检验命令(R语言中方差齐性检验数析学院)(4)

对于有多个自变量的情况,我们需要运用interaction()函数来将多个自变量折叠为一个单一的变量用于表示不同变量因素之间的组合。如果不这么做的话,检验的自由度将会发生错误,进而导致我们得到错误的p值。

r语言卡方检验命令(R语言中方差齐性检验数析学院)(5)

Levene检验

leveneTest函数包含于car程序包中。 对于单一的自变量:

r语言卡方检验命令(R语言中方差齐性检验数析学院)(6)

多个自变量的情况,在这种方法中我们无需使用interaction函数:

r语言卡方检验命令(R语言中方差齐性检验数析学院)(7)

Fligner-Killeen检验

对于单一的自变量:

r语言卡方检验命令(R语言中方差齐性检验数析学院)(8)

fligner.test函数与bartlett.test函数有着相同的缺点,在存在多个自变量时,检验前我们必须要使用interaction()函数将多个变量折叠为单一的变量:

r语言卡方检验命令(R语言中方差齐性检验数析学院)(9)

更多内容请关注"Datartisan数据工匠"微信公众号。

r语言卡方检验命令(R语言中方差齐性检验数析学院)(10)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页