网易首页 > 网易号 > 正文 申请入驻

时间序列预测方法汇总:从理论到实践(附Kaggle经典比赛方案)

0
分享至

↓↓↓点击关注,回复资料,10个G的惊喜

©作者 |Light学校 |中国科学院大学

研究方向 |机器学习编辑| paperweekly

知乎链接:https://zhuanlan.zhihu.com/p/471014006

时间序列是我最喜欢研究的一种问题,这里我列一下时间序列最常用的方法,包括理论和实践两部分。理论部分大多是各路神仙原创的高赞解读,这里我就简单成呈现在这里,并附上链接。实践部分是质量较高的开源代码,方便大家快速上手。最后,附上一些 kaggle 比赛中比较经典的时序比赛的经典解法链接,供大家参考和学习。

时序问题都看成是回归问题,只是回归的方式(线性回归、树模型、深度学习等)有一定的区别。

传统时序建模

arima 模型是 arma 模型的升级版;arma 模型只能针对平稳数据进行建模,而 arima 模型需要先对数据进行差分,差分平稳后在进行建模。这两个模型能处理的问题还是比较简单,究其原因主要是以下两点:

  • arma/arima 模型归根到底还是简单的线性模型,能表征的问题复杂程度有限;

  • arma 全名是自回归滑动平均模型,它只能支持对单变量历史数据的回归,处理不了多变量的情况。

原理篇:

写给你的金融时间序列分析:基础篇

重点介绍基本的金融时间序列知识和 arma 模型

https://zhuanlan.zhihu.com/p/38320827

金融时间序列入门【完结篇】 ARCH、GARCH

介绍更为高阶的 arch 和 garch 模型

https://zhuanlan.zhihu.com/p/21962996

实践篇:

【时间序列分析】ARMA预测GDP的 python实现

arma 模型快速上手

https://zhuanlan.zhihu.com/p/54799648

machinelearningmastery.com

arch、garch模型快速建模

https://machinelearningmastery.com/develop-arch-and-garch-models-for-time-series-forecasting-in-python/

总结:如果是处理单变量的预测问题,传统时序模型可以发挥较大的优势;但是如果问题或者变量过多,那么传统时序模型就显得力不从心了。

机器学习模型方法

这类方法以 lightgbm、xgboost 为代表,一般就是把时序问题转换为监督学习,通过特征工程和机器学习方法去预测;这种模型可以解决绝大多数的复杂的时序预测模型。支持复杂的数据建模,支持多变量协同回归,支持非线性问题。

不过这种方法需要较为复杂的人工特征过程部分,特征工程需要一定的专业知识或者丰富的想象力。特征工程能力的高低往往决定了机器学习的上限,而机器学习方法只是尽可能的逼近这个上限。特征建立好之后,就可以直接套用树模型算法 lightgbm/xgboost,这两个模型是十分常见的快速成模方法,除此之外,他们还有以下特点:

  • 计算速度快,模型精度高;

  • 缺失值不需要处理,比较方便;

  • 支持 category 变量;

  • 支持特征交叉。

原理篇:

提升树模型:Lightgbm 原理深入探究

lightgbm 原理

https://blog.csdn.net/anshuai_aw1/article/details/83659932

xgboost 的原理没你想像的那么难

xgboost 原理

https://www.jianshu.com/p/7467e616f227

实践篇:

在 Python 中使用 Lightgbm

lightgbm 模型实践

https://zhuanlan.zhihu.com/p/52583923

史上最详细的 XGBoost 实战

xgboost 模型实践

https://zhuanlan.zhihu.com/p/31182879

总结:通过一系列特征工程后,直接使用机器学习方法,可以解决大多数的复杂时序问题;不过这方法最大的缺点是特征工程可能会较为繁琐。

深度学习模型方法

这类方法以 LSTM/GRU、seq2seq、wavenet、1D-CNN、transformer为主。深度学习中的 LSTM/GRU 模型,就是专门为解决时间序列问题而设计的;但是 CNN 模型是本来解决图像问题的,但是经过演变和发展,也可以用来解决时间序列问题。总体来说,深度学习类模型主要有以下特点:

  • 不能包括缺失值,必须要填充缺失值,否则会报错;

  • 支持特征交叉,如二阶交叉,高阶交叉等;

  • 需要 embedding 层处理 category 变量,可以直接学习到离散特征的语义变量,并表征其相对关系;

  • 数据量小的时候,模型效果不如树方法;但是数据量巨大的时候,神经网络会有更好的表现;

  • 神经网络模型支持在线训练。

实际上,基于实际预测问题,可以设计出各式各样的深度学习模型架构。假如我们预测的时序问题(如预测心跳频率),不仅仅只和统计类的数据有关,还和文本(如医师意见)以及图像(如心电图)等数据有关 ,我们就可以把 MLP、CNN、bert 等冗杂在一起,建立更强力的模型。

