Borrar filtros
Borrar filtros

Error using Regression​SVM.prepar​eData. anybody can help me

2 visualizaciones (últimos 30 días)
SMY
SMY el 19 de Dic. de 2017
Here I give my coding and i have error on this:
Error in newavelet (line 49) mdl = fitrsvm(xt,yt,'KernelFunction','linear','KernelScale','auto');
close all; clear variables; clc;
DT=xlsread('imf9'); N=length(DT); input_lag=2;%no. of input IN=input_lag; dt=log(DT);
%matrix lag yg digunakan utk regression XLAG = lagmatrix(dt,[0:IN]); %change matrix if input_lag change N1=length(XLAG)-IN; %length utk panjang N without NA observation F=61; %No. of forecast N2=N1-F; %No. of training
%training - use (IN+1) due to after lagmatrix N/A data for no. of inputs xt=XLAG(IN+1:N-F,2:IN+1); yt=XLAG(IN+1:N-F,1);
%validation - use (N_ORI-1) due to after log return data reduce 1 xv=XLAG(N-F+1:N,2:IN+1); yv=XLAG(N-F+1:N,1);
%original data for calculating error ytOri=DT(IN+1:N-F);%training data yvOri=DT(N-F+1:N);%validation data
%define matrix utk regression a=ones(N2,1);%training data b=ones(F,1);%validation data X=[a xt];%training data x=[b xv];%validation data
d1='db2'; Dc=3;%wavelet decomposition level
[w, w1]=waveletdwt(IN,Dc,d1,xt,xv); Z=[a w];%wavelet data utk training Z1=[b w1];%wavelet data utk validation
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx % SVM %xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
mdl = fitrsvm(xt,yt,'KernelFunction','linear','KernelScale','auto'); yts = predict(mdl,xt); yvs = predict(mdl,xv);
%transform log tourism data to tourism data transformYts=exp(yts); transformYvs=exp(yvs);
YTS=transformYts; YVS=transformYvs; M1(1)=sqrt(mse(YTS-ytOri)); M1(2)=sqrt(mse(YVS-yvOri)); M1(3)=mae(YTS-ytOri); M1(4)=mae(YVS-yvOri); M1(5)=corr(YTS,ytOri); M1(6)=corr(YVS,yvOri); %M11(5)=1-sum((y1-yt).^2)/sum((y1-mean(y1)).^2); %M11(6)=1-sum((pd2-fr).^2)/sum((fr-mean(fr)).^2);
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx % Wavelet-SVM %xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
wmdl = fitrsvm(Z,yt,'KernelFunction','linear','KernelScale','auto'); Wyts = predict(wmdl,Z); Wyvs = predict(wmdl,Z1);
%transform log tourism data to tourism data WYTS=exp(Wyts); WYVS=exp(Wyvs);
M11(1)=sqrt(mse(WYTS-ytOri));
M11(2)=sqrt(mse(WYVS-yvOri));
M11(3)=mae(WYTS-ytOri);
M11(4)=mae(WYVS-yvOri);
M11(5)=corr(WYTS,ytOri);
M11(6)=corr(WYVS,yvOri);
%M11(5)=1-sum((y1-yt).^2)/sum((y1-mean(y1)).^2);
%M11(6)=1-sum((pd2-fr).^2)/sum((fr-mean(fr)).^2);
%xxxxxxxxxxxxxxxxxxxxxxxxxxx % result & plot graph %xxxxxxxxxxxxxxxxxxxxxxxxxxx
digits(4) SVMR=sym(M1,'d') WSVMR=sym(M11,'d') g1=1:F; plot(g1,yvOri,'r',g1,WYVS,'g') % plot original data vs result from wavelet svm

Respuestas (0)

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by