为何分步递推计算数列平均值与直接计算整体平均值结果不同?
为何分步递推计算数列平均值与直接计算整体平均值结果不同?
这个问题问得特别戳中直觉误区!我刚学平均的时候也犯过类似的疑惑——“既然平均能代表一组数的中间值,那把前面的平均和新数再平均,不应该和直接算所有数的平均一样吗?” 直到想通权重分配的核心问题,一下子就通透了。
拿你给的例子(2,3,4)来拆解,一眼就能看明白:
直接平均(Avg2)的逻辑
直接算(2+3+4)/3=3,本质是把三个数放在完全平等的位置上——2、3、4各占1/3的“话语权”,就像三个人凑钱AA,每个人的钱数对最终人均的影响是一模一样的。
分步递推平均(Avg1)的逻辑
咱们一步步拆开来捋:
- 第一步把2和3平均成2.5,这时候2和3各占这个中间值的50%,相当于他俩拧成了一个“命运共同体”;
- 第二步把这个2.5和4平均,这一步你是把“2+3的共同体”和“单独的4”放在天平两端,各占50%的权重。
但别忘了,这个共同体里2和3本来就各占一半啊!换算到最终结果里:
- 2的实际权重是:50%(共同体的总权重)×50%(2在共同体里的占比)=25%
- 3的实际权重也是25%
- 4的实际权重是50%
你看!4的话语权是2和3的两倍!这就像投票时,4一人投两票,2和3各投一票,最终结果肯定会偏向4,所以Avg1=3.25会比直接平均的3高,完全是因为4的权重被偷偷放大了。
再举个极端例子帮你加深印象:如果数列是(1,1,1,100),分步递推的最终平均会是(((1+1)/2 +1)/2 +100)/2 = 50.5,而直接平均是(3+100)/4=25.75。差距这么大,就是因为100在分步计算里占了50%的权重,而直接平均里只占25%。
说白了,分步递推的平均,本质是每次都给新加入的数和“前面所有数的总和”平等的权重,但前面的数是被“压缩”成一个平均的,所以越晚加入的数,在最终结果里的权重就越大;而直接平均是真·一碗水端平,所有数的权重完全相同。这就是两者结果不同的核心原因,不是什么分母变化的表面现象,而是权重分配的本质差异。
备注:内容来源于stack exchange,提问作者Lumbini Ashutosh Tambat
相关产品推荐
相关产品推荐

