请教下有什么算法可以检测时间序列数据的趋势

2019-02-11 13:41:40 +08:00
 rockyou12

其实就是要算 k 线的趋势,找出上涨或下跌的时间段。这个看图形很直观,让我写算法我发现没法下手。

应该有很多现成算法,但我最多就用过 sql、elasticsearch 这些做个平均求和这些。趋势型的数据感觉无法入手……

4340 次点击
所在节点    算法
10 条回复
jsxhhyf
2019-02-11 13:49:31 +08:00
可以试试 ARIMA
virusdefender
2019-02-11 14:22:48 +08:00
关键词:时间序列预测算法

https://github.com/facebook/prophet

不过要注意的是,股票数据不一定适用,因为不一定有规律
rockyou12
2019-02-11 15:11:41 +08:00
@virusdefender 谢谢……但我需要不是预测,主要是判断并找出趋势。

比如一个序列[ 1 , 4 , 3 , 5 , 7 , 9 , 11 , 9 , 6 , 4 , 1 ]

明显有两个区间,1 -> 11 是在上升 ,11 -> 1 又在下降。要的就是将 11 的下标给找到。但很重要一点是 从 1 -> 11 的过程中,不会是单调递增的,中间会有波动,但大趋势不会变。

重点就是这个大趋势怎么判断…… google 了下,统计学完全懵逼😭
triptipstop
2019-02-11 15:24:29 +08:00
算个均线
Lax
2019-02-11 16:18:48 +08:00
傅立叶、小波分析。。
virusdefender
2019-02-11 16:20:49 +08:00
@rockyou12 要预测也得先学习,你说的就是学习已有数据的过程。

数学基础不行几乎搞不定的
rockyou12
2019-02-11 16:38:23 +08:00
@virusdefender 我不是想做机器学习啊……学习出来的模型参数又不好调。不应该有公式或者数学模型可以用嘛……
triptipstop
2019-02-11 16:39:44 +08:00
算均线 比大小
bantao
2019-02-11 16:58:35 +08:00
明确趋势发生变化的定义和单调周期内(连续几次)可接受的多少幅度波动,自己写算法判断就好了。
rockyou12
2019-02-14 14:42:39 +08:00
@virusdefender
@triptipstop
@bantao
@jsxhhyf
@Lax

还是感觉各位回复,这里找到一篇树回归的文章。非常完美的解决了我的问题(而且连完整代码都有……)
https://blog.csdn.net/xieyan0811/article/details/78581974

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/533915

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX