一种基于粒子群算法进行权重调整的时间序列预测方法与流程

文档序号:37351542发布日期:2024-03-18 18:32阅读:12来源:国知局
一种基于粒子群算法进行权重调整的时间序列预测方法与流程

本发明属于时间序列预测,具体是指一种基于粒子群算法进行权重调整的时间序列预测方法。


背景技术:

1、时间序列是按照时间排序的一组变量,它通常是在相等间隔的时间段内,依照给定的采样率对某种潜在过程进行观测的结果。而时间序列预测法是一种回归预测方法,属于定量预测,其基本原理是:一方面承认事物发展的延续性,运用过去的时间序列数据进行统计分析,推测出事物的发展趋势;另一方面充分考虑到由于偶然因素影响而产生的随机性,为了消除随机波动产生的影响,利用历史数据进行统计分析,并对数据进行适当处理,进行趋势预测。

2、时间序列数据与其他类型的数据的最大区别在于当前时刻的数据值与之前时刻的数据值存在着联系,该特点表明过去的数据已经暗示了现在或者将来数据发展变化的规律,这种规律主要包括了趋势性、周期性和不规则性。趋势性反映的是时间序列在一个较长时间内的发展方向,它可以在一个相当长的时间内表现为一种近似直线的持续向上或持续向下或平稳的趋势。周期性反映的是时间序列受各种周期因素影响所形成的一种长度和幅度固定的周期波动。不规则性反映的是时间序列受各种突发事件、偶然因素的影响所形成的非趋势性和非周期性的不规则变动。

3、目前具有代表性的预测方法主要有传统线性方法和非线性方法两大类。传统线性方法,如arma、arima、var、tar、arch等,多侧重理论研究,实际应用较少;非线性方法,如马尔可夫预测模型、神经网络预测模型、支持向量机预测模型、混沌理论预测模型等,大都存在建模复杂且计算量大的问题。


技术实现思路

1、为了解决建模复杂且计算量大的问题,本发明提供了一种使用粒子群算法对时间序列预测中的各变量参数进行自动权重调整,以提高预测准确度的时间序列预测方法。

2、为了实现上述功能,本发明采取的技术方案如下:一种基于粒子群算法进行权重调整的时间序列预测方法,包括前端页面、web服务器和时间序列预测程序,前端页面为用户提供上传和预测数据的接口,web服务器用于处理用户请求、调用时间序列预测程序,时间序列预测程序用于对用户发来的数据进行预测,其包括如下步骤:

3、(一)部署时序预测程序与web服务器;

4、(二)用户在前端页面选择需要进行预测的csv时间序列数据文件;

5、(三)若选择手动指定权重,在前端页面输入权重比例并点击预测,将csv时间序列数据文件与权重比例发送至web服务器;

6、(四)web服务器接收前端发来的数据文件与权重比例,并据此计算出最终进行预测的时间序列数据;

7、(五)web服务器调用时间序列预测程序进行预测;

8、(六)预测完成后,生成预测结果数据和图像文件,由web服务器返回前端页面进行展示;

9、(七)若选择自动调节权重,前端将csv时间序列数据文件与自动调节权重请求发送至web服务器;

10、(八)web服务器接收到数据文件与自动调节权重请求后,使用粒子群算法进行权重调整;

11、(九)web服务器将最终的最优解、对应的权重分布,以及对应预测结果的数据和图像文件返回到前端页面进行展示。

12、进一步地,所述步骤(一)部署时序预测程序与web服务器中区块链的每个记账节点都需要配置一套监测服务、同步服务和业务逻辑数据库的组合,监测服务用来控制节点上下线,同步服务用来解析用户上传至区块链的数据,将数据保存至本地业务逻辑数据库中,业务逻辑数据库用于客户端连接访问。

13、进一步地,所述步骤(五)具体包括:

14、时间序列预测程序采用harvey和peters提出的可分解的时间序列模型,其具有三个主要模型组件:趋势、季节性和节假日,组合在以下等式中:

15、y(t)=g(t)+s(t)+h(t)+∈t

