许多 p 值的均匀分布是否提供了 H0 为真的统计证据?

机器算法验证 假设检验 p 值 组合 p 值
2022-02-13 03:27:12

单个统计检验可以证明原假设 (H0) 为假,因此备择假设 (H1) 为真。但它不能用来证明 H0 是真的,因为没有拒绝 H0 并不意味着 H0 是真的。

但是让我们假设您有可能进行多次统计测试,因为您有许多数据集,它们彼此独立。所有数据集都是同一过程的结果,您希望对过程本身进行一些陈述(H0/H1),并且对每个测试的结果不感兴趣。然后,您收集所有生成的 p 值,并碰巧通过直方图看到 p 值明显均匀分布。

我现在的推理是,只有当 H0 为真时才会发生这种情况——否则 p 值的分布会不同。因此,这是否足以证明 H0 为真?还是我在这里遗漏了一些重要的东西,因为我花了很多意志力来写“得出结论 H0 是真的”,这在我的脑海中听起来非常错误。

4个回答

我喜欢你的问题,但不幸的是我的回答是否定的,这并不能证明H0. 原因很简单。你怎么知道 p 值的分布是均匀的?您可能必须运行一致性测试,这将返回您自己的 p 值,并且您最终会遇到与您试图避免的相同类型的推理问题,仅一步之遥。而不是查看原始的 p 值H0, 现在你看看另一个的 p 值H0关于原始 p 值分布的均匀性。

更新

这是演示。我从高斯和泊松分布中生成 100 个观测值的 100 个样本,然后为每个样本的正态性检验获得 100 个 p 值。因此,问题的前提是,如果 p 值来自均匀分布,则证明原假设是正确的,这比统计推断中通常的“无法拒绝”要强。问题在于“p 值来自统一”本身就是一个假设,您必须以某种方式对其进行测试。

在下面的图片(第一行)中,我显示了来自高斯和泊松样本的正态性检验的 p 值直方图,您可以看到很难说一个是否比另一个更均匀。这是我的主要观点。

第二行显示来自每个分布的样本之一。样本相对较小,因此您确实不能拥有太多垃圾箱。实际上,这个特殊的高斯样本在直方图上看起来一点也不像高斯。

在第三行中,我在直方图上显示每个分布的 10,000 个观测值的组合样本。在这里,您可以拥有更多的 bin,并且形状更加明显。

最后,我运行相同的正态性检验并获得组合样本的 p 值,它拒绝泊松的正态性,而拒绝高斯的正态性。p 值为:[0.45348631] [0.]

在此处输入图像描述

当然,这不是证明,而是证明您最好在组合样本上运行相同的测试,而不是尝试分析子样本中 p 值的分布。

这是Python代码:

import numpy as np
from scipy import stats
from matplotlib import pyplot as plt

def pvs(x):
    pn = x.shape[1]
    pvals = np.zeros(pn)
    for i in range(pn):
        pvals[i] = stats.jarque_bera(x[:,i])[1]
    return pvals

n = 100
pn = 100
mu, sigma = 1, 2
np.random.seed(0)
x = np.random.normal(mu, sigma, size=(n,pn))
x2 = np.random.poisson(15, size=(n,pn))
print(x[1,1])

pvals = pvs(x)
pvals2 = pvs(x2)

x_f = x.reshape((n*pn,1))
pvals_f = pvs(x_f)

x2_f = x2.reshape((n*pn,1))
pvals2_f = pvs(x2_f)
print(pvals_f,pvals2_f)

print(x_f.shape,x_f[:,0])


#print(pvals)
plt.figure(figsize=(9,9))
plt.subplot(3,2,1)
plt.hist(pvals)
plt.gca().set_title('True Normal')
plt.gca().set_ylabel('p-value')

plt.subplot(3,2,2)
plt.hist(pvals2)
plt.gca().set_title('Poisson')
plt.gca().set_ylabel('p-value')

plt.subplot(3,2,3)
plt.hist(x[:,0])
plt.gca().set_title('a small sample')
plt.gca().set_ylabel('x')

plt.subplot(3,2,4)
plt.hist(x2[:,0])
plt.gca().set_title('a small Sample')
plt.gca().set_ylabel('x')

plt.subplot(3,2,5)
plt.hist(x_f[:,0],100)
plt.gca().set_title('Full Sample')
plt.gca().set_ylabel('x')

plt.subplot(3,2,6)
plt.hist(x2_f[:,0],100)
plt.gca().set_title('Full Sample')
plt.gca().set_ylabel('x')

plt.show()

您的一系列实验可以被视为具有更多数据的单个实验,并且正如我们所知,更多数据是有利的(例如,通常标准误差会随着n增加独立数据)。但你会问,“这……是否有足够的证据来断定 H0 是真的?”

