Javascript 获取流式输入数据的总体标准偏差

Javascript 获取流式输入数据的总体标准偏差,javascript,math,statistics,standard-deviation,microprocessors,Javascript,Math,Statistics,Standard Deviation,Microprocessors,假设我有一个传感器,它每100分之一秒给我一个数字,比如说当地的温度,或者其他什么 在一秒钟内,我用一百个数字填充了一个数组 我想做的是,随着时间的推移,创建一个数据流的统计模型,很可能是一个钟形曲线,这样我就可以得到这些数据的总体标准偏差 现在,在一台存储容量很大的计算机上,这不会是一个问题,但在一些小型计算机上,如树莓pi或任何微处理器上,存储多个传感器在几个月内生成的所有数字变得非常不现实 当我研究获取标准偏差的数学时,我想到了简单地存储几个数字: 到目前为止所有数字的总运行总数、数字计数

假设我有一个传感器,它每100分之一秒给我一个数字,比如说当地的温度,或者其他什么

在一秒钟内,我用一百个数字填充了一个数组

我想做的是,随着时间的推移,创建一个数据流的统计模型,很可能是一个钟形曲线,这样我就可以得到这些数据的总体标准偏差

现在,在一台存储容量很大的计算机上,这不会是一个问题,但在一些小型计算机上,如树莓pi或任何微处理器上,存储多个传感器在几个月内生成的所有数字变得非常不现实

当我研究获取标准偏差的数学时,我想到了简单地存储几个数字:

到目前为止所有数字的总运行总数、数字计数,最后是(每个数字-当前平均数)^2的运行总数

使用这个,每当我得到一个新的数字时,我只需将一个数字加到计数中,将数字加到运行和中,得到新的平均值,将(新数字-新平均值)^2加到运行和中,除以计数和根,得到新的标准差

然而,这种方法存在一些问题:

假设数据类型为温度,平均温度为华氏60度,且数字以100hz的频率传输,则需要476年的时间才能使数据流总数溢出

(数字-平均值)^2之和不能保持相同的置信水平,因为它是平方数之和

最重要的是,这种方法是非常不准确的,因为每个数字都使用了一个新的平均值,这完全抹去了标准偏差的整个数学值,尤其是总体标准偏差

如果你认为总体标准差是不可能实现的,那么我应该如何处理样本标准差呢?每取N个数字仍然会导致相同的问题

我也不想将我的数据集限制在一个时间间隔内(即,只制作了最后24小时传感器数据的模型),因为我希望我的统计模型能够代表长时间内的传感器数据,即一年,如果我必须等待一年来进行测试和调试,甚至获得可用的模型,我不会玩得开心的

有没有什么数学工作可以得到一个总体,或者至少是一组不断增加的数字的样本标准偏差,而不实际存储该集合,因为这是不可能的,并且仍然能够准确地检测出什么是多个标准偏差

我看到的最接近的答案是:,但是,我不知道这是什么意思,也不知道这是否需要存储一组数字


谢谢大家!

链接显示了代码,很明显,您只需要存储3个变量:到目前为止的样本数、当前平均值和二次差之和

这些问题的可能重复,我的具体问题是一组不断增长的数字,而不仅仅是一组不断变化的数字。是的,基本上就是我所说的,但并没有真正解决我的担忧。