【遗传优化BP网络】基于自适应遗传算法的BP神经网络的股票预测MATLAB仿真
1.軟件版本
MATLAB2021a
2.本算法理論知識
? ? ? ? 通過MATLAB對BP神經(jīng)網(wǎng)絡(luò),基于遺傳優(yōu)化的BP神經(jīng)網(wǎng)絡(luò),基于改進遺傳優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)以及基于改進遺傳優(yōu)化的組合BP神經(jīng)網(wǎng)絡(luò)等多種算法的股價預(yù)測性能。從仿真結(jié)果可知,基于改進遺傳優(yōu)化的組合BP神經(jīng)網(wǎng)絡(luò)性能略優(yōu)于改進遺傳優(yōu)化的BP神經(jīng)網(wǎng)絡(luò),而比起傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測算法和基于傳統(tǒng)遺傳優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)預(yù)測算法,具有較大的性能優(yōu)勢。
3.核心代碼
clc; clear; close all; warning off; addpath 'func\' addpath 'func_GA\'%本程序是使用matlab自帶BP網(wǎng)絡(luò),實現(xiàn)股票預(yù)測,用來最后改進算法對比的 load data.mat%收盤價格 C = OHLC(:,4); Mins = min(C); Maxs = max(C); C = (C-Mins)/(Maxs-Mins);LEN = 10; %樣本的劃分 for i = 1:length(C)-LENPrice1(:,i) = C(i:i+LEN-1);Price2(i) = C(i+LEN); end%訓(xùn)練樣本 L1 = floor(0.6*length(Price2)); for i = 1:L1train_data(:,i) = Price1(:,i); train_aim(i) = Price2(i); end%測試樣本 L2 = length(Price2) - L1; for i = 1:L2test_data(:,i) = Price1(:,i+L1); test_aim(i) = Price2(i+L1); end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %如下的是改進BP網(wǎng)絡(luò)算法 %定義神經(jīng)網(wǎng)絡(luò)的各個層的個數(shù) Num_In = LEN; Num_Hidden = 5; Num_Out = 1; %構(gòu)建BP網(wǎng)絡(luò) net = newff(train_data,train_aim,Num_Hidden);ERR1 = []; ERR2 = []; ERR3 = []; for j = 1:5j%通過改進遺傳算法優(yōu)化BP參數(shù)net = func_newGA(net,Num_In,Num_Hidden,Num_Out,train_data,train_aim);%網(wǎng)絡(luò)訓(xùn)練net.trainParam.showWindow = 0;net = train(net,train_data,train_aim);outputs = sim(net,test_data);d1 = test_aim*(Maxs-Mins) + Mins;d2 = outputs*(Maxs-Mins) + Mins;ERR1 = [ERR1,mean(abs(d1-d2)./d2) ];ERR2 = [ERR2,mean((abs(d1-d2)./d2).^2) ];ERR3 = [ERR3,std((abs(d1-d2)./d2).^2) ]; endfigure; plot(d1,'b'); hold on plot(d2,'r'); legend('真實股價','預(yù)測股價'); xlabel('時間(days)'); ylabel('收盤價格對比');disp('平均誤差:'); mean(ERR1) disp('平方差:'); mean(ERR2) disp('均方差:'); mean(ERR3)4.操作步驟與仿真結(jié)論
| 算法 | 平均誤差 | 平方差 | 均方差 |
| BP神經(jīng)網(wǎng)絡(luò) | 0.0343 | 0.0032 | 0.0026 |
| 遺傳優(yōu)化BP神經(jīng)網(wǎng)絡(luò) | 0.0191 | 0.00056 | 0.000682 |
| 自適應(yīng)遺傳優(yōu)化BP神經(jīng)網(wǎng)絡(luò) | 0.0165 | 4.214e-04 | 5.69e-04 |
| 自適應(yīng)遺傳優(yōu)化組合BP神經(jīng)網(wǎng)絡(luò) | 0.0160 | 4.00e-04 | 5.40e-04 |
?5.參考文獻
[1]李超. 基于自適應(yīng)遺傳算法的BP神經(jīng)網(wǎng)絡(luò)預(yù)測研究及應(yīng)用[D]. 山西師范大學(xué).
A06-34
6.完整源碼獲得方式
方式1:微信或者QQ聯(lián)系博主
方式2:訂閱MATLAB/FPGA教程,免費獲得教程案例以及任意2份完整源碼
總結(jié)
以上是生活随笔為你收集整理的【遗传优化BP网络】基于自适应遗传算法的BP神经网络的股票预测MATLAB仿真的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【NSGAII】基于NSGAII的多目标
- 下一篇: 【FPGA教程案例1】基于FPGA的串行