導航:首頁 > 編程大全 > matlab神經網路預測模型

matlab神經網路預測模型

發布時間:2024-04-12 03:27:31

Ⅰ matlab 神經網路模型 用一組數據預測另一組

matlab 神經網中纖絡模型是可以 用一組數據預測另一組的。其預測過程是笑棚,先訓練,後預測。
由於沒賣升仿有具體的數據,無法對其操作說明。

Ⅱ 如何使用MATLAB建立GM(1,n)模型,用於波動數據預測

從圖形結果來看鉛穗,伏激汪用GM(1,1)灰色模型進行波動數據預測,誤差偏大,其預測性是不可靠。建議採用BP神經網路來預測,即通過已知5個數據訓練,缺仔來預測10個數據 。其方法過程:

1、導入數據

2、產生訓練集和測試集

3、數據歸一化處理

4、創建/訓練BP神經網路及模擬測試

5、性能評價(相對誤差,決定系數,極差)

6、繪圖

按照上述方法進行編程,可以得到如下結果。

Ⅲ 求預測一組數據的bp神經網路模型的matlab代碼

用matlab求預測一組數據的bp神經網路模型,可以分
1、給定已經數據,作為一個原始序列;
2、設定自回歸階數,一般2~3,太高不一定好;
3、設定預測某一時間段
4、設定預測步數
5、用BP自定義函數進行預測
6、根據預測值,用plot函數繪制預測數據走勢圖
其主要實現代碼如下:
clc
% x為原始序列(行向量)
x=[208.72 205.69 231.5 242.78 235.64 218.41];
%x=[101.4 101.4 101.9 102.4 101.9 102.9];
%x=[140 137 112 125 213 437.43];

t=1:length(x);
% 自回歸階數
lag=3;
%預測某一時間段
t1=t(end)+1:t(end)+5;
%預測步數為fn
fn=length(t1);
[f_out,iinput]=BP(x,lag,fn);
P=vpa(f_out,5);
A=[t1' P'];
disp('預測值')
disp(A)
% 畫出預測圖
figure(1),plot(t,iinput,'bo-'),hold on
plot(t(end):t1(end),[iinput(end),f_out],'rp-'),grid on
title('BP神經網路預測某地鐵線路客流量')
xlabel('月號'),ylabel('客流量(百萬)');
運行結果:

Ⅳ 如何利用matlab進行神經網路預測

matlab 帶有神經網路工具箱,可直接調用,建議找本書看看,或者MATLAB論壇找例子。回
核心調用語句如下:答
%數據輸入

%選連樣本輸入輸出數據歸一化
[inputn,inputps]=mapminmax(input_train);
[outputn,outputps]=mapminmax(output_train);
%% BP網路訓練
% %初始化網路結構
net=newff(inputn,outputn,[8 8]);
net.trainParam.epochs=100;
net.trainParam.lr=0.01;
net.trainParam.goal=0.01;
%網路訓練
net=train(net,inputn,outputn);
%% BP網路預測
%預測數據歸一化
inputn_test=mapminmax('apply',input_test,inputps);
%網路預測輸出
an=sim(net,inputn_test);
%網路輸出反歸一化
BPoutput=mapminmax('reverse',an,outputps);
%% 結果分析

Ⅳ 用Matlab編程BP神經網路進行預測

原理復就是:建立網路-數據歸一化-訓練制-預測-數據反歸一化。附件是電力負荷預測的例子,可以參考。


BP(Back Propagation)神經網路是1986年由Rumelhart和McCelland為首的科學家小組提出,是一種按誤差逆傳播演算法訓練的多層前饋網路,是目前應用最廣泛的神經網路模型之一。BP網路能學習和存貯大量的輸入-輸出模式映射關系,而無需事前揭示描述這種映射關系的數學方程。它的學習規則是使用最速下降法,通過反向傳播來不斷調整網路的權值和閾值,使網路的誤差平方和最小。BP神經網路模型拓撲結構包括輸入層(input)、隱層(hidden layer)和輸出層(output layer)。

Ⅵ matlab中用RBF神經網路做預測的代碼怎麼寫

clc;

clearall;

closeall;

%%----

c_1=[00];

c_2=[11];

c_3=[01];

c_4=[10];

n_L1=20;%numberoflabel1

n_L2=20;%numberoflabel2

A=zeros(n_L1*2,3);

A(:,3)=1;

B=zeros(n_L2*2,3);

B(:,3)=0;

%createrandompoints

fori=1:n_L1

A(i,1:2)=c_1+rand(1,2)/2;

A(i+n_L1,1:2)=c_2+rand(1,2)/2;

end

fori=1:n_L2

B(i,1:2)=c_3+rand(1,2)/2;

B(i+n_L2,1:2)=c_4+rand(1,2)/2;

end

%showpoints

scatter(A(:,1),A(:,2),[],'r');

holdon

scatter(B(:,1),B(:,2),[],'g');

X=[A;B];

data=X(:,1:2);

label=X(:,3);

%%Usingkmeanstofindcintervector

n_center_vec=10;

rng(1);

[idx,C]=kmeans(data,n_center_vec);

