确定对于大量观察 (1,000,000),三个是否在统计上不同于十

机器算法验证 假设检验 大数据
2022-04-02 03:16:22

对于 1,000,000 次观察,我观察到一个离散事件 X,对照组 3 次,测试组 10 次。如果三个在统计上与十个不同,我如何确定大量观察(1,000,000)?

4个回答

巨大的分母摆脱了一个人的直觉。由于样本量相同且比例较低,因此可以重述问题:发生了 13 个事件,并且预期(根据零假设)在两组中同样发生。事实上,一组中有 3 人,另一组中有 10 人。那有多罕见?二项式测试答案。

在 R 中输入这一行: binom.test(3,13,0.5,alternative="two.lateral")

双尾 P 值为 0.09229,与 Fisher 检验结果的四位数相同。

这么看,结果也就不足为奇了。这个问题相当于这个问题:如果你掷硬币 13 次,看到三个或更少,或十个或更多的正面是多么令人惊讶。其中一种结果将在 9.23% 的时间内发生。

(双边)Fisher 精确检验给出 p-value = 0.092284

function p = fexact(k, x, m, n)
%FEXACT Fisher's Exact test.
%   Y = FEXACT(K, X, M, N) calculates the P-value for Fisher's
%   Exact Test.
%   K, X, M and N must be nonnegative integer vectors of the same
%   length.  The following must also hold:
%   X <= N <= M, X <= K <= M and K + N - M <= X.  Here:
%   K is the number of items in the group,
%   X is the number of items in the group with the feature,
%   M is the total number of items,
%   N is the total number of items with the feature,

if nargin < 4
   help(mfilename);
   return;
end
nr = length(k);
if nr ~= length(x) | nr ~= length(m) | nr ~= length(n)
   help(mfilename);
   return;
end

na = nan;
v = na(ones(nr, 1));
mi = max(0, k + n - m);
ma = min(k, n);

d = hygepdf(x, m, k, n) * (1 + 5.8e-11);
for i = 1:nr
  y = hygepdf(mi(i):ma(i), m(i), k(i), n(i));
  v(i) = sum(y(y <= d(i)));
end
p = max(min(v, 1), 0);
p(isnan(v)) = nan;

对于您的示例,请尝试fexact(1e6, 3, 2e6, 13).

我认为一个简单的卡方检验就可以了。您是否有 1,000,000 个用于控制和测试的观察值?如果是这样,您的观察表将是(在 R 代码中)

编辑:哎呀!留下一个零!

m <- rbind(c(3, 1000000-3), c(10, 1000000-10))
#      [,1]   [,2] 
# [1,]    3 999997
# [2,]   10 999990

卡方检验将是

chisq.test(m)

返回卡方 = 2.7692,df = 1,p 值 = 0.0961,这在 p < 0.05 的水平上没有统计学意义。如果这些无论如何都可能具有临床意义,我会感到惊讶。

在这种情况下,泊松是个案数量分布的良好近似值。有一个简单的公式来近似 log RR(delta 方法)的方差。

log RR = 10/3 = 1.2,se log RR = sqrt(1/3+1/10) = 0.66,所以 95%CI = (-0.09; 2.5)

采用双边检验在 0.05 水平上差异不显着。Poisson 模型的基于 LR 的卡方检验给出 p=0.046 和 Wald 检验 p=0.067。该结果类似于没有连续性校正的 Pearson 卡方检验(Chi2 校正 p=0.096)。另一种可能性是 chisq.test,带有选项 simulation.p.value=T,在这种情况下 p=0.092(对于 100 000 次模拟)。

在这种情况下,检验统计量相当离散,因此 Fisher 检验可以是保守的。有一些证据表明差异可能很大。在得出最终结论之前,应考虑数据收集过程。