时间序列预测是指利用获得的数据按时间顺序排成序列,分析其变化方向和程度,从而对未来若干时期可能达到的水平进行推测。时间序列预测的基本思想,就是将时间序列作为一个随机变量的一个样本,用概率统计的方法,从而尽可能减少偶然因素的影响。
其中,时间序列即是把客观过程一个变量或一组变量X(t)将行量度,在时刻:
t1<t2<…<tn上得到以时间t为自变量、离散化的有序集合。X(t1),X(t2),…,X(tn)自变量t可以具有不同的物理意义,例如长度、温度或其他物理量等。时间序列的波动是许多因素共同作用的结果。各种因素作用的效果有长期趋势、季节变动、循环变动和随机变动4类。若以T、S、C、I分别表示长期趋势、季节变动、循环变动和随机变动的数值,那么对时间序列yt的分析最常用的模型有两类:yt=T×S×C×I yt=T+S+C+I
局限性:在预测方差最小原则的前提下,预测时间越长预测值的方差越大,因此时间序列数据只适合做短期预测。
本人整理了136个深度学习和机器学习预测python代码。涵盖时间序列预测,回归预测,单输入单输出预测,多输入单输出预测,单步长预测,多步长预测。配备运行环境,数据集。多种预测模型下,数据集运行效果优异,备注清晰,一键运行,十分适合入门预测的同学。
1----多种基础机器学习算法(线性回归(LR)、逻辑回归、惩罚回归(PR)、判别分析(DA)、朴素贝叶斯(NB)、k近邻、决策树 DT、随机森林RF、梯度提升BOOST、支持向量机SVM、神经网络ANN、主成分分析PCA、聚类分析DBSCAN和k- means、XGBOOST、lightGBM、RVM等共计17种),包括多种数据集,在Python环境下均可良好运行,适合新手学习。
2--- 深度学习和机器学习时间序列预测算法主要为:LSTM,bilstm,gru,bigru,arima,ssa-arima,ceemdan,bp,elm,kelm,knn,mlp,slp,svm,XGBOOST,lightgbm,catboost,rf,lssvm,RNN,SARIMA,transformer,ARIMA-SSA-LSTM,ARIMA-WOA-LSTM,pso-lstm-attention,pso-cnn-lstm-attention,ssa-lstm-attention,ssa-lstm
vmd-dbo-lstm,woa-bigru,biagging,BiGRU,Bigru-Attention,BiLSTM-Attention,cnn-BiLSTM-Attention,svr,rbf,rf,cart,ceemdan,ceemdan-cnn-attention,ceemdan-cnn-lstm,ceemdan-cnn-bigru,ceemdan-cnn-bilstm-attention,vmd,vmd-lstm,vmd-cnn-lstm,vmd-cnn-bilstm-attention,vmd-cnn-bigru等等.
3--多种回归预测模型:biagging,BiGRU,Bigru-Attention,BiLSTM-Attention,cnn-BiLSTM-Attention,svr,rbf,rf,cart,cnn-bigru,Elm,gradient-boosting,cnn-lstm-attention等等。
4---多种智能优化算法:蝙蝠(BAT),非洲秃鹫(AVOA),布谷鸟(CS),蜣螂(DBO),萤火虫(FA),烟花(FWA),灰狼(GWO),哈里斯鹰(HHO),多元宇宙(MVO),粒子群(PSO),正余弦(SCA),麻雀(SSA),樽海鞘群(SSA),鲸鱼(WO)等智能优化算法,分别用来优化LSTM,LSTM-Attention,bigru,CNN-lstm-attention等等。
代码获取见评论区