查看: 194|回复: 4|关注: 0

[已解决] RBF预测程序错误

[复制链接]

新手

9 麦片

财富积分


050


4

主题

11

帖子

0

最佳答案
求助,此RBF程序运行错误,不知道该怎么改,新手求指导,谢谢大家。
%用RBF网络来预测股票走势
clc
clear
input=[ 0.8720  0.8555  0.7785 ;
0.9279  0.8605  0.8101 ;  
0.9685  0.8844  0.8568 ;  
0.9457  0.9394  0.8670 ;
0.9684  0.9945  0.8660 ;
0.9724  0.9934  0.9157 ;
0.9632  1.0000  0.9097 ;
0.9715  0.9773  0.9228 ;
0.9770  0.9836  0.9477 ;
0.9927  0.9899  0.9618 ;
0.9648  0.9565  0.9535 ;  
0.9290  0.9471  0.9278 ;  
0.9235  0.8882  0.8897 ;  
0.9313  0.9092  0.9788 ;
0.9075  0.9313  0.9931 ;
0.8875  0.8787  0.9898 ;
0.8542  0.8995  1.0000 ;
0.8698  0.8232  0.9338 ;
0.8437  0.7970  0.9152 ;  
0.8662  0.7975  0.9809 ;
0.8238  0.8195  0.9949 ;  
0.7908  0.7764  0.9227 ;  
0.7848  0.7548  0.9097 ;  
0.7228  0.7548  0.9057 ;
0.7041  0.7285  0.8541 ;
0.6804  0.6989  0.8299 ;  
0.7101  0.6630  0.7941 ;
0.6828  0.7077  0.7990 ;  
0.6521  0.7287  0.7909 ;  
0.6846  0.6633  0.7557 ;  
0.7299  0.7116  0.7625 ;
0.7486  0.7602  0.9047 ;  
0.7040  0.8018  0.8708 ;  
0.6655  0.7720  0.8395 ;  
0.7454  0.7723  0.8415 ;  
0.6925  0.7592  0.7800 ;  
0.7719  0.7128  0.8142 ;  
0.7557  0.6966  0.8325 ;  
0.7510  0.6743  0.7845 ;  
0.7270  0.6415  0.8128 ;
0.7160  0.6415  0.7707 ;  
0.7152  0.6509  0.7587 ;  
0.7685  0.6445  0.7567 ;  
0.7335  0.6451  0.7342 ;  
0.6756  0.6029  0.7270 ;  
0.7324  0.6238  0.7389 ;  
0.6898  0.5692  0.6972 ;  
0.7168  0.5294  0.6785 ;
0.6528  0.4452  0.5930 ;
0.6456  0.4021  0.5771 ;
0.6116  0.4951  0.6644 ;
0.6682  0.4744  0.6330 ;  
0.4582  0.3387  0.4322 ;
0.3349  0.2328  0.2624 ;  
0.1930  0.1856  0.1216 ;   
0.3446  0.3370  0.2870 ;
0.2861  0.2141  0.1473 ;  
0.3350  0.2169  0.2248 ;
0.2050  0.1463  0.1824 ;
0.1802  0.0237  0.0329 ;  
0.2997  0.0221  0.0348 ;  
0.3216  0.1509  0.2282 ;
0.4000  0.1549  0.2402 ;
0.2361  0.1022  0.2097 ;  
0.2669  0.1882  0.2354 ;  
0.1633  0.1219  0.1810 ;
0.2013  0.0924  0.1479 ;
0.1883  0.0492  0.1289 ;
0.0345  0.0000  0.0406 ;
0.2415  0.0795  0.1152 ;  
0.2596  0.1181  0.1550 ;
0.1873  0.0823  0.0633 ;
0.1798  0.0900  0.0718 ;  
0.2781  0.2041  0.1291 ;
0.2477  0.2410  0.1759 ;  
0.2243  0.2571  0.1159 ;
0.2764  0.2104  0.1629 ;  
0.2201  0.2377  0.1769 ;  
0.2051  0.1726  0.1856 ;
0.1960  0.1401  0.1557 ;
0.2313  0.1440  0.2042 ;
0.2924  0.2355  0.2354 ;
0.2444  0.1573  0.2064 ;  
0.1487  0.1045  0.1445 ;
0.1630  0.0711  0.1196 ;
0.1045  0.0491  0.0919 ;
0.1351  0.0267  0.0899 ;
0.1023  0.0418  0.0607 ;
0.1058  0.0569  0.0881 ;
0.1629  0.1008  0.0935 ;
0.0938  0.1176  0.0756 ;  
0.1016  0.0690  0.0409 ;  
0.0351  0.0533  0.0180 ;  
0.0000  0.0297  0.0000];
output=[0.8004 0.7979 0.6987 0.7255 0.9446 0.8901 1.0000 0.9817 0.9820 0.9653 0.8742 0.8956 0.8822 0.8692 0.8822 0.8373 0.8184 0.6879 0.6305 0.5881 0.6216 0.5645 0.5519 0.6017 0.5188 0.4757 0.5584 0.5886 0.5901 0.5031 0.5354 0.5736 0.6059 0.6022 0.5689 0.5211 0.4526 0.3778 0.3677 0.3087 0.4111 0.3239 0.3239 0.3011 0.2873 0.2199 0.2235 0.1878 0.1409 0.0952 0.2568 0.2955 0.2351 0.1941 0.1479 0.1564 0.1023 0.1346 0.0952 0.0669 0.0328 0.0286 0.0000 0.0055 0.0846 0.0767 0.1408 0.0985 0.1395 0.0962 0.0828 0.0921 0.1489 0.1933 0.1875 0.1246 0.1351 0.1556 0.1415 0.0791 0.0637 0.1160 0.0863 0.1118 0.1247 0.1447 0.1501 0.1535 0.2019 0.2391 0.2811 0.2725 0.2533 0.2793 ]';
input_test=[0.8826  0.8622  0.7882 ;
0.9281  0.8888  0.8431 ;
0.9623  0.9892  0.9470 ;
0.9653  0.9850  0.8735 ;
0.9937  0.9821  0.9665 ;
1.0000  0.9990  0.9690 ;
0.9247  0.9781  0.9204 ;
0.9033  0.9226  0.9326 ;
0.9327  0.8981  0.9464 ;
0.8897  0.8975  0.9604 ;
0.9253  0.8885  0.9791 ;
0.8335  0.8196  0.9580;  
0.8470  0.7996  0.9801 ;
0.8298  0.7802  0.9471;  
0.7855  0.7647  0.9068 ;
0.6933  0.6647  0.8269 ;
0.6833  0.7145  0.8404;     
0.6601  0.7346  0.7951  ;   
0.7247  0.7012  0.7736  ;  
0.7078  0.7760  0.8368  ;   
0.7125  0.7401  0.8101  ;   
0.6999  0.7851  0.8029  ;   
0.7510  0.7172  0.7775  ;   
0.7185  0.7287  0.8072  ;   
0.7364  0.6684  0.7940  ;   
0.7587  0.6586  0.7916  ;   
0.7039  0.6083  0.7704  ;   
0.7364  0.6141  0.7457 ;   
0.6814  0.5667  0.6781  ;   
0.7189  0.5189  0.6627  ];
output_test=[0.8264 0.7632  0.9426 0.9331 0.9719 0.9555 0.9250 0.8892  0.8532 0.8708 0.8281 0.6639  0.5473 0.5246 0.6033  0.5019 0.5466  0.5789  0.4921  0.5832 0.5757 0.5513 0.4954 0.5139  0.3723 0.3745 0.3211  0.2869 0.2496 0.1874 ]';
%load data input output input_test output_test;
%权值及参数的初始化
M=5; %输入节点个数
N=1; %输出节点个数
n=20; %隐形节点个数
b = 1.5*ones(n,1);
c = rands(M,n);
w = 2*rands(n,N);
%给定进化参数
alfa = 0.002;
xite = 0.02;
w_1 = w;w_2 = w_1;
c_1 = c;c_2 = c_1;
b_1 = b;b_2 = b_1;
d_w=0*w;
d_b=0*b;
y_1 = 0;
[aa,bb]=size(input);
kk=1;
for ii=1:64
for k = 1:1:aa
    %取一对输入输出
    x=input(k,:);
    y=output(k,:);
   
    for j = 1:1:n
        h(j) = exp(-norm(x' - c(:,j))^2/(2*b(j)*b(j)));
    end
    ym(k) = w'*h';    %神经网络预测输出
   
   
    e(k) = y - ym(k);    %输出误差
    %权值修正
    for j = 1:1:n
        d_w(j) = xite*e(k)*h(j);
        d_b(j) = xite*e(k)*w(j)*h(j)*(b(j)^-3)*norm(x'-c(:,j))^2;
        for i = 1:1:M
            d_c(i,j) = xite*e(k)*w(j)*h(j)*(x(i) - c(i,j))*(b(j)^-2);
        end
    end
   
    w = w_1 + d_w + alfa*(w_1 - w_2);
    b = b_1 + d_b + alfa*(b_1 - b_2);
    c = c_1 + d_c + alfa*(c_1 - c_2);
   
    y_1 = y;
    w_2 = w_1;
    w_1 = w;
   
    c_2 = c_1;
    c_1 = c;
   
    b_2 = b_1;
    b_1 = b;
    kk=kk+1;
end
end
[aa,bb]=size(input_test);
%RBF网络预测输出
for k=1:aa
    x=input_test(k,:);
    for j = 1:1:n
        h(j) = exp(-norm(x' - c(:,j))^2/(2*b(j)*b(j)));
    end
    yy(k) = w'*h';    %预测的输出
end
error=output_test'-yy;
figure(1)
plot(output_test,'r')
hold on
plot(yy)
title('RBF网络预测股票走势行情');
legend('实际股票走势','预测股票走势');
axis([0,30,0,1.5])
figure(2)
plot(error)
title('预测值和实际值的误差');
xlabel('迭代次数');
ylabel('误差')

论坛优秀回答者

中级

675 麦片

财富积分


5001500


0

主题

330

帖子

59

最佳答案
  • 关注者: 13
发表于 2019-11-16 18:27:36 | 显示全部楼层
问题出在输入节点数不对,输入节点数应等于输入向量的维数,在该题中为3,即
M=3; %输入节点个数
可出图
QQ图片20191116182623.png

新手

9 麦片

财富积分


050


4

主题

11

帖子

0

最佳答案
 楼主| 发表于 2019-11-16 18:56:49 | 显示全部楼层
20141303 发表于 2019-11-16 18:27
问题出在输入节点数不对,输入节点数应等于输入向量的维数,在该题中为3,即
M=3; %输入节点个数
可出图 ...

谢谢亲:hug::hug::hug:

论坛优秀回答者

中级

675 麦片

财富积分


5001500


0

主题

330

帖子

59

最佳答案
  • 关注者: 13
发表于 2019-11-16 18:57:59 | 显示全部楼层 |此回复为最佳答案

如果有所帮助,可以帮选个最佳答案吗

新手

9 麦片

财富积分


050


4

主题

11

帖子

0

最佳答案
 楼主| 发表于 2019-11-16 19:19:27 | 显示全部楼层
20141303 发表于 2019-11-16 18:57
如果有所帮助,可以帮选个最佳答案吗

好的,我试一下哈,我才注册这个论坛没多久,不是太会
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

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