2

我有一组消息,每个消息都有一个到达时间戳。我想分析集合并确定消息到达的周期。(有了它,我可以在一定程度上确定地检测到后续消息何时延迟或丢失。)因此,离散傅里叶变换似乎是从集合中提取频率的合乎逻辑的选择。

然而,我所看到的离散傅立叶变换的所有解释都是从以恒定频率采样的有限值集开始的。而我所拥有的只是一组值(单调递增的时间戳值。)

转换为时间序列数据?

我考虑过选择一个小的分辨率——例如一秒——然后产生一个时间序列,从第一条消息的时间开始,一直到当前的实时时间,以及每个对应的 (0,1) 值那些时间点。(大多数是零,在每条消息的到达时间都有一个。)

更多细节

我有很多集:我需要多次执行此计算,因为我有许多不同的消息要分析。每组消息可能大约有 1,000 条消息,跨越长达一年的实时时间。因此,如果我将(如我上面所想的)一组消息转换为时间序列;那是大约 3200 万(一年中的秒数)时间序列数据点,只有大约 1,000 个非零值。

一些消息集更频繁:在天的范围内有约 5,000 条消息——所以这更像是约 400,000 个时间序列数据点,但仍然只有约 5,000 个非零值。

这是否理智(将到达时间转换为时间序列,然后进行简单的 FFT 工作)?或者是否有其他方法可以将傅里叶变换应用于我的实际数据(消息到达时间)?

4

1 回答 1

2

我建议您将消息计数放入具有适当持续时间的均匀间隔的 bin 中,然后将这些 bin 视为时间序列并使用例如基于 FFT 的方法从该序列中生成频谱。生成的频谱应将任何周期性显示为特定 bin 频率附近的峰值。

于 2013-10-04T15:29:09.357 回答