BP预测 | MATLAB实现CS-BP多变量时间序列预测(布谷鸟搜索算法优化BP神经网络)

文章提出了使用布谷鸟算法优化的神经网络模型(CS-BP)对股票市场进行预测,通过与粒子群算法(PSO-BP)和遗传算法(GA-BP)优化的神经网络模型比较,CS-BP模型在30天的预测精度达到约98.633%,显示出在股票预测中的优越性能。布谷鸟算法因其全局搜索能力强、收敛速度快等特点,被证明在某些优化问题上优于其他算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信       无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机 

⛄ 内容介绍

针对当前智能算法对股票市场预测精度不高的问题,提出使用布谷鸟算法优化神经网络(CS-BP)的方法,对股票市场进行预测.并与粒子群算法优化神经网络模型(PSO-BP)和遗传算法优化神经网络模型(GA-BP)的测试结果进行比较.通过对SZ300091(金通灵)日线的收盘价数据回测分析看出,布谷鸟算法优化神经网络模型明显优于这两种算法,能有效对股票市场进行预测,对于30天的预测精度约为98.633%。

布谷鸟算法是英国剑桥大学著名学者 Yang 和 Deb 于 2009年根据布谷鸟的繁殖特征和飞行提出的一种新型启发式优化算法。学者运用了大量的函数进行测试证明该算法在某些方面优于粒子群算法和遗传算法,优势体现在: 全局搜索能力强、收敛速度快、所含参数少、通用性和鲁棒性更好等。布谷鸟算法是通过布谷鸟特殊的繁殖方式和飞行演变而来的。其将自己的鸟蛋产在别的宿主鸟的巢穴里进行孵化,如果布谷鸟这一行为被宿主鸟当场发现,就会出现激烈的冲突; 如果布谷鸟将蛋产完后宿主发现蛋并非自己的,则会将这个蛋或巢穴直接放弃。因此布谷鸟产蛋一般会选择刚刚产完蛋的巢穴进行产蛋,这样一旦布谷鸟的蛋被保留下来,则通常情况下布谷鸟蛋会比其余鸟蛋先孵化出来。而布谷鸟新幼体又有本能会将其余鸟蛋推出巢穴之外,这样宿主鸟就会将布谷鸟抚养长大。另 外,许多学者研究发现许多动物和昆虫的飞行行为都具有飞行的特征[16 - 19]。如果蝇飞行过程中突然转 90°弯,如 Ju’hoansi的狩猎行为等行为,都符合 飞行的特征。Yang 提出的布谷鸟算法,是基于以下三种假设的: ( 1) 每只布谷鸟一次只产一个蛋,同时随机选择鸟巢产蛋; ( 2) 最好鸟巢中的高质量的蛋会被保留并孵化出下一代; ( 3) 宿主发现外来鸟蛋的概率 ,一旦发现,宿主会将这个蛋或巢穴直接放弃。以此为前提,布谷鸟算法位置更新公式如下:

⛄ 部分代码

clc

clear

%读取数据

load data 

z=data';

n=length(z);

for i=1:6;

    sample(i,:)=z(i:i+n-6);

end

%% BP网络训练

%网络进化参数

net.trainParam.epochs=100;

net.trainParam.lr=0.1;

%net.trainParam.goal=0.00001;

%网络训练

[net,per2]=train(net,inputn,outputn);

%% BP网络预测

%数据归一化

inputn_test=mapminmax('apply',input_test,inputps);

an=sim(net,inputn_test);

test_simu=mapminmax('reverse',an,outputps);

error=test_simu-output_test

E=mean(abs(error./output_test))

plot(output_test,'g*')

hold on;

plot(test_simu,'-o')

title('布谷鸟算法优化BP神经网络实际值和预测值对比','fontsize',10)

legend('实际值','预测值')

xlabel('时间')

ylabel('比较值')

⛄ 运行结果

⛄ 参考文献

[1]BP公司. BP预测未来20年全球能源走势——根据《BP 2030年世界能源展望》的最新预测,未来20年全球能源增长主要集中于中国,印度.俄罗斯和巴西等新兴经济体[J]. 世界石油工业, 2011(2):7.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除

❤️ 关注我领取海量matlab电子书和数学建模资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值