⑴ DPS軟體的BP神經網路預測.怎樣預測未來幾年的數
BP(Back Propagation)神經網路是1986年由Rumelhart和McCelland為首的科學家小組提出,是一種按誤差逆傳播演算法訓練的多層前饋網路,是目前應用最廣泛的神經網路模型之一。BP網路能學習和存貯大量的輸入-輸出模式映射關系,而無需事前揭示描述這種映射關系的數學方程。它的學習規則是使用梯度下降法,通過反向傳播來不斷調整網路的權值和閾值,使網路的誤差平方和最小。BP神經網路模型拓撲結構包括輸入層(input)、隱層(hidden layer)和輸出層(output layer)。
⑵ 神經網路預測程序
我一直用這個程序,覺得還可以,你試試吧,不過需要你自己根據數據來設置相應的參數~~
close all ;
clear ;
echo on ;
clc ;
% NEWFF——生成一個新的前向神經網路
% TRAIN——對 BP 神經網路進行訓練
% SIM——對 BP 神經網路進行模擬
pause
% 敲任意鍵開始
clc
% 定義訓練樣本
% P 為輸入矢量
p=[ ];
% T 為目標矢量
t= [];
%訓練樣本的歸一化
for i=1:(訓練樣本的指標數)
P(i,:)=(p(i,:)-min(p(i,:)))/(max(p(i,:))-min(p(i,:)));
end
pause
clc
% 創建一個新的前向神經網路
net=newff(minmax(P),[15,2],{'tansig','purelin'},'traingda'); %這些參數要自己設置
% 當前輸入層權值和閾值
inputWeights=net.IW{1,1};
inputbias=net.b{1} ;
% 當前網路層權值和閾值
layerWeights=net.LW{2,1} ;
layerbias=net.b{2} ;
pause
clc
% 設置訓練參數 也要自己設置
net.trainParam.show = 50;
net.trainParam.lr = 0.05;
%net.trainParam.mc = 0.9; % 附加動量因子
net.trainParam.epochs =5000;
net.trainParam.goal = 1e-4;
pause
clc
% 調用 TRAINGDM 演算法訓練 BP 網路
[net,tr]=train(net,P,t);
pause
clc
% 對 BP 網路進行模擬
p_test=[];
for i=1:6
P_test(i,:)=(p_test(i,:)-min(p_test(i,:)))/(max(p_test(i,:))-min(p_test(i,:)));
end
t_test=[];
A = sim(net,P_test)
% 計算模擬誤差
E = t - A
error=mse(E)
pause
clc
echo off
%反歸一化
for i=1:2
predict(i,:)=A(i,:)*(max(t(i,:))-min(t(i,:)))+ min(t(i,:));
end
predict %即模擬結果
pause
⑶ matlab優化神經網路預測股票程序,求大神幫忙,有重謝。
我這里有遺傳演算法優化的神經網路,但是粒子群的沒有啊!
⑷ 求用matlab編BP神經網路預測程序
P=[。。。];輸入T=[。。。];輸出
% 創建一個新的前向神經網路
net_1=newff(minmax(P),[10,1],{'tansig','purelin'},'traingdm')
% 當前輸入層權值和閾值
inputWeights=net_1.IW{1,1}
inputbias=net_1.b{1}
% 當前網路層權值和閾值
layerWeights=net_1.LW{2,1}
layerbias=net_1.b{2}
% 設置訓練參數
net_1.trainParam.show = 50;
net_1.trainParam.lr = 0.05;
net_1.trainParam.mc = 0.9;
net_1.trainParam.epochs = 10000;
net_1.trainParam.goal = 1e-3;
% 調用 TRAINGDM 演算法訓練 BP 網路
[net_1,tr]=train(net_1,P,T);
% 對 BP 網路進行模擬
A = sim(net_1,P);
% 計算模擬誤差
E = T - A;
MSE=mse(E)
x=[。。。]';%測試
sim(net_1,x)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
不可能啊 我2009
⑸ 用這些數據怎麼通過matlab軟體做bp神經網路預測,求大神幫忙
建立樣本。可以以前一個月、前兩個月、前三個月、前12個月、前24個月的數據作為輸入,共5個數據。輸出就是當月的價格,輸出為1個數據。按照這個原則組織樣本。
歸一化。matlab中mapminmax函數。
建立網路並訓練。newff函數和train函數。
預測。用sim函數。
你這里是要預測一段連續的時間,所以可能需要滾動式預測,即用預測出來的數據繼續進行下一次的預測。參考附件的代碼,附件是一個電力負荷預測的實例。
⑹ autobetsoft足球預測軟體為啥那麼准
很早以前就聽說autobetsoft分析很准,當時有個朋友玩競彩就是用的這個軟體。
我也看在他旁邊看他怎麼玩的,他用這個autobetsoft分析了4場比賽,結果比賽踢完真的結果跟軟體預測的一樣,我也是佩服的五體投地,後來我自己也去用了,確實不錯。
至於什麼原理,我覺得應該是數據,就是大數據那種。畢竟人家發展這么多年,我們一言兩語也說不清楚。反正東西好用就行,就算我們知道了什麼原理,我們也編不出來那個軟體。
⑺ 求MATLAB的BP神經網路預測程序
%由於數據比較大,我又懶得用歸一化,所以直接把數據降了3個數量級,
%不過我覺得應該沒問題,但用歸一化結果應該更准確些。。
%由於初始權值和閥值均是隨機給的,所以每次模擬都有點點不同,這是正常的。
p=[1183 1303 1278;1303 1278 1284;1278 1284 1187 ;...
1284 1187 1154;1187 1154 1267;1154 1267 1241;...
1267 1241 1302;1241 1302 1195;1302 1195 1256]'*0.001;
t=[ 1284 1187 1154 1267 1241 1302 1195 1256 1348]*0.001;
net=newff(minmax(p),[3,1],{'tansig','purelin'},'traingda');
net.trainParam.goal=0.001;
net.trainParam.show=20;
net.trainParam.epochs=1000;
net.trainParam.min_grad=1e-10;
net.trainParam.mc=0.95;
[net,tr]=train(net,p,t);
t1=sim(net,[1302 1195 1256]'*0.001);
t2013=t1*1000%2013 的 預測 數據
運行結果:
t2013 =
1301.9
⑻ 有什麼軟體可以實現神經網路預測
spss matlab 1stopt都是傻瓜化的智能演算法
⑼ 求一個bp神經網路預測模型的MATLAB程序
BP神經網路預測的步驟:
1、輸入和輸出數據。
2、創建網路。fitnet()
3、劃分訓練,測試和驗證數據的比例。net.divideParam.trainRatio;net.divideParam.valRatio;net.divideParam.testRatio
4、訓練網路。train()
5、根據圖表判斷擬合好壞。ploterrcorr();parcorr();plotresponse()
6、預測往後數據。net()
7、畫出預測圖。plot()
執行下列命令
BP_prediction
得到結果:
[ 2016, 14749.003045557066798210144042969]
[ 2017, 15092.847215188667178153991699219]
[ 2018, 15382.150005970150232315063476562]
[ 2019, 15398.85769711434841156005859375]
[ 2020, 15491.935150090605020523071289062]