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

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

✅作者简介:热爱科研的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电子书和数学建模资料


相关文章
|
8月前
|
算法 数据可视化 测试技术
HNSW算法实战:用分层图索引替换k-NN暴力搜索
HNSW是一种高效向量检索算法,通过分层图结构实现近似最近邻的对数时间搜索,显著降低查询延迟。相比暴力搜索,它在保持高召回率的同时,将性能提升数十倍,广泛应用于大规模RAG系统。
728 10
HNSW算法实战:用分层图索引替换k-NN暴力搜索
|
8月前
|
机器学习/深度学习 人工智能 算法
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
340 0
|
8月前
|
机器学习/深度学习 算法 物联网
基于遗传方法的动态多目标优化算法
基于遗传方法的动态多目标优化算法
|
8月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
749 0
|
8月前
|
数据采集 分布式计算 并行计算
mRMR算法实现特征选择-MATLAB
mRMR算法实现特征选择-MATLAB
478 2
|
9月前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
289 6
|
9月前
|
传感器 机器学习/深度学习 编解码
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
383 3
|
8月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
374 8
|
8月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
431 8