找出时间序列r中变化最小的时期

时间:2018-03-21 16:39:48

标签: r rolling-computation

我有一个时间序列,并且希望找到具有最低连续变化的时段,即滚动SD在最长连续时间步长中徘徊在最小值的时段。

test=c(10,12,14,16,13,13,14,15,15,14,16,16,16,16,16,16,16,15,14,15,12,11,10)
rol=rollapply(x, width=4, FUN=sd)
rol

我可以从数据或图表中很容易地看出,具有最低可变性的最长周期从t = 11开始。是否有一个功能可以帮助我找到持续低变化的这段时间,也许会自动尝试不同大小的滚动窗口?我对找到SD最低的时间步长感兴趣,但是这个低SD的时间比其他SD更稳定。

我现在能想到的只是看一下rol [i] -rol [i + 1]之间的区别,循环通过向量并使用计数器来查找连续的低SD值的周期。我也在考虑使用聚类分析,比如kmeans(rol, 5),但我可以有很长的时间序列,这些序列很复杂,我必须手动选择聚类的数量。

0 个答案:

没有答案