如何“求和”标准差?

机器算法验证 标准差 描述性统计
2022-02-03 22:34:28

我有一个值的月平均值和与该平均值相对应的标准偏差。我现在将年平均值计算为月平均值的总和,如何表示总和平均值的标准偏差?

例如考虑风电场的输出:

Month        MWh     StdDev
January      927     333 
February     1234    250
March        1032    301
April        876     204
May          865     165
June         750     263
July         780     280
August       690     98
September    730     76
October      821     240
November     803     178
December     850     250

我们可以说风电场平均每年发电 10,358 MWh,但这个数字对应的标准偏差是多少?

4个回答

简短的回答:你平均方差然后你可以取平方根来得到平均标准偏差


例子

Month          MWh  StdDev  Variance
==========   =====  ======  ========
January        927    333     110889
February      1234    250      62500
March         1032    301      90601
April          876    204      41616
May            865    165      27225
June           750    263      69169
July           780    280      78400
August         690     98       9604
September      730     76       5776
October        821    240      57600
November       803    178      31684
December       850    250      62500
===========  =====  =======  =======
Total        10358            647564
÷12            863    232      53964

然后平均标准差sqrt(53,964) = 232


正态分布随机变量的总和

如果 $X$ 和 $Y$ 是正态分布的独立随机变量(因此也共同分布),那么它们的总和也是正态分布的

...两个独立的正态分布随机变量之和是正态的,其均值是两个均值之和,其方差是两个方差之和

并且来自 Wolfram Alpha 的正态和分布

令人惊讶的是,两个正态分布独立变量 $X$ 和 $Y$ 之和的分布分别具有均值和方差 $(\mu_X,\sigma_X^2)$ 和 $(\mu_Y,\sigma_Y^2)$,另一个正态分布

$$ P_{X+Y}(u) = \frac{1}{\sqrt{2\pi (\sigma_X^2 + \sigma_Y^2)}} e^{-[u-(\mu_X+\mu_Y) ]^2/[2(\sigma_X^2 + \sigma_Y^2)]} $$

这意味着

$$\mu_{X+Y} = \mu_X+\mu_Y$$

和方差

$$ \sigma_{X+Y}^2 = \sigma_X^2 + \sigma_Y^2$$

对于您的数据:

  • 和:10,358 MWh
  • 方差:647,564
  • 标准偏差:804.71 ( sqrt(647564) )

在此处输入图像描述

所以回答你的问题:

  • 如何“求和”标准差
  • 你对它们进行二次求和:

    s = sqrt(s1^2 + s2^2 + ... + s12^2)
    

从概念上讲,您将方差相加,然后取平方根以获得标准偏差。


因为我很好奇,我想知道平均每月平均功率及其标准偏差通过归纳,我们需要 12 个正态分布:

  • 总和的平均值10,358
  • 总和的方差647,564

这将是 12 次平均每月分布:

  • 的平均值10,358/12 = 863.16
  • 方差647,564/12 = 53,963.6
  • 标准差sqrt(53963.6) = 232.3

在此处输入图像描述

