我正在编写一个程序,该程序在不同的日子里平均用户的体重。我打算使用5点移动平均线(当前日期,前两天和后两天)。有时,一个数据点会丢失1-2天。这些案件通常如何处理?
(如果我可以使用更好的低通滤波器,我很乐意提出建议)
我正在编写一个程序,该程序在不同的日子里平均用户的体重。我打算使用5点移动平均线(当前日期,前两天和后两天)。有时,一个数据点会丢失1-2天。这些案件通常如何处理?
(如果我可以使用更好的低通滤波器,我很乐意提出建议)
Answers:
作为一般印象,回归将比自动选择的移动平均滤波器更好地自动拟合缺失点。
如果您使用AR(自动回归滤波器)或ARMA滤波器-您可以根据过去的输入获得样本输出的预测值。
哪里 是预测值。
具体来说,假设您知道此人的体重处于特定范围。现在,如果您没有x [ i − 1 ]值-适用两种不同的换人-一个与Min和一个与Max和基于可用的模型,你将有两种极端的情况下,结果X [ 我],并可以选择他们之间的东西。
还有其他多种选择-您可以保留
或
本质上,这是一个预测该值并继续将其用作信号的游戏。当然,预测将与原始样本不同,但这不是您没有数据所要付出的代价。
如果您要运行完整的数据,则一种简单而通用的填充丢失数据的方法是使用
线性回归。假设您连续进行了1000次运行,共5次,但没有丢失。
设置1000 x 1向量y和1000 x 4矩阵X:
y X
wt[0] wt[-2] wt[-1] wt[1] wt[2]
---------------------------------
68 67 70 70 68
...
回归将为您提供4个最匹配的数字abcd
wt[0] ~= a * wt[-2] + b * wt[-1] + c * wt[1] + d * wt[2]
为您的1000行数据 -不同的数据,不同的abc d。
然后,使用这些abcd估计(预测,内插)丢失的wt [0]。
(对于体重,我希望abcd大约为1/4。)
在python中,请参阅 numpy.linalg.lstsq。
(在各个级别上都有成千上万的关于回归的书籍和论文。但是,对于与插值的联系,我不知道一个好的介绍;有人吗?)