holdon

scatter(C(:,1),C(:,2),'b','LineWidth',2);

%%Calulatesigma

n_data=size(X,1);

%calculateK

K=zeros(n_center_vec,1);

fori=1:n_center_vec

K(i)=numel(find(idx==i));

end

%

%thencalucatesigma

sigma=zeros(n_center_vec,1);

fori=1:n_center_vec

[n,d]=knnsearch(data,C(i,:),'k',K(i));

L2=(bsxfun(@minus,data(n,:),C(i,:)).^2);

L2=sum(L2(:));

sigma(i)=sqrt(1/K(i)*L2);

end

%%Calutateweights

%kernelmatrix

k_mat=zeros(n_data,n_center_vec);

fori=1:n_center_vec

r=bsxfun(@minus,data,C(i,:)).^2;

r=sum(r,2);

k_mat(:,i)=exp((-r.^2)/(2*sigma(i)^2));

end

W=pinv(k_mat'*k_mat)*k_mat'*label;

y=k_mat*W;

%y(y>=0.5)=1;

%y(y<0.5)=0;

%%

[W1,sigma1,C1]=RBF_training(data,label,10);

y1=RBF_predict(data,W,sigma,C1);

[W2,sigma2,C2]=lazyRBF_training(data,label,2);

y2=RBF_predict(data,W2,sigma2,C2);

(6)matlab神經網路預測模型擴展閱讀

matlab的特點

1、具有完備的圖形處理功能,實現計算結果和編程的可視化;

2、友好的用戶界面及接近數學表達式的自然化語言,使學者易於學習和掌握;

3、功能豐富的應用工具箱(如信號處理工具箱、通信工具箱等) ,為用戶提供了大量方便實用的處理工具。

Ⅶ matlab怎麼利用神經網路做預測

利用matlab做神經網路預測,可按下列步驟進行:

1、提供原始數據

2、訓練數據預測數據提取及歸一化

3、BP網路訓練

4、BP網路預測

5、結果分析

Ⅷ (急)如何用MATLAB建立ANN(人工神經網路模型)

問題描述:
有兩個自變數,一個因變數,10個樣本(這里就取少一點好了)。用實際問題來表述,假設一個股票,開盤價 x1,收盤價 x2,第二天的股價 y。 那用神經網路來預測的目的是,根據10天的開盤價和收盤價,來預測未來股價。顯然,這里的y與x1和x2相關,我們要訓練一個網路(net)來讓他盡可能的預測一個y

MATLAB程序

clc
clear
load data input output
%input就是包含了x1和x2 10天數據的矩陣,說白了就是20個數的矩陣。output是y的一個向量,%10個數
%需要自己找一些數據賦值給input和ouput

P=input;
T=output;
%這里P和T必須是 x1 x2和y的行向量組合。對於P,x1是行向量,x2是行向量。P=[x1;x2]; T=y. y是行向量

Epochs=5000;
NodeNum=12; TypeNum=1;
TF1='logsig'; TF2='purelin';
%設置一些初始參數,Epochs是迭代上限次數,NodeNum是第一個隱藏層的神經元個數,%TypeNum是幾層。TF1和TF2分別定義了幾個傳遞函數。

net=newff(minmax(P),[NodeNum TypeNum],{TF1 TF2},'trainlm');
%建立一個神經網路,訓練輸入和輸出數據都有了,設置隱藏層的個數。

net.trainParam.epochs=Epochs;
net.trainParam.goal=1e-4;
net.trainParam.min_grad=1e-4;
net.trainParam.show=200;
net.trainParam.time=inf;
%設置一些訓練時的參數,第一個是每次訓練的最大迭代次數;

net=train(net,P,T);
%開始網路訓練

P_test=P;
B_test=T;
%就用原始的數據進行測試

X=sim(net,P_test);
%測試

Erro=abs(B_test-X);
sigma=std(Erro);
%計算出預測值和實際值的誤差,求出方差。將來方差可以用來隨機調整

Ⅸ 求一個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]

閱讀全文

與matlab神經網路預測模型相關的資料

熱點內容
系統備份鏡像文件備份放到哪裡 瀏覽:207
intelx58超頻教程 瀏覽:590
在驅動器查找文件在哪裡 瀏覽:15
pdf文件轉換word時亂碼 瀏覽:474
紅色警戒3沒有mod文件夾 瀏覽:587
企業服務代辦平台App有哪些 瀏覽:103
桌面一個文件夾打不開 瀏覽:503
js設定日期 瀏覽:893
qq如何文件 瀏覽:159
win10游戲模式在那裡 瀏覽:60
烏蘇里船歌女聲版本 瀏覽:942
數控銑t型槽怎麼編程 瀏覽:36
我的世界win10合成表 瀏覽:410
ai怎麼導小文件pdf 瀏覽:345
多益網路怎麼通過 瀏覽:350
編程scratch軟體怎麼下載 瀏覽:595
json事件都有那些 瀏覽:566
excel宏編程如何修改內容 瀏覽:533
微信仿款車 瀏覽:350
oracle備份壓縮文件 瀏覽:898

友情鏈接