▲ 图源:https://www.kaggle.com/c/avito-demand-prediction/discussion/59880

理论篇:

[干货] 深入浅出 LSTM 及其 Python 代码实现

LSTM 原理

https://zhuanlan.zhihu.com/p/104475016

Seq2Seq 原理详解-早起的小虫子-博客园

seq2seq 原理

https://www.cnblogs.com/liuxiaochong/p/14399416.html

Wavenet 原理与实现

wavenet 原理

https://zhuanlan.zhihu.com/p/28849767

CNN 卷积神经网络如何处理一维时间序列数据

1D-CNN 处理时序数据

https://www.ai8py.com/cnn-in-keras-for-time-sequences.html

Transformer for TimeSeries 时序预测算法详解

transformer 时序预测

https://zhuanlan.zhihu.com/p/391337035

实践篇:

seq2seq 模型的 python 实现-基于 seq2seq 模型的自然语言处理应

seq2seq 模型实现

https://dataxujing.github.io/seq2seqlearn/chapter3/

machinelearningmastery.com

LSTM 实践

https://machinelearningmastery.com/time-series-prediction-lstm-recurrent-neural-networks-pyth

Conv1d-WaveNet-Forecast Stock price

wavenet 模型预测股票价格

https://www.kaggle.com/bhavinmoriya/conv1d-wavenet-forecast-stock-price

towardsdatascience.com/

transformer 时序预测数据

https://towardsdatascience.com/how-to-use-transformer-networks-to-build-a-forecasting-model-297f9270e630

Keras documentation:

Timeseries classification with a Transformer model:transformer 处理时序数据分类

https://keras.io/examples/timeseries/timeseries_transformer_classification/

kaggle.com/fatmakursun/

CNN 预测模型

https://www.kaggle.com/fatmakursun/predict-sales-time-series-with-cnn

总结:深度学习模型可以解决基本上所有时序问题,而且模型可以自动学习特征工程,极大减少了人工;不过需要较高的模型架构能力。

最后我再附上一些比较经典的数据挖掘比赛链接和解决方案,如果能够理解数据和代码,必会受益匪浅。如果大家对某个比赛解决方案十分感兴趣,我后续会详细解读。

1)网站流量预测:

RNN seq2seq 模型:

https://github.com/Arturus/kaggle-web-traffic

xgboost 和 MLP 模型:

https://github.com/jfpuget/Kaggle/tree/master/WebTrafficPrediction

kalman 滤波:

https://github.com/oseiskar/simdkalman

CNN 模型:

https://github.com/sjvasquez/web-traffic-forecasting

2)餐厅客户量预测

特征工程+lgb:

https://www.kaggle.com/plantsgo/solution-public-0-471-private-0-505

特征工程+lgb:

https://www.kaggle.com/pureheart/1st-place-lgb-model-public-0-470-private-0-502

3)开放通道预测

wavenet 模型:

https://www.kaggle.com/vicensgaitan/2-wavenet-swa

1D-CNN 模型:

https://www.kaggle.com/kmat2019/u-net-1d-cnn-with-keras

seq2seq 模型:

https://www.kaggle.com/brandenkmurray/seq2seq-rnn-with-gru

4)肺压力预测

transformer 模型:

https://www.kaggle.com/cdeotte/tensorflow-transformer-0-112

双向 lstm 模型:

https://www.kaggle.com/tenffe/finetune-of-tensorflow-bidirectional-lstm

时间序列问题博大精深,应用场景十分广泛。实际上许多预测问题都可以看做是时间序列问题,比如股票/期货/外汇价格预测,网站/餐馆/旅馆/交通流量预测,店铺商品库存/销量预测等等。掌握了时间序列预测方法,你可能就掌管一把洞见未来的钥匙。





特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
创始人陈少杰涉赌后辞职,30岁美女何以登顶纳市上市公司帅座?

创始人陈少杰涉赌后辞职,30岁美女何以登顶纳市上市公司帅座?

正经社
2026-08-12 09:50:48
吃着不甜,却能让血糖飙升的8种食物!还是公认健康粗粮!

吃着不甜,却能让血糖飙升的8种食物!还是公认健康粗粮!

果壳
2026-08-12 12:40:58
涉案金额过亿 刘应成(原法名释永信)一审被判有期徒刑24年

涉案金额过亿 刘应成(原法名释永信)一审被判有期徒刑24年

每日经济新闻
2026-05-30 00:42:59
气温大降,江苏最新天气预测

气温大降,江苏最新天气预测

镇江风情
2026-08-12 15:45:09
降幅惊人!成都天府新区房价跌回1.7万,今年或跌一成

降幅惊人!成都天府新区房价跌回1.7万,今年或跌一成

