且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何检测显著变化/趋势在一个时间序列数据?

更新时间:2021-12-07 07:03:11

正如已经指出的那样已经,你不看的衍生物。你真的找一个显著改变的检测算法的时间序列。

As has been pointed out already, you're not looking for the derivative. You're really looking for a "significant change" detection algorithm for a time series.

您一定会希望有一个平滑滤波器(和移动平均滤波器是好的 - 看到比约恩的回答此部分)。

You'll certainly want a smoothing filter (and the moving average filter is fine -- see Bjorn's answer for this part).

但除了平滑滤波器,你还需要一个的决定标准或阈值选择以后,你将决定过滤的变化是否是显著。

But in addition to the smoothing filter, you will also need a decision criteria or threshold selector beyond which you will decide whether or not the filtered changes are significant.

如果您的时间序列的基本统计数据是稳定的(时间序列),那么你可以使用一个定的统计阈值,从平均值的标准差的意义。例如,您可以选择2个标准差,如果你想有一个相当强烈的报警阈值(认为只有在收益的最强5%报警)。

If the underlying statistics of your time series is stable (stationary time series), then you can use a fixed statistical threshold, in the sense of standard deviations from the mean. For example, you might choose 2 standard deviations if you want a fairly strong "alarm" threshold (think alarming only on the strongest 5% of returns).

如果有什么在暗示你的时间序列是稳定的,也就是说,如果一系列可能在这一个趋势,或基本过程产生的时间序列可以通过fundmantal变化,而你监视它的根本问题,那么你就需要使用动态或自适应阈值,在信号与噪声(亩/西格玛)的感觉。然后,您可以选择检测到的信号传送到噪声测试所有的有意义的元素。

If there is nothing in the underlying problem that suggests that your time series is stable, i.e. if series could have a trend in it, or the underlying process generating the time series can go through fundmantal changes while you're monitoring it, then you'll need to use a dynamic, or adaptive threshold, in the sense of signal-to-noise (mu/sigma). You might then choose to detect all "meaningful" elements that pass the signal to noise test.