不,一个基本问题是另一种理论可能会在数据中产生类似的模式!正如@Björn 在他的回答中所讨论的那样,您将无法拒绝错误的H0如果你的实验缺乏区分能力H0从其他可能性。几个世纪以来,我们未能拒绝牛顿的万有引力理论,因为没有人进行过牛顿理论给出的预测与爱因斯坦的广义相对论完全不同的测试类型。不太极端的例子很常见。

大卫休谟和归纳问题

也许换个说法是,“如果我获得越来越多的数据符合H0是真的,我能不能得出这样的结论H0 真的吗?”

这个问题与 18 世纪哲学家大卫休谟的归纳问题密切相关如果所有观察到的 A 实例都是 B,我们可以说 A 的下一个实例将是 B 吗?休谟有句名言说不,即使从大量数据中我们也无法从逻辑上推断出“所有 A 都是 B”。在更现代的数学中,一组有限的观察不能在逻辑上包含aA[aB]如果 A 不是有限集。Magee 和 Passermore 讨论的两个值得注意的例子

  • 几个世纪以来,欧洲人观察到的每一只天鹅都是白色的。然后欧洲人发现了澳大利亚并看到了黑天鹅。

  • 几个世纪以来,牛顿的万有引力定律与观察一致,并被认为是正确的。但它被爱因斯坦的广义相对论推翻了。

如果休谟的结论是正确的,证明H0真实是无法实现的。尽管我们不能肯定地发表声明,但这并不等于说我们一无所知。实验科学和统计学在帮助我们理解和驾驭世界方面取得了成功。

前进方向的(不完整)清单:

卡尔波普尔和证伪主义

卡尔·波普尔看来,没有科学规律被证明是正确的。我们只有尚未被证明是错误的科学定律。

波普尔认为,科学是通过猜测假设并对其进行严格审查而向前发展的。它通过演绎(观察证明理论错误)而不是归纳(重复观察证明理论正确)向前推进。许多常客统计数据的构建与这一理念一致。

波普尔的观点具有巨大的影响力,但正如库恩和其他人所论证的那样,它并不完全符合成功科学的经验观察实践。

贝叶斯,主观概率

假设我们对一个参数感兴趣θ.

对于常客统计学家来说,参数θ是一个标量值,一个数字。如果您改为采用主观贝叶斯观点(例如Leonard Jimmie Savage 的统计基础),您可以对自己的不确定性建模θ使用概率工具。对于主观贝叶斯,θ是一个随机变量,你有一些先验P(θ). 然后你可以谈谈主观概率P(θX)的不同值θ给定数据X. 你在各种情况下的行为方式与这些主观概率有一定的对应关系。

这是对你自己的主观信念建模的一种合乎逻辑的方法,但它不是一种产生与现实相符的概率的神奇方法。对于任何贝叶斯解释来说,一个棘手的问题是先验从何而来?另外,如果模型指定错误怎么办?

乔治·P·盒子

George EP Box的一句著名格言是“所有模型都是错误的,但有些模型是有用的”。

牛顿定律可能不正确,但它对许多问题仍然有用。Box 的观点在现代大数据环境中非常重要,在现代大数据环境中,研究如此强大,以至于您基本上可以拒绝任何有意义的命题。严格判断正确与否是一个不好的问题:重要的是模型是否可以帮助您理解数据。

补充评论

估计参数之间的统计数据存在天壤之别θ0小标准误差与大标准误差!不要以为因为确定性是不可能的,所以通过严格的审查是无关紧要的。

也许同样有趣的是,对多项研究的结果进行统计分析称为荟萃分析

你能在多大程度上超越狭隘的统计解释是一个难题。

从某种意义上说,您是对的(参见 p 曲线),但有一些小警告:

  1. 你需要测试在替代方案下有一些力量。潜在问题的说明:在 0 到 1 上生成一个均匀分布的 p 值,并在pα是一个(诚然非常没用的)级别α检验任何零假设,但您将得到 p 值的均匀分布H0是真是假。
  2. 你只能真正表明你很接近H0为真(即在真实参数值下,三个分布可能接近均匀,即使H0是假的。

对于实际应用程序,您往往会遇到其他问题。这些大多出现,因为没有一个人/实验室/研究小组通常可以完成所有必要的研究。结果,人们倾向于查看来自许多组的研究,此时您会增加对漏报、选择性报告重要/令人惊讶的发现的担忧(即,如果您自己完成了所有相关实验,至少您会知道), p-hacking,多次测试/多次测试更正等等。

零假设(H0):重力导致宇宙中的一切都落向地球表面。

替代假设(H1):没有任何东西掉落。

对几十个家居对象进行了 100 万次实验,未能拒绝 H0p<0.01每次。H0 是真的吗?