确定方差差异的事后检验

机器算法验证 方差 事后
2022-03-19 11:27:43

我正在测试 5 个不同的组是否有不同的方差,我对平均值不感兴趣。鉴于数据不符合正态分布,我进行了 Brown-Forsythe 检验。该测试产生了具有 p 的异质性结果。值为 0.0001。我的问题是,我如何测试差异差异在哪里?意思是,哪些组之间的差异显着?我正在寻找相当于 Post-Hoc Tukey 测试但用于测试差异的测试。谢谢,这让我发疯了。

1个回答

不久前,我参与了一个项目,我在广义最小二乘回归的框架内处理了这类问题。换句话说,我为我的数据拟合了一个模型,该模型估计了组的平均值,同时允许组 2、3、...、4 的标准差等于:

  • 第 1 组的标准差乘以因子 delta2(对于第 2 组);
  • 第 1 组的标准差乘以因子 delta3(对于第 3 组);
  • 第 1 组的标准差乘以因子 delta4(对于第 4 组);
  • 第 1 组的标准差乘以因子 delta5(对于第 5 组)。

如果我没记错的话,我使用的软件为这些因素中的每一个都生成了估计值和置信区间,这使我能够根据标准偏差获得组之间所有感兴趣的成对比较。我必须转换结果变量以获得表现良好的残差,并且还要与软件作斗争,因为它不允许我选择将哪个组视为参考(例如,第 1 组),而是选择基于参考组在数据上。

用于拟合此类模型的 R 语法类似于:

library(nlme)
model <- gls(outcome ~ group, weights = varIdent(form = ~1|group), 
             data=mydata)

然后使用类似的东西:

summary(model)

查看模型拟合的摘要。

此外,使用:

model$modelStruct$varStruct

获取 delta1(参考组 1 为 1)、delta2、delta3、delta4 和 delta5 的估计值。

最后,使用:

intervals(model, which="var-cov")

获得 delta2、delta3、delta4、delta5 和参考组(即组 1)的标准差 sigma 的 95% 置信区间。后者将列在标题残差标准误差下。

有关示例,请参阅《使用 R 的线性混合效应模型:逐步方法》一书的第 159-162 页。这本书的作者是 Galecki 和 Burzykowski。本书第 7.6.2 节给出了 delta 对数的置信区间公式,其中 s 可以是 2、3、4 或 5。

也许这里的其他人会给你其他关于如何进行的想法,但我想我会分享我的想法,以防它可能引发进一步的对话。