如何计算加权标准偏差?在Excel中?


29

所以,我有一个像这样的百分比数据集:

100   /   10000   = 1% (0.01)
2     /     5     = 40% (0.4)
4     /     3     = 133% (1.3) 
1000  /   2000    = 50% (0.5)

我想找到百分比的标准偏差,但要为其数据量加权。即,第一个和最后一个数据点应主导计算。

我怎么做?有没有一种简单的方法可以在Excel中完成呢?


(M-1)/ M的公式正确。如果有疑问,请将所有权重设置为1进行检查,您将获得分母为(N-1)的标准偏差的无偏估计的经典公式。小题大作:不寻常并不意味着不正确。

1
(M-1)/ M的公式不正确。想象一下,您以一万亿分之一的权重添加了一百万个点。无论权重是多少,都根本不会改变答案,但是项变为1?绝对不!如果您关心M 1 / M 1,那么您也关心这是错误的。(M1)/M(M1)/M1
Rex Kerr


我不知道为什么要在这里使用标准偏差?你只有数字!多少个数字?尤其是当百分比更容易解释和理解时。4
概率

@probabilityislogic,这是简化问题的简化示例。
Yahel

Answers:


35

加权标准差公式为

i=1Nwi(xix¯)2(M1)Mi=1Nwi,

哪里

是观察数。N

是非零权重的数量。M

是权重wi

是观察值。xi

是加权平均值。x¯

请记住,加权均值的公式为:

x¯=i=1Nwixii=1Nwi.

Number of cases in segmentTotal number of cases

(xix¯)2


2
(M1)/M

4
@Aaron权重并不总是定义为总和,如本问题中给出的权重所示!
Whuber

2
(M1)/M

1
1(M1)/M

1
@米哈伊尔你是对的,“不寻常的”和“正确的”与彼此无关。但是,不寻常的结果确实隐含了更多理由,因为不寻常是表明可能已犯错误的一个指标。您的论点是无效的:尽管当所有权重相等时,对于一个无偏估计量,该公式的确减少为1,但这并不意味着当使用不相等权重时,该估计量仍然是无偏量的。我并不是说您的结论是错误的,只是到目前为止,还没有提供有效的理由。
ub

18

这些公式可在各个地方使用,包括Wikipedia

关键是要注意它取决于权重的含义。特别是,如果权重是频率(即,您只是想避免加总),或者权重实际上是每次测量的方差,或者它们只是一些外部值,您将得到不同的答案。强加给您的数据。

就您而言,从表面上看,权重是频率,但不是。您可以根据频率生成数据,但要在数据集中拥有45条3条记录和15条4条记录并不是一件简单的事情。相反,您需要使用最后一种方法。(实际上,所有这些都是垃圾-您确实需要使用更复杂的生成这些数字的过程模型!您显然没有散布正态分布数字的东西,因此使用标准偏差来表征系统是不正确的事情。)

在任何情况下,具有“可靠性”权重的方差公式(以常规方式从中计算标准偏差)为

wi(xix)2wiwi2wi

x=wixi/wi

您没有权重的估计,我假设您要与可靠性成正比。以百分比的方式进行计算,即使它们是由Bernoulli过程生成的,也会使分析变得棘手,因为如果您获得20和0的分数,那么您将拥有无限的百分比。通过SEM的倒数加权是一件常见的事情,有时甚至是最佳选择。您也许应该使用贝叶斯估计或Wilson得分间隔


2
+1。一直以来,我一直在寻找权重的不同含义。这是对该站点有关加权统计信息的所有问题的重要贡献。(不过,我有点担心正态分布和标准偏差的括号内的注释,因为它们错误地表明SD不能用于基于正态性的模型之外。)
whuber

@whuber-当然,救援的中心极限定理是!但是对于OP所做的事情,试图用均值和标准差来表征这组数字似乎是绝对不可取的。通常,对于许多用途,标准偏差最终会导致一种误解。例如,如果分布不是正态分布(或其良好近似值),那么依靠标准偏差将使您对尾巴形状的认识不佳,而正是这些尾巴在统计中可能是您​​最关注的测试。
Rex Kerr

@RexKerr如果人们对标准偏差进行了不当的解释,我们几乎不能怪它。但是,让我们远离正态性,考虑范围更广的具有有限方差的连续,对称单峰分布(例如)。然后,分布的89%至100%位于两个标准偏差之内。这通常非常有用(而且95%位于中间,因此折扣不会超过7%);ctd
Glen_b -Reinstate Monica

CTD ... -或者,如果我们不作任何这些假设的,总是有普通的切比雪夫范围里面做说说尾部和标准偏差至少..
Glen_b -Reinstate莫妮卡

1
@Gabriel-是的,对不起,我很马虎。(我认为人们可以一眼看出来是哪个。)我已经更正了我的描述。
Rex Kerr 2015年

5
=SQRT(SUM(G7:G16*(H7:H16-(SUMPRODUCT(G7:G16,H7:H16)/SUM(G7:G16)))^2)/
     ((COUNTIFS(G7:G16,"<>0")-1)/COUNTIFS(G7:G16,"<>0")*SUM(G7:G16)))

G是权重,列H是值


对我来说,使用Ctrl + Shift + Enter是一个陷阱,但这似乎可以正常工作。
philipkd

1

pi=viivi,
vi

μ^=ipixi,
σ^2=ipi(xiμ^)2

0
Option Explicit

Function wsdv(vals As Range, wates As Range)
Dim i, xV, xW, y As Integer
Dim wi, xi, WgtAvg, N
Dim sumProd, SUMwi

    sumProd = 0
    SUMwi = 0
    N = vals.Count  ' number of values to determine W Standard Deviation
    xV = vals.Column  ' Column number of first value element
    xW = wates.Column  ' Column number of first weight element
    y = vals.Row - 1  ' Row number of the values and weights

    WgtAvg = WorksheetFunction.SumProduct(vals, wates) / WorksheetFunction.Sum(wates)

    For i = 1 To N  ' step through the elements, calculating the sum of values and the sumproduct
        wi = ActiveSheet.Cells(i + y, xW).Value  ' (i+y, xW) is the cell containing the weight element
        SUMwi = SUMwi + wi
        xi = ActiveSheet.Cells(i + y, xV).Value  ' (i+y, xV) is the cell containing the value element
        sumProd = sumProd + wi * (xi - WgtAvg) ^ 2
    Next i

    wsdv = (sumProd / SUMwi * N / (N - 1)) ^ (1 / 2)  ' output of weighted standard deviation

End Function

2
欢迎来到该站点,@ uswer71015。这似乎只是代码。您可以添加一些文字/说明代码如何工作以及如何回答问题吗?
gung-恢复莫妮卡
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.