當前位置:編程學習大全網 - 網站源碼 - Matlab中libsvm回歸怎麽做時間序列的單步和多步預測

Matlab中libsvm回歸怎麽做時間序列的單步和多步預測

您好,很高興為您解答。

a(1)=0;

for?i=2:220

a(i)=0.6*a(i-1)+randn;

end

train_t?=?1:200;

train?=?a(train_t);

train_t?=?train_t';

train?=?train';

test_t?=?1:203;

test=a(test_t);

test_t?=?test_t';

test?=?test';

[bestmse,bestc,bestg]?=?SVMcgForRegress(train,train_t,-3,11,-7,1,3,0.5,0.5,0.1);

cmd?=?['-c?',num2str(bestc),'?-g?',num2str(bestg),'?-p?0.01?-s?3'];

model?=?svmtrain(train,train_t,cmd);

[trainpre,trainmse]?=?svmpredict(train,train_t,model);

figure;

hold?on;

plot(train);

plot(trainpre,'r');

title('原來的訓練數據的擬合1-200');

legend('原來的訓練數據','訓練數據預測擬合數據');

hold?off

[testpre,testmse]?=?svmpredict(test,test_t,model);

figure;

hold?on;

plot(test);

plot(testpre,'r');

title('測試數據的預測1-203');

legend('測試數據','測試數據預測擬合數據');

hold?off

如若滿意,請點擊右側采納答案,如若還有問題,請點擊追問

希望我的回答對您有所幫助,望采納!

~ O(∩_∩)O~

  • 上一篇:靈動長春小程序在哪裏修改密碼
  • 下一篇:微信公眾號元寶潮盒是真的麽
  • copyright 2024編程學習大全網