林子说事
2026-08-12 12:55:47
4大旗舰同台亮相!华为Mate 90发布会阵容豪华:史上最强Mate准备就绪

4大旗舰同台亮相!华为Mate 90发布会阵容豪华:史上最强Mate准备就绪

快科技
2026-08-12 21:41:20
正当防卫被判死刑,枪决前6分钟最高法紧急叫停,最后结局如何?

正当防卫被判死刑,枪决前6分钟最高法紧急叫停,最后结局如何?

易玄
2024-08-17 22:57:17
清华大学深夜通告:暂停校园参观活动

清华大学深夜通告:暂停校园参观活动

极目新闻
2026-08-12 10:53:26
糖尿病的人要远离牛奶?医生直言:不止牛奶,这5物也要少吃为妙

糖尿病的人要远离牛奶?医生直言:不止牛奶,这5物也要少吃为妙

健康科普365
2026-08-12 21:45:08
1993年,97岁的薛岳被推上法庭受审:一句“我杀了十万日本人”,让全场沉默了

1993年,97岁的薛岳被推上法庭受审:一句“我杀了十万日本人”,让全场沉默了

纪史行者
2026-08-12 20:35:24
瑜伽馆也没有瑜伽了…

瑜伽馆也没有瑜伽了…

微微热评
2026-08-11 18:04:35
重庆一民警谎称可轻判向嫌犯家属要300万元未成,被判刑5年

重庆一民警谎称可轻判向嫌犯家属要300万元未成,被判刑5年

现代快报
2026-08-12 17:42:04
新台风“浪卡”生成,最新路径预测

新台风“浪卡”生成,最新路径预测

上观新闻
2026-08-12 11:28:38
65岁后,提醒中老年:存款别只写自己的名字!聪明人这样存,晚年更省心

65岁后,提醒中老年:存款别只写自己的名字!聪明人这样存,晚年更省心

小谈食刻美食
2026-08-10 08:17:04
脑梗是洗澡“洗”出来的?医生提醒:不想患上脑梗,洗澡注意5点

脑梗是洗澡“洗”出来的?医生提醒:不想患上脑梗,洗澡注意5点

岐黄传人孙大夫
2026-08-04 16:10:03
瑞典大满贯:乱套了!3大名将“大翻车”,东道主“大魔王”惨败

瑞典大满贯:乱套了!3大名将“大翻车”,东道主“大魔王”惨败

时间巡查
2026-08-12 15:20:11
2027年NBA前十顺位预测!18岁前锋状元,斯洛文尼亚又出天才

2027年NBA前十顺位预测!18岁前锋状元,斯洛文尼亚又出天才

老郎体育汇
2026-08-12 11:56:51
老婆瞒着我拿了20多万首付款给她弟开了家奶茶店,血本无归,我知道后没骂她,只给她看了一条银行发来的短信,她当场就崩溃了

老婆瞒着我拿了20多万首付款给她弟开了家奶茶店,血本无归,我知道后没骂她,只给她看了一条银行发来的短信,她当场就崩溃了

晓艾故事汇
2026-08-12 10:38:51
广东队重磅出手,新赛季第一签约,球迷怒喷,没有朱芳雨真不行

广东队重磅出手,新赛季第一签约,球迷怒喷,没有朱芳雨真不行

宗介说体育
2026-08-12 13:54:32
颠覆认知!最长寿的运动不是走路跑步,99%的人都练错了!

颠覆认知!最长寿的运动不是走路跑步,99%的人都练错了!

坠入二次元的海洋
2026-08-12 01:08:38
2026-08-12 22:23:00
Ai学习的老章 incentive-icons
Ai学习的老章
Ai学习的老章
3504文章数 11193关注度
往期回顾 全部

科技要闻

Manus第二季,浪子回头

头条要闻

赖清德"逃跑路线" 网友逐帧拆解用街景地图"拼"出来了

头条要闻

赖清德"逃跑路线" 网友逐帧拆解用街景地图"拼"出来了

体育要闻

杜兰特,所谓的“联盟小王”

娱乐要闻

老戏骨杨昆两夺金鹰奖,因物业费被告

财经要闻

李嘉诚,再一次大撤退!他嗅到了什么?

汽车要闻

这台大众不一般 上汽大众ID.ERA.5S综合续航约2000公里

态度原创

本地
手机
数码
公开课
军事航空

本地新闻

黄州一夜,苏轼写给普通人的月光

手机要闻

华为Mate 90系列新爆料!韬定律麒麟芯片落地,但三大悬念待解...

数码要闻

IFA2026首发前瞻:AI家电不再是概念,900+国产品牌狂卷柏林

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

通过“毕业大考” 湖北舰“持证上岗”

无障碍浏览 进入关怀版