我们可以通过将它们相加 12 次来检查我们的月平均分布,看看它们是否等于年度分布:

  • 意思863.16*12 = 10358 = 10,358:(正确
  • 方差53963.6*12 = 647564 = 647,564:(正确

注意:我会把它留给了解深奥乳胶数学知识的人来转换我的公式图像,并formula code转换为 stackexchange 格式的公式。

编辑:我把简短的,重点放在上面回答。因为我今天需要再次执行此操作,但想仔细检查我是否平均方差

这是一个老问题,但接受的答案实际上并不正确或不完整。用户想要计算 12 个月数据的标准偏差,其中已经计算了每个月的平均值和标准偏差。假设每个月的样本数量相同,那么就可以从每个月的数据中计算出一年中的样本均值和方差。为简单起见,假设我们有两组数据:

$X=\{x_1,....x_N\}$

$Y=\{y_1,....,y_N\}$

样本均值和样本方差的已知值$\mu_x$ , $\mu_y$ , $\sigma^2_x$ , $\sigma^2_y$

现在我们要计算相同的估计

$Z=\{x_1,....,x_N, y_1,...,y_N\}$

考虑$\mu_x$$\sigma^2_x$计算为:

$\mu_x = \frac{\sum^N_{i=1} x_i}{N}$

$\sigma^2_x = \frac{\sum^N_{i=1} x^2_i}{N}-\mu^2_x$

为了估计整个集合的均值和方差,我们需要计算:

$\mu_z = \frac{\sum^N_{i=1} x_i +\sum^N_{i=1} y_i }{2N}= (\mu_x+\mu_y)/2$ 这是在接受的答案中给出的。然而,对于差异,故事有所不同:

$\sigma^2_z = \frac{\sum^N_{i=1} x^2_i +\sum^N_{i=1} y^2_i }{2N}-\mu^2_z$

$\sigma^2_z = \frac{1 }{2}(\frac{\sum^N_{i=1} x^2_i}{N}-\mu^2_x + \frac{\sum^N_{i= 1} y^2_i}{N}-\mu^2_y )+\frac{1 }{2}(\mu^2_x+\mu^2_y) -(\frac{\mu_x+\mu_y}{2})^2 $

$\sigma^2_z = \frac{1 }{2}(\sigma^2_x+\sigma^2_y )+(\frac{\mu_x-\mu_y}{2})^2$

因此,如果您有每个子集的方差并且您想要整个集合的方差,那么您可以平均每个子集的方差(如果它们都具有相同的均值)。否则,您需要添加每个子集的均值方差。

假设上半年我们每天生产 1000 兆瓦时,而在下半年,我们每天生产 2000 兆瓦时。那么第一和第二半能量产生的均值和方差分别为 1000 和 2000,两半均值为 0。现在有两个不同的事情我们可能会感兴趣:

1-我们要计算全年能源生产的方差:然后通过平均两个方差,我们得出零,这是不正确的,因为全年每天的能源不是恒定的。在这种情况下,我们需要添加来自每个子集的所有均值的方差。从数学上讲,在这种情况下,感兴趣的随机变量是每天的能源产量。我们有子集的样本统计数据,我们希望计算更长时间内的样本统计数据。

2-我们要计算每年能源生产的方差:换句话说,我们感兴趣的是能源生产从一年到另一年有多少变化。在这种情况下,平均方差会导致正确答案为 0,因为我们每年平均生产 1500 兆瓦。从数学上讲,在这种情况下,感兴趣的随机变量是每天的平均能源产量,其中平均是在全年进行的。

我想再次强调部分已接受答案的不正确性。问题的措辞导致混乱。

这个问题有每个月的 Average 和 StdDev,但不清楚使用了什么样的子集。是全场1台风机的平均值还是全场日平均值?如果是每个月的日平均值,则无法将月平均值相加得到年平均值,因为它们的分母不同。如果是单位平均值,问题应该说明

我们可以说,风电场中的每个涡轮机平均每年产生 10,358 MWh,...

代替

我们可以说,风电场平均每年发电 10,358 兆瓦时,...

此外,标准偏差或方差是与集合自身平均值的比较。它不包含有关其父集(计算集所属的较大集)平均值的任何信息。

差异可视化

图像不一定非常精确,但它传达了大致的想法。让我们想象一个风电场的输出,如图所示。如您所见,“局部”方差与“全局”方差无关,无论您如何将它们相加或相乘。如果将“局部”方差加在一起,与“全局”方差相比,它将非常小。您无法使用 2 个半年的方差来预测一年的方差。因此,在接受的答案中,虽然总和计算是正确的,但除以 12 得到月数没有任何意义。. 三段中,第一段和最后一段是错的,第二段是对的。

同样,这是一个非常错误的应用程序,请不要遵循它,否则会给您带来麻烦。只需计算整个事情,使用每个单位的年/月总产量作为数据点,具体取决于您想要年数还是月数,这应该是正确的答案。你可能想要这样的东西。这是我随机生成的数字。如果您有数据,则单元格 O2 中的结果应该是您的答案。

在此处输入图像描述

TL;博士

给定几天,并且对于每一天,我们都会得到它的平均值、样本标准偏差和样本数量,表示为: $$ \mu_d,\ \sigma_d,\ N_d $$ 我们想计算所有天的平均值和样本标准偏差.

平均值只是一个加权平均值: $$ \mu = \frac{\sum{\mu_dN_d}}{\sum{N_d}} = \frac{\sum{\mu_dN_d}}{N} $$

样例 StdDev 是这样的: $$ \sigma=\sqrt{\frac{\sum_{d}{(\sigma_d^2(N_d-1)+N_d(\mu-\mu_d)^2})}{N- 1}} $$ 其中下标d表示我们收集的一天的平均值、样本标准差和样本数。

细节

我们遇到过类似的问题,其中我们有一个计算每日平均值和样本标准差并将其与每日样本数量一起保存的过程。使用这个输入,我们必须计算每周/每月的平均值和 StdDev。在我们的案例中,每天的样本数量不是恒定的。

将整个集合的平均值、样本标准差和样本数表示为: $$ \mu、\ \sigma\ 和\ N\ $$ 并且对于第d天,将平均值、样本标准差和样本数表示为: $$ \ mu_d,\ \sigma_d,\ N_d $$ 计算整个集合的平均值只是相关天平均值的加权平均值: $$ \mu = \frac{\sum{\mu_dN_d}}{\sum{N_d}} = \frac{\sum{\mu_dN_d}}{N} $$ 但是在考虑 Sample StdDev 时,事情要复杂得多。对于一天的样本 StdDev,我们有: $$ \sigma_d=\sqrt{\frac{\sum_{N_d}(x_j-\mu_d)^2}{N_d-1}} $$ 首先进行一些清理: $$ \sigma_d^2(N_d-1)=\sum_{N_d}(x_j-\mu_d)^2 $$ 让我们看一下上面等式的右边项。如果我们可以从这个总和达到以下每天的总和: $$ \sum_{N_d}{(x_j-\mu)^2} $$ 那么这些天的总和将为我们提供我们正在寻找的天数不相交并覆盖整个集合: $$ \sum_{d}{\sum_{N_d}{(x_j-\mu)^2}} = \sum_{N}{(x_j-\mu)^2} $$ The从每日 StdDev 到整个集合的 StdDev 的洞察力是要注意,虽然我们没有每日样本,但我们确实有通过每日平均值的每日样本总和鉴于这种见解,让我们研究上面等式的右侧项: $$ \sum_{N_d}(x_j-\mu_d)^2=\sum_{N_d}{(x_j^2-2x_j\mu_d+\mu_d^2)}=\\ =\sum_{N_d}{(x_j^2 -2x_j\mu_d+\mu_d^2)}+(\sum_{N_d}{\mu^2}-\sum_{N_d}{\mu^2})+(2\sum_{N_d}{x_j(\mu- \mu_d})-2\sum_{N_d}{x_j(\mu-\mu_d})) $$ 在这一点上,我们什么也没做,只是添加和减去将归零的项,以保持等式相同。现在,由于我们对所有求和的 N d求和,让我们重写求和以获得乐趣和利润: $$ \require{cancel} =\sum_{N_d}{(x_j^2-2x_j(\cancel{\mu_d}+\mu- \取消{\mu_d})+\mu^2)}+\sum_{N_d}{\mu_d^2}-\sum_{N_d}{\mu^2}+2\sum_{N_d}{x_j(\mu -\mu_d}) $$ 求和超过j,因此不依赖于 j 的求和项可以简单地乘以 N d$$ =\sum_{N_d}{(x_j^2-2x_j\mu+\mu^2)}+N_d\mu_d^2-N_d\mu^2+2\sum_{N_d}{x_j(\mu-\mu_d )} $$ 我们越来越接近: $$ =\sum_{N_d}{(x_j-\mu)^2}+N_d\mu_d^2-N_d\mu^2+2\sum_{N_d}{x_j( \mu-\mu_d)} $$ 现在让我们处理最右边的项,因为我们不能直接使用 x j但我们可以使用它的总和,因为我们有当天的平均值。只需乘除以 N d即可得到平均值: $$ =\sum_{N_d}{(x_j-\mu)^2}+N_d\mu_d^2-N_d\mu^2+2(\mu-\mu_d ){N_d}(\frac{1}{N_d}\sum_{N_d}{x_j})\\ =\sum_{N_d}{(x_j-\mu)^2}+N_d\mu_d^2-N_d\mu ^2+2(\mu-\mu_d){N_d}\mu_d $$ 至此,我们得到了计算整个集合的 Sample StdDev 所需的总和,所有其他项都是我们知道的数量,即当天的统计数据和样本数。让我们回到上面的清理步骤: $$ \sigma_d^2(N_d-1)=\sum_{N_d}{(x_j-\mu)^2}+N_d\mu_d^2-N_d\mu^ 2+2(\mu-\mu_d){N_d}\mu_d\\ \leftrightarrow\ \sigma_d^2(N_d-1)-N_d\mu_d^2+N_d\mu^2-2N_d\mu_d(\mu-\ mu_d)=\sum_{N_d}{(x_j-\mu)^2}\\ \leftrightarrow\ \sigma_d^2(N_d-1)+N_d(\mu-\mu_d)^2=\sum_{N_d}{ (x_j-\mu)^2} $$ 我们现在准备计算集合的样本标准差: $$ \sigma=\sqrt{\frac{\sum_{N}(x_j-\mu)^2}{N- 1}}\\ =\sqrt{\frac{\sum_{d}{\sum_{N_d}(x_j-\mu)^2}}{N-1}}\\ =\sqrt{\frac{\sum_ {d}{(\sigma_d^2(N_d-1)+N_d(\mu-\mu_d)^2})}{N-1}} $$