计算流中的标准偏差
使用Python,假设我正在运行已知数量的项目I
,并且能够计时处理每个项目要t
花费的时间,以及运行所花费的总时间T
以及到目前为止所处理项目的数量c
。我目前正在计算飞行中的平均值,A
= T / c
但是如果说单个项目花费的时间特别长(几秒钟而不是几毫秒),则可能会导致偏差。
我想展示一个运行中的标准偏差。如何在不保存每个记录的情况下执行此操作t
?
-
我使用的是Welford方法,它给出的结果更准确。该链接指向John D.Cook的概述。这是其中的一段,总结了为什么它是首选方法:
这种更好的方差计算方法可以追溯到1962年BP Welford撰写的论文,并在Donald Knuth的Art of Computer
Programming,第2卷,第232页,第三版中进行了介绍。尽管这种解决方案已经有数十年的历史了,但对此却知之甚少。大多数人可能没有意识到,直到他们第一次计算标准差并获得负数平方根的例外情况时,才难以计算样本方差。