时间序列的统计相似性


15

假设一个人有一个时间序列,从中可以进行各种测量,例如周期,最大值,最小值,平均值等,然后使用它们来创建具有相同属性的模型正弦波,是否可以使用任何可以量化的统计方法实际数据与假设模型的拟合程度如何?该系列中的数据点数量将在10到50点之间。

我的一个非常简单的第一个想法是为正弦波的定向运动赋予一个值,即+1 +1 +1 +1 -1 -1 -1 -1 -1 -1 -1 -1 +1 +1 +1 +1 +1,对实际数据进行相同处理,然后以某种方式量化方向运动的相似度。

编辑:在考虑了我真正想对数据做些什么之后,并根据对原始问题的回答,我需要的是一种决策算法,可以在相互竞争的假设之间进行选择:即我的数据基本上是线性的(或趋势)带有可能包含循环元素的噪声;我的数据基本上是周期性的,没有方向性可言。数据本质上只是噪声;或正在这些状态之间转换。

我现在的想法是将贝叶斯分析和欧几里德/ LMS度量结合起来。这种方法的步骤将是

根据数据测量创建假定的正弦波

使LMS直线适合数据

推导一个欧几里德或LMS度量标准,以与上述各项的原始数据产生偏差

根据此指标为每个指标创建一个贝叶斯先验,即60%的合并偏离附加到一个,40%附加到另一个,因此有利于40%

沿数据滑动一个数据点并重复上述操作,以获取此稍有变化的数据集的新%指标-这是新证据-做贝叶斯分析以创建后验并更改有利于每个假设的概率

使用此滑动窗口(窗口长度为10-50个数据点)在整个数据集(3000个以上的数据点)中重复。希望/意图是确定数据集中任何时候的主要/偏爱的假设以及这种假设随时间的变化

对于这种潜在方法的任何评论都将受到欢迎,尤其是在如何实际实施贝叶斯分析部分方面。

Answers:



5

如果您要与特定模型进行比较: 我建议使用最小二乘作为指标,以针对特定数据集最小化和评分可能的参数值。您基本上要做的就是插入参数估计值,使用这些参数估计值生成预测值,然后计算与真实值的平均平方偏差。

但是,您可以考虑稍微解决一下问题: “哪种模型最适合我的数据?” 在这种情况下,我建议假设一个正态分布的误差项-有人可能会争论的是类似于最小二乘假设。然后,根据您对模型的选择,可以对其他模型参数的分布方式进行假设(分配贝叶斯先验),并使用诸如R的MCMC包之类的方法从参数分布中进行抽样。然后,您可以查看后均值和方差,以了解哪种模型最合适。


如果我有两个可能的模型适合我的数据,如我原始问题中所述的正弦波和LMS直线拟合,我可以简单地将正弦波真实数据值的平均平方偏差与残差相比较。 LMS拟合线,然后选择总值较低的模型,理由是该模型对数据显示的精度更高?如果是这样,也许使用相同的正弦波/ LMS拟合将数据分成两半并分别对每一半进行相同的处理,以查看每种模型随着时间的推移可能会如何改善/恶化,这是否也有效?
babelproofreader

我不确定。我的建议是使用最小二乘指标,但我并不是说要进行线性回归。您可以查看定期回归
M. Tibbits,2010年

至于您的其他问题,您是否可以将数据削减一半,我会非常谨慎-因为这会使您考虑的最低频率提高一倍。我认为您可能最终需要查看傅立叶系数(采用FFTDCT并对其求回归?!?- 不确定)。或者如上所述的周期性回归。
M. Tibbits,2010年

3

定性地仅表示方向运动的“简单化第一思想”在本质上类似于Keogh的比较时间序列的SAX算法。我建议您看一下:Eamonn Keogh和Jessica Lin:SAX

从您的编辑看来,您现在似乎正在考虑以不同的方式解决问题,但是您可能会发现SAX提供了一个难题。


0

当我参加聚会有点晚时,如果您正在考虑正弦波,小波变换也是一个很好的工具。从理论上讲,您可以使用小波变换将序列分解为各种“部分”(例如,具有不同形状/频率的波浪,诸如趋势之类的非波浪成分等)。大量使用的一种特定形式的波形变换是傅立叶变换,但是在这一领域有很多工作要做。我很想能够推荐一个当前的程序包,但是我已经有一段时间没有做信号分析工作了。我回想起一些支持此功能的Matlab软件包。

如果您只想查找循环数据中的趋势,则可以选择的另一个方向是类似Mann-Kendall趋势测试。它在检测天气或水质变化方面有很多用途,这些变化会强烈影响季节。它没有一些更高级方法的花哨,但是由于它是经验丰富的统计测试,因此非常容易解释和报告。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.