我在如下构造的周期时间序列中检测异常值:
install.packages("outliers")
time_series_obj = ts(time_series_data, frequency = SOME_VALUE)
fitted_time_series_data <- stl(time_series_obj, "periodic", robust=TRUE)
outliers <- which(fitted_time_series_data$weights<1e-8)
异常值检测对我的需求过于敏感,我只想保留最极端的异常值。 (改变权重滤波器的影响非常小。)我希望灵敏度是可配置的(例如,滤除所有具有绝对值大于k标准差的余数的异常值或类似的方法)。
答案 0 :(得分:0)
包tsoutliers
提供了一种检测时间序列中某些类型的异常值的过程。在此包中,可以通过设置t检验中使用的临界值来配置灵敏度。