我有两个分布,大小分别为 ~120 和 ~86.000 个元素。我想检查两个分布的平均值是否 显着 不同。
我发现,我可以使用韦尔奇的 t 检验,但该检验仍然要求分布是正态。
我用
scipy.stats.normaltest()
来检查它们是否是正态分布,但测试失败了。但是,我读到,对于大样本量,检验几乎总是会失败,并且分布不必完全正态。
如何检查我的分布是否足以进行韦尔奇 t 检验或是否存在除了 t 检验之外,还有其他方法可以用来确定两个分布的平均值是否显着不同?
以下是有问题的分布:
你说的对,对于大样本,正态性检验可能不可靠,而且你的样本量很大(86,000)。考虑到你的分布形状和样本量,你有多种方法可以检查两个平均值之间是否存在显著差异,而无需依赖假设正态性的检验:
1. 韦尔奇 t 检验:
- 即使数据不是正态分布,中心极限定理也表明,对于像你这样的大样本,样本均值的分布将接近正态分布。
- 韦尔奇 t 检验对偏离正态性的耐受性相当强,特别是当样本量不相等时。
- 鉴于你的情况,使用韦尔奇 t 检验很可能仍然有效。
2. 自举检验:
- 自举检验是一种不依赖于特定分布假设的非参数方法。
- 你可以从每个组中反复抽取样本(替换),计算平均值的差异,并生成这些差异的经验分布。
- 然后,你可以使用此经验分布来评估观察到的平均值差异的可能性,并评估统计显著性。
3. 曼-惠特尼 U 检验:
- 这是另一种对非正态数据具有鲁棒性的非参数检验。
- 它检验了两个样本的分布是否相同的零假设,或者更准确地说,一个样本的观测值大于另一个样本的观测值的概率是否为 0.5。
- 当分布的形状不同时(如你的情况),这可能比 t 检验更合适。但是,它可能不如 t 检验强大。
哪种检验适合你?
- 韦尔奇 t 检验 在你的情况下可能仍然是一个合理的选择,因为它对偏离正态性是稳健的,特别是对于大样本。
- 如果担心违反正态性假设, 自举检验 是一个很好的非参数选择,它可以提供有关平均值差异的可靠估计。
- 如果特别关注两个分布的形状差异,则 曼-惠特尼 U 检验 可能是一个合适的选择。
建议:
- 执行所有三种检验。 比较结果并查看它们是否一致。
- 考虑效应量。 统计显著性并不表示实际显著性。查看平均值的差异,看看它在你的研究背景下是否有意义。
- 在你的报告中,说明你选择的检验以及你做出该决定的理由。 还要报告效应量和 p 值。
通过执行这些步骤,你可以确信你对这两个分布的均值差异做出了充分的推断。
标签:python,normal-distribution,t-test,statistical-test From: 78800185