声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1698|回复: 0

[分形与混沌] 预测代码的优化问题

[复制链接]
发表于 2014-7-5 17:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
以下是用支持向量机预测混沌时间序列的一个代码,可是预测时间要好长,上午10:40运行,到下午16:55还是没有出结果,大家看下,可否帮忙优化下?代码如下:
  1. clc;
  2. clear all;

  3. load data20.txt;
  4. [nrow,ncolumn]=size(data20);
  5. x=zeros(nrow,3);
  6. tao=24*6;
  7. for i=1:nrow
  8.     x(i,1)=data20(i);   
  9.     if mod(i,tao)==0
  10.         x(i,2)=fix(i/tao);
  11.         x(i,3)=24*6;
  12.     else
  13.         x(i,3)=mod(i,tao);
  14.         x(i,2)=fix(i/tao)+1;
  15.     end
  16. end
  17. tau=12;
  18. m_demension=14;
  19. % cur_day=30;
  20. % datanum_day=144;
  21. %preday_index=2;
  22. p=3;
  23. cur_index=2736;%x(t)中的t
  24. n_used_datset=cur_index +p;
  25. n_record=cur_index - (m_demension -1)*tau;


  26. for i=1:n_record
  27.     for j=1:m_demension
  28.         row_t_index=cur_index -(i -1);
  29.         jindex=row_t_index-(m_demension -j)*tau;
  30.         x_jihe(2580-(i-1),j)=x(jindex,1);
  31.     end
  32.     kk=row_t_index + p;
  33.     y_jihe(2580-(i-1),1)=x(kk,1);
  34. end
  35. x_train=x_jihe(1:(n_record-1),:);
  36. y_train=y_jihe(1:(n_record-1),:);
  37. x_fina= x_jihe(n_record,:);
  38. y_fina= y_jihe(n_record,:);
  39. %%%%yuce
  40. y_pre_test=0;
  41. e=0;

  42. gam=10;
  43. sig2=2;
  44. [gam0,sig20]=bay_initlssvm({x_train,y_train,'f',gam,sig2,'RBF_kernel'});
  45. [model,gamopt]=bay_optimize({x_train,y_train,'f',gam0,sig20,'RBF_kernel','preprocess'},2);
  46. [cost_l3,sig2opt]=bay_optimize({x_train,y_train,'f',gamopt,sig20,'RBF_kernel','preprocess'},3);
  47. gamopt
  48. sig2opt

  49. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  50. x_test=x_fina;
  51. y_test=y_fina;
  52. %%%%%%%%%%%%%%%%%%%%
  53. type = 'function approximation';%这个引号里面的内容说明了用于回归运算,还有另一种查手册把。
  54.    [alpha,b] = trainlssvm({x_train,y_train,type,gamopt,sig2opt,'RBF_kernel'});
  55.     x_single_test=x_fina;
  56.     y_pre_test= simlssvm({x_train,y_train,type,gamopt,sig2opt,'RBF_kernel','preprocess'},{alpha,b},x_single_test);
  57.     actal=y_pre_test;
  58.     %fe(i)=e(i)/y_test_fgyh*100;
  59. % FCaculate=max(e);
  60. % Femain=sum(abs(fe))/31
  61. %%%%%1—————输出求得的极值
  62. % plot(1:max_iter,actal,'-')
  63. % hold on
  64. % plot(1:max_iter,predict_load,'-.d')
  65.    
  66.    
复制代码
PS:x_jihe为2580x14的矩阵;y_jihe为2580x1的矩阵。谢谢大家了!急求
回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-1 08:03 , Processed in 0.048708 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表