测试两个数据集是否显着不同

机器算法验证 假设检验 方差分析
2022-04-02 03:07:15

有1400只红螺,800只蓝螺,500只绿螺。共有三个公园:Park A、Park B 和 Park C

我发现 - 800 只红蜗牛住在公园 A , 200 只红蜗牛住在公园 B 和 400 只红蜗牛住在公园 C。 - 100 只蓝蜗牛住在公园 A , 600 只蓝蜗牛住在公园 B 和 100 只蓝蜗牛住在公园 C . - 400 只绿蜗牛住在 A 公园,50 只绿蜗牛住在公园 B,50 只绿蜗牛住在公园 C。

我如何证明去不同公园的彩色蜗牛的比例在统计上是显着不同的。我可以计算出每个公园里蜗牛的比例,但我希望能够有统计信心地说它们的比例是不同的。我将如何使用上面的这个例子来做到这一点?

1个回答

这可以像同质性的卡方检验一样接近。您想查看来自不同种群或群体(颜色)的蜗牛数量是否与跨公园的理论均匀分布存在差异。表格数据的边距被认为是随机变量,并用于交叉相乘并获得每个单元格中的预期计数。

这是您的表格数据,其中包含实际和预期计数:

> addmargins(round(snails, 0))
       park
snails     A   B   C  Sum
  red    800 200 400 1400
  blue   100 600 100  800
  green  400  50  50  500
  Sum   1300 850 550 2700
> addmargins(round(chisq.test(snails)$expected,0))
       park
snails     A   B   C  Sum
  red    674 441 285 1400
  blue   385 252 163  800
  green  241 157 102  500
  Sum   1300 850 550 2700

卡方检验可以在 R 中运行,如下所示:

chisq.test(snails)

    Pearson's Chi-squared test

data:  snails
X-squared = 1123, df = 4, p-value < 2.2e-16

因此,有证据表明公园内不同蜗牛类型的分布并不均匀。

这是结果和标准化残差的一些绘图:

在此处输入图像描述

也许您的问题中最有趣的部分是讨论如何处理大于大于的综合测试的结果2×2列联表。在这一点上,陪审团仍然没有(令人惊讶地)——在这你可以查看这个非常有用的参考但是残差或标准化残差是一个开始,您可以找到它们以图形方式绘制和颜色编码。看残差马赛克图可以得出很多结论,毕竟,似乎至少有一些作者仍然在纵容一些后智“眼球震荡”。

在我链接的文章中,有对数据进行更详细的事后分析的程序。完全不同的方法可能是广义线性回归模型。

这是解释和代码:

snails <- matrix(c(800, 200, 400, 
                   100, 600, 100,
                   400, 50, 50), nrow = 3, byrow = T)
dimnames(snails) = list(snails = c("red", "blue", "green"),
                       park = c("A", "B", "C"))
snails

addmargins(round(snails, 0))
addmargins(round(chisq.test(snails)$expected,0))
chisq.test(snails)
library(vcd)
mosaic(snails, shade=TRUE, legend=TRUE)