16、式中:g(t)是模拟时间序列值的非周期性变化的趋势函数,s(t)表示周期性变化(例如,每周和每年的季节性),h(t)表示节假日的影响,在一天或几天内以潜在的不规则时间表发生。误差项∈t代表模型不适应的任何特殊变化;

17、对于增长预测,数据生成的关键要素是数据曾经如何增长以及预计将如何增长的模型,其中存在因承载能力而饱和的非线性增长,这种增长通常使用逻辑增长模型进行建模,其最基本的形式是:

18、

19、式中:c是承载能力,k是增长率,m是偏移参数;

20、基本形式没有考虑到两个重要方面:承载能力不是恒定的,因此,需要将固定容量c替换为时变容量c(t),增长率也不是恒定的,因此,需要通过明确定义允许增长率变化的变化点,将趋势变化纳入增长模型,调整后的分段逻辑增长模型为:

21、

22、商业时间序列通常具有多周期季节性,因为它们所代表的人类行为,为了拟合和预测这些效应,必须指定季节性模型,这些模型是t的周期函数。

23、依靠傅里叶级数来提供周期效应的灵活模型,设p是期望时间序列具有的常规周期,例如,当以天为单位缩放时间变量时,p=365.25表示年数据,p=7表示每周数据,可以近似任意平滑的季节性效果:

24、

25、节假日和事件为许多业务时间序列提供了较大的、一定程度上可预测的影响,并且通常不遵循周期性模式,因此它们的影响不能通过平滑的周期很好地建模;

26、通过假设节日的影响是独立的,将节日列表合并到模型中。对于每个节日i,让di为该节日的过去和未来日期设置,需要添加一个表示时间t是否在节假日i期间的指标函数,并为每个节假日指定一个参数κi,它是预测中的相应变化,这与季节性相似,通过生成下列回归矩阵来实现:

27、z(t)=[1-(t∈d1),...,1(t∈dl)]

28、并且取:

29、h(t)=z(t)k.

30、通常而言,某个特定节日周围某个时段的影响也很重要,为了说明这一点,对节日周围的天数添加了其他参数,基本上将节日窗口中的每一天都视为节日本身。

31、进一步地,所述步骤(八)具体包括:

32、(1)首先初始化粒子群,生成一定数量的粒子,并随机为每个粒子生成位置p和速度v两个核心要素;

33、(2)每次迭代时,首先根据每个粒子的位置p生成权重比例,测试对应的预测准确度,并更新个体最优解pbest及其所在位置ppbest的值,和全局最优解gbest及其所在位置pgbest的值;

34、(3)根据最优结果所在位置对粒子的速度进行调整:

35、vt=wvt-1+c1r1(ppbest-pt)+c2r2(pgbest-pt)

36、式中:vt为粒子在t时刻的速度,vt-1为粒子在t-1时刻的速度。pt为粒子在t时刻的所在位置,w为惯性系数,表示上一代粒子的速度对当代粒子的速度的影响,或者说粒子对当前自身运动状态的信任程度,惯性系数使粒子保持运动的惯性和搜索扩展空间的趋势,c1为个体学习因子,表示粒子下一步运动速度中来源于自己经验部分所占的权重,c2为社会学习因子,表示粒子下一步运动速度中来源于其它粒子经验部分所占的权重,r1和r2分别为区间[0,1]之间的随机数;

37、(4)计算出粒子速度之后,根据速度移动粒子位置:

38、pt+1=pt+vt

39、根据移动后的位置,进行下一次迭代,再次计算函数的对应值,并更新最优解,重新计算速度并移动位置,每次迭代时,都将当前的最优解及对应权重分布,以及当前进度返回前端页面进行展示,不断重复这一过程,直到达到迭代次数。

40、进一步,所述步骤(八)中的粒子群算法中的参数是用于找出预测准确度最高的csv数据最优权重分布,与用于预测未来趋势的时间序列模型组件之间并无直接关系。

41、本发明采取上述结构取得有益效果如下:本发明与传统线性方法以及非线性方法相比算法简单且预算预测准确度高,本发明采用粒子群算法自动调整预测变量参数的权重,可有效提高预测准确度。在工业农业生产、市场销售分析等各大领域都能起到数据指导作用,达到资源合理分配、提前应对风险的作用。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1