不确定 p 值的标准误差在 Fisher 精确检验中是否有意义

机器算法验证 假设检验 二项分布 p 值 标准错误 蒙特卡洛
2022-04-15 12:38:11

我正在对一些失业和工资数据实施 Fisher 精确检验。这个想法是通过汇总统计来描述两个人群(一个接受援助计划(“治疗”)和一个没有接受它)。

我使用的第一个统计数据是两个人群治疗后平均工资水平的差异。

为了计算这种设置的 p 值,我们的想法是对分配向量进行大量随机排列(0 和 1 的列表,指示给定的观察值是否属于控制群体) . 我计算每个随机分配的汇总统计量,以获得对照组不同的反事实实验中汇总统计量的分布。N

由于我还具有观察到的分配向量的汇总统计量(真正观察到的实验的 0 和 1 的实际向量),因此我可以计算比观察到的汇总统计量更极端的模拟汇总统计量的数量。

我所有模拟试验中的这个比例用作我的汇总统计的估计 p 值。

我的问题如下:有没有一种标准方法可以得到这样一个估计的 p 值的标准误差?显然,我可以在我的模拟中计算汇总统计数据的蒙特卡洛标准误差,但由于所有模拟都只用于一个单一的 p 值计算,因此不清楚如何获得标准误差。

对于这种情况下的标准错误,我有以下想法。

在通常的 Monte Carlo 中,我们有一些函数,我们在每次模拟绘制时计算它(这里,被理解为分配向量)。如果我定义:fxixi

f(xi)=1|stat(xi)|>|stat(xobs)|

那么似乎我计算的 p 值由下式给出

p^=1Ni=1Nf(xi)=# more extremetotal samples

然后按照通常的蒙特卡洛公式,将估计的方差写成:

Var(p^)=1Ni=1N[f(xi)p^]2

然后取平方根得到标准误?

这让我感到困惑的原因是,对于每个将是二进制的,计算的统计数据在该迭代中更极端,或者不是。总结一堆二进制的东西来估计p值的方差似乎很容易出错,但这可能只是我对这种方法的不熟悉。if(xi)

任何人都可以确认这是正确的吗?此外,如果我对我在这里所做的事情有任何其他无知,我们将不胜感激。

2个回答

您已经正确计算了的方差,而不是的方差。要估计的方差,只需更进一步:fp^p^

var(p^)=var(1Ni=1Nf(xi))=1Nvar(f).

此外,您的公式大大简化了:推导估计量是一个简单的代数步骤

var(f)^=p^(1p^).

因此,要找到 \hat{p} 的标准误差除以并取平方根。p^p^(1p^)N

毕竟,的分布是二项式的,这些是从二项式分布中采样的常见公式。p^

一般来说,如果您正在对 p 值进行蒙特卡罗,唯一有意义的标准错误是估计它时的蒙特卡罗错误,然后仅表明您已经完成了足够的排列。在原假设下,p 值只是 Uniform(0,1)。除非 p 值真的很极端,否则大多数人会很高兴您只报告它并说出您做了多少排列 - 我绝对不会在任何结果表中报告标准错误。