加权方差,再一次

机器算法验证 方差 加权平均数 加权数据
2022-02-03 23:53:53

无偏加权方差已经在这里其他地方得到解决,但似乎仍然存在令人惊讶的混乱。似乎对第一个链接和维基百科文章中提出的公式达成了共识。这也看起来像 R、Mathematica 和 GSL(但不是 MATLAB)使用的公式。但是,Wikipedia 文章还包含以下行,这看起来像是对加权方差实现的一个很好的健全性检查:

例如,如果值 {2,2,4,5,5,5} 来自同一分布,那么我们可以将此集合视为未加权样本,也可以将其视为加权样本 {2,4, 5} 与相应的权重 {2,1,3},我们应该得到相同的结果。

我的计算得出原始值方差的值为 2.1667,加权方差的值为 2.9545。我真的应该期望它们是一样的吗?为什么或者为什么不?

1个回答

是的,您应该期望这两个示例(未加权与加权)都能为您提供相同的结果。

我已经实现了维基百科文章中的两种算法。

这个有效:

如果所有的xi从相同的分布和整数权重中得出wi表示样本中出现的频率,则加权总体方差的无偏估计量由下式给出:

s2 =1V11i=1Nwi(xiμ)2,

然而,这个(使用分数权重)对我不起作用:

如果每个xi从具有方差的高斯分布中得出1/wi,加权总体方差的无偏估计量由下式给出:

s2 =V1V12V2i=1Nwi(xiμ)2

我仍在调查第二个等式不能按预期工作的原因。

/编辑:找到了第二个方程没有像我想的那样起作用的原因:只有当你有归一化的权重或方差(“概率/可靠性”)权重时,你才能使用第二个方程,它不是无偏的,因为如果你不'不要使用“出现/重复”权重(计算观察被观察的次数,因此应该在你的数学运算中重复),你将失去计算观察总数的能力,因此你不能使用修正系数。

因此,这使用加权和非加权方差解释了结果的差异:您的计算是有偏差的。

因此,如果您想获得无偏的加权方差,请仅使用“出现/重复”权重并使用我在上面发布的第一个等式。如果那是不可能的,那么,你也无能为力。

有关更多理论细节,here is another post about unbiased weighted covariance with a reference about why we can not unbias with probability/reliability type weights and a python implementation。

/EDIT 几年后:对于为什么我们不能对概率/可靠性权重进行无偏性仍然存在一些困惑。

首先,澄清一下,概率/可靠性权重和重复/出现权重之间的区别在于概率/可靠性权重是标准化的,而重复/出现权重不是,所以你可以通过对后者求和而不是得到总出现次数前者。这是消除偏见所必需的,因为否则您将无法知道我所说的统计量级,其他人所说的极化

事实上,这就像统计中的其他任何事情一样:如果我说我的亚群中有 10% 患有 X 病,这对更广泛的人群意味着什么?好吧,这取决于我的亚群是什么:如果只有 100 人,那么我 10% 的数字并没有多大意义。但如果是100万人,那么它可能忠实地代表了整个人口。在这里也是一样的,如果我们不知道总 N,我们就无法知道我们的指标对整个人口的代表性,因此我们不能无偏。无偏见正是推广到更广泛人群的过程。