Matlab 구현 시간 시퀀스 예측 분류 인 스 턴 스 코드

Matlab 는 2010 b 버 전 이후 신경 망 공구 상자 가 7.0 으로 업 그 레이 드 돼 기능 이 크게 강화 됐다.이전 버 전에 서 시간 예측 을 하 는 것 은 비교적 번 거 로 운 작업 이 었 다.MathWorks 는 시간 서열 예측 에 대해 상세 하 게 해결 하여 모델 을 뛰 는 것 이 매우 간편 했다.
다음은 하나의 예 를 통 해 Matlab 에서 시간 서열 예측 을 실현 하 는 것 을 보 여 준다.
1.데이터 준비
극 객 적 인 여름 선풍기 의 체온 변화
시간.
풍속
온도.
0
1
37.21405
0.12457
1.01
37.26016
0.24915
1.02
37.26324
0.37373
1.03
37.31242
0.4983
1.04
37.3155
0.62258
1.05
37.36468
0.74745
1.06
37.36776
0.87203
1.07
37.41694
0.99661
1.08
37.42002



%        Matlab 
rawData=xlsread('time_series_data.xlsx','sheet1','A2:C52);
%      ,     ,     
% yt   
y_t=rawData(:,3);
% xt   
x_t=rawData(:,2);

2.시간 서열 예측 분류
시간 서열 예측 은 세 가지 로 나 뉜 다.
1.입력 은 xt 이 고 출력 은 yt 입 니 다.
즉,과거의 입력 xt 도 있 고 과거의 출력 yt 도 있 습 니 다.또한 현재 의 출력 은 과거의 입력 에 의존 할 뿐만 아니 라 과거의 출력 에 도 의존 합 니 다.
과거 시간 대의 온도 변 화 는 미래의 어느 시간 온도 변 화 를 예측 하 는데 이런 상황 은 바로 과거의 수출 만 있 는 것 이다.

%   x_t -       
%   y_t -       

X = tonndata(x_t,false,false);
T = tonndata(y_t,false,false);

%       
% 'trainlm'     
% 'trainbr'    ,              
% 'trainscg'       。        
trainFcn = 'trainlm';  % Levenberg-Marquardt    

%             
feedbackDelays = 1:6;
hiddenLayerSize = 20;
net = narnet(feedbackDelays,hiddenLayerSize,'open',trainFcn);

%           
% PREPARETS               
%         ,           
%   PREPARETS               ,             
%                
[x,xi,ai,t] = preparets(net,{},{},T);

%     ,  ,     
net.divideParam.trainRatio = 70/100;
net.divideParam.valRatio = 15/100;
net.divideParam.testRatio = 15/100;

%          
[net,tr] = train(net,x,t,xi,ai);

%       
y = net(x,xi,ai);
e = gsubtract(t,y);
performance = perform(net,t,y)

%       
view(net)

% Plots
% Uncomment these lines to enable various plots.
%figure, plotperform(tr)
%figure, plottrainstate(tr)
%figure, ploterrhist(e)
%figure, plotregression(t,y)
%figure, plotresponse(t,y)
%figure, ploterrcorr(e)
%figure, plotinerrcorr(x,e)

%       
%            
% CLOSELOOP              
%       
nets = removedelay(net);
nets.name = [net.name ' - Predict One Step Ahead'];
view(netc)
[xs,xis,ais,ts] = preparets(nets,X,{},T);
ys = nets(xs,xis,ais);
stepAheadPerformance = perform(nets,ts,ys)

2.x 값 이 있 고 y 값 이 있 음:NARX
과거 출력 만
만약 환경 에 선풍 기 를 하나 더 넣 으 면 이때 풍속 이 생 겼 고 과거 에는 풍속 이 바 뀌 었 으 며 온도 의 변화 에 도 영향 을 주 었 다.
Matlab 는 현재 시간 시퀀스 예측 도구 상 자 를 제공 합 니 다.그래 픽 인터페이스 에서 참조 선택 을 할 수 있 습 니 다.명령 을 사용 합 니 다ntstool시간 시퀀스 예측 도구 상 자 를 엽 니 다.
주식 과 유사 한 모델 은 오전 9 시 30 분부 터 11 시 30 분 까지 의 주식 시세 만 알 고 11 시 30 분 이후 의 주식 시 세 를 예측 하 며 어떠한 수입 도 고려 하지 않 는 다.
(1)모델 유형 선택
tool-001
(2)출력 선택,y 만t
tool-002
(3)70%를 훈련 데이터 로 선택 하고 15%를 검증 용 으로 사용 하 며 15%는 테스트 용 으로 사용한다.
tool-003
(4)delay 선택
tool-004
(5)훈련 시작
tool-005
(6)매개 변수 획득
tool-006
tool-007
(7)신경 망 내 보 내기 코드
tool-008
3.x 없 음,y 값:NAR
선형 입 출력 이 없 으 면 이런 경 우 는 드물다
3.총화
Matlab 는 2010 b 버 전 이후 그래 픽 인터페이스 로 네트워크 조 사 를 훈련 시 켰 고 생 성 된 코드 는 손 으로 두 드 리 는 기능 과 다 름 이 없 으 며 Matlab 시간 서열 예측 도구 상자 가 실 용적 이 고 사용 하기 쉽다.
여기 서 Matlab 실현 시간 서열 예측 분류 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 Matlab 시간 서열 예측 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기