杨迪 辽宁石化职业技术学院 辽宁 锦州 121001
摘 要:本文以GEP为基础,引入模拟退火算法当中的Metropolis准则,并且根据实际情况对GEP与SA的操作算子加以改进,结合。这样可以在一定程度上保持物种的多样性,抑制“早熟”现象的发生。本文以此理论为基础,建立基于基因表达式编程的模拟退火改进算法股票预测模型(GEP-SA-Stock,GSS)。
关键词:基因表达式编程 模拟退火算法 时间序列 股票预测
本文讨论了两种基于GSS模型的构造方法,传统滑动窗口预测法和建立关于时间序列的微分方程法。前者找到在同一窗口大小内的前后数据间的函数关系,并使用该关系来进行预测;后者通过分析整个测试数据,建立关于时间序列的微分方程,从而进行预测。
一、GSS模型中相关参数的设计
1.适应度函数及提取。适应度函数是为了评价预测数据与真实数据的符合程度,直观地理解所挖掘函数模型的精度。在传统的GEP算法中,Candida提出了两种评价模型,采取利用绝对误差与相对误差进行评价。两者各有自身的不足。评价两组数据符合程度在统计学中主要采用相关系数法。针对GSS模型,引入统计学中的复相关系数(R),公式如下:
其中,y为变量y的平均值,称SST为总离差平方和。
由于GSS分别针对滑动窗口预测和微分方程预测建立了两种模型,所以在这里设计了两种提取函数适应度算法:
算法1(发现滑动窗口函数的适应度):
输入:z为时间序列数据,h为历史长度,L为未来长度,f为待评价的公式。
输出:公式f的适应度。
过程:
①从z开始,取长度为h+L的数据段;For每一个数据段g do。
④计算预测值a和真实值g的差别ε。
⑤带入评价函数计算适应度。
算法2(微分方程的适应度的发现):
输入:z为时间序列,z`为其一阶导数,h为历史长度,L为未来长度,f为待评价的公式。
输出:公式f的适应度。
步骤:For每个时间点t do。
①a0←[t,z(t),z'(t)];For i←1 to L do。
②以ai-1为初值条件,求解z"= f(t,z,z') 步,得到ai。
③计算预测值和真实值的差异ε。
④带入评价函数计算适应度。
2.基于基因表达式编程的模拟退火改进算法股票预测模型的建立。以上述算法为基础,结合传统GEP算法,建立GSS模型如下:
输入:最大进化代数MaxGen,降温参数α,种群规模n,训练数据Tr,测试数据Te,历史数据天数n, GEP进化时其他各参数值。
输出:挖掘模型(函数表达式),复相关系数。Begin。
(1)初始化当前运行代数,generation=0。
(2)初始化种群。
(3)利用适应度函数计算第0代种群的适应值。
(4)调用算法3,计算初始温度。While(generation<MaxGen) do。
(5)保留老一代个体。
(6)调用算法5.4进行模拟退火选择操作。
(7)遗传操作新一代个体:①复制(Replication);②变异(Mutation);③IS插串(IS Transposition)、RIS插串(RIS Transposition)、Gene插串(Gene Transposition);④1-点重组(One-Point Recombination)、2-点重组(Two-Point Recombination)、基因重组(Gene Recombination)。
(8)利用适应度函数计算遗传操作后的种群的适应度值;//调用算法1或算法2。
(9)保留最优个体。
(10)进行降温操作,T(new)=T(old)*α。
(11)更新遗传代数,generation++;End while。
(12)根据新种群,获得函数表达式。
(13)计算复相关系数。
(14)Return 复相关系数,函数表达式;End。
二、结语
本文将模拟退火算法的引入GEP中的选择操作,建立了基于滑动窗口预测法和微分方程两个股票预测模型,并分别给出了相应的测评适应度函数算法。GSS模型可在一定概率接受劣解,延缓早熟发生,增加趋于全局最优解的概率。同时GSS算法还具有自动获取初始温度功能,有效解决了传统模拟退火算法中初始温度确定的盲目性。
参考文献
[1]王超学 张星 马春森 张涛 基于协同进化基因表达式编程的函数发现研究[J].计算机工程与应用,2013,(17)。
[2]谢国强 基于支持向量回归机的股票价格预测[J].计算机仿真,2012,(04)。
论文作者:杨迪
论文发表刊物:《教育学文摘》2017年9月总第241期
论文发表时间:2017/9/20
标签:算法论文; 函数论文; 模型论文; 表达式论文; 微分方程论文; 种群论文; 评价论文; 《教育学文摘》2017年9月总第241期论文;