在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>