C ++如何合成和对齐时间序列间隔?

时间:2014-12-14 19:01:32

标签: c++ time-series intervals

在C ++中工作我有一些时间序列数据以一秒的间隔生成,如下所示:

Data begins;
2014 Dec 14 13:59:57   8.7
2014 Dec 14 13:59:58   6.6
2014 Dec 14 13:59:59   2.1
2014 Dec 14 14:00:00   0.5
2014 Dec 14 14:00:01   2.3
2014 Dec 14 14:00:02   3.5
2014 Dec 14 14:00:04   1.0 <--- Intentional gap; could be that no data is generated in a given second
2014 Dec 14 14:00:05   7.3
2014 Dec 14 14:00:06   4.8
and so on ........

时间戳为boost::posix_time::ptime类型。

我想获取这些数据并从中合成更大间隔的时间序列数据,例如2,5,10秒或任何其他整数倍。

与任何给定间隔相关联的值将是该先前秒数的平均值。

因此,前2秒间隔时间序列值将是平均值;

2014 Dec 14 13:59:57   8.7
2014 Dec 14 13:59:58   6.6

本身就是;

2014 Dec 14 13:59:58   7.7 <-- first synthesized 2 second interval time-series data element.

现在,原始源数据系列可以随时开始。我想使合成的时间序列间隔与它们的自然整数倍和自然时间点对齐。

因此,前5秒间隔数据元素将是仅有4个先前1秒数据元素的平均值:

2014 Dec 14 13:59:57   8.7
2014 Dec 14 13:59:58   6.6
2014 Dec 14 13:59:59   2.1
2014 Dec 14 14:00:00   0.5

给予:

2014 Dec 14 14:00:00   4.5 <--- first synthesized 5 second interval time-series data element.

并且在分钟和小时的自然转弯处,新的5秒积累将从以下开始:

 2014 Dec 14 14:00:01   2.3

需要值;

2014 Dec 14 14:00:01   2.3
2014 Dec 14 14:00:02   3.5
2014 Dec 14 14:00:04   1.0 <--- Intentional gap; could be that no data is generated in a given second
2014 Dec 14 14:00:05   7.3

并将它们合成为:

2014 Dec 14 14:00:05   3.5 <---- Aligned second synthesized 5 second interval time-series data element.

这是我第一次尝试这个,所以我想问一下开源库的建议,这些库执行这种功能或方法,我可以用来实现在C ++中合成更高的间隔时间序列的目标? / p>

0 个答案:

没有答案