Excel 的置信区间函数抛出 #NUM!当标准差为 0

机器算法验证 置信区间 标准差 擅长
2022-03-23 13:04:37

我有一些来自八个人的样本,他们都对一个问题给出了相同的答案。现在,显然样本的平均值是所有人给出的答案,标准开发为 0。#NUM!当我调用函数时 Excel 会抛出错误

CONFIDENCE.T(0.05, K33, COUNTA(B33:I33))

K33标准开发(0)在哪里。

对此的正确解释是什么?我什至可以计算置信区间吗?

为了澄清:人们被要求以(1、2、3、4、5)的等级给出他们的意见,这是序数。尽管如此,人们总是计算所有判断的算术平均值(根据ITU-T P.800,另见:维基百科),这就是为什么我也想得到一个置信区间。

4个回答

这种行为是有问题的,但已记录在案。“信心”的帮助指出:

如果standard_dev ≤ 0,则CONFIDENCE 返回#NUM!错误值。...如果我们假设 alpha 等于 0.05,我们需要计算等于 (1 - alpha) 或 95% 的标准正态曲线下的面积。该值为±1.96。因此,置信区间为:

x¯±1.96(σn).

(是的,这措辞很糟糕,但这是直接引用。)

为了克服这些(有些人为的)限制,请自己计算置信限制(根据此公式)为

=AVERAGE(X) + NORMSINV(1-0.05/2) * STDEV(X)/SQRT(COUNT(X))
=AVERAGE(X) - NORMSINV(1-0.05/2) * STDEV(X)/SQRT(COUNT(X))

其中 'X' 命名一个包含您的数据的范围(例如 B33:I33),而 '0.05' 是(所需置信度的补码),就像以前一样。在您的情况下,因为 STDEV(X) 为 0,所以两个限制都将等于平均值​​。这是合法的,尽管它有其自身的问题(因为它几乎肯定无法涵盖真正的平均值)。α

假设您的所有 8 个科目都选择在 (1, 2, 3, 4, 5) 量表上回答 3。让我们假设他们的意见在他们的脑海中是连续的,并且他们将其四舍五入到最接近的量表值。

这意味着每个主题的原始意见都在范围内[2.5,3.5).

> mean(replicate(1e5, diff(range(rnorm(8)))))
[1] 2.841661
> mean(replicate(1e5, diff(range(rnorm(8)))))
[1] 2.847447
> 1 / 2.845
[1] 0.3514938

上面的模拟表明,如果从 sd 0.35 的正态分布中抽取 8 个样本,它们将覆盖大约宽度为 1 的区间。

因此,在您的人群中,sd 可能为 0.35 或更小。在这种情况下,四舍五入到 1、2、3、4、5 之一不足以测量 sd。

如果分布中的八个样本完全相同,则可能不是正态分布,或者您使用比标准差更高数量级的舍入。或者你是在数字编码的序数尺度上计算平均值吗?

假设您有许多平均评分为 3 的实例。每个实例都有一个方差——如果评分者都回答“3”,那么该方差将为零。在这种情况下,为什么不使用平均评分为 3 的方差的平均值(包括您的 0 值)?这将为您提供一个实数和一个合理的置信区间。我会使用中值而不是平均值来“平均”方差,因为它不太容易受到极端的影响(尽管在固定的 5 分制上不太可能出现极端)。

当然,您可能会决定将某个范围内的任何平均评分(例如 2.5 到 3.499)计为“3”,以便为您提供更多的平均值。

此过程简单直观。我也喜欢 whuber 的方法,但是有人会问你“为什么是 95%?为什么不是其他的 %”。如果你取一个简单的平均值,你就不太可能得到这个问题。