《2022年2022年灰色预测matlab程序 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年灰色预测matlab程序 .pdf(3页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、%灰色预测 1.m,其中要修改参数x0,N,m! %原始数据 x0(k) ,包含 N 个元素x0=3 2 1 2 1 2 3 3 4 2 1 3 3 6 10; f=x0; %f 用于保留原值!%灰色预测计算模型x1=; N=15 ; m=6; %此处不需加数据n=N; %N 需修改for k=1:n if k=1 x1(k)=x0(k); else x1(k)=x1(k-1)+x0(k); end end; %计算 x1() n=n-1; B=ones(n,2); for i=1:n B(i,1)=-0.5*(x1(i)+x1(i+1); end %参数 B x0(:,1)=; Y=x0;
2、%参数 Y A=inv(B*B)*B*Y; %可知 a 和 u a=A(1); u=A(2); %模型标定求x1 n=n+1+m; %m 为向后预测的年数,需修改 ! x11(1)=f(1); for j=2:n x11(j)=(f(1)-u/a)*exp(-a*(j-1)+u/a; end %用灰色模型计算x0 x01(1)=f(1); for k=2:n x01(k)=x11(k)-x11(k-1); end %计算残差 e0(i)和相对误差t0(i) for j=1:N %N 需修改e0(j)=x01(j)-f(j); t0(j)=e0(j)/f(j); end 名师资料总结 - - -
3、精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 3 页 - - - - - - - - - %绘制预测值及原值曲线n=N; %N 需修改year1=1:n; year2=1:n+m; %m 需修改!subplot(2,1,1);plot(year1,f,-*,year2,x01,-+) xlabel(年份 ) ylabel(原值( * )及预测值( +)) title( 预测图 ) subplot(2,1,2);plot(year1,e0,*,year1,t0,+) xlabel(年份 ) yl
4、abel(残差( * )及相对误差(+)) title( 误差图 ) %判断预测精度disp(完成预测 ) a=abs(a) if a=0.3 disp(可进行中长期预测) elseif a=0.5 disp(可用于短期预测,中长期预测慎用) elseif a a;%求出离群值的位置nout = sum(outliers) % 计算离群值的个数并显示data(outliers) = ;%去除离群值data% 显示处理后数据名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 3
5、 页 - - - - - - - - - R = 2285 2510 2555 2900 2791 2839 3136 3457 3327 3540 4106 4457 4099 3485 3400 ; R1 = sort (R) ; % 对实验数据递增排序r = R1; n = length(r) ; mean1 = mean(r) ; std1 = std(r) ; c = (log(n-1.69)/2.84 + 1.22 - n/3300 ; %求肖维涅准则的系数min = mean1 - c*std1 ; % 找出具有粗大误差的数据B = find(r max) ; m2 = length(A) ; k = r(m1+1:n-m2) ; % 剔除具有粗大误差的数据mean2 = mean(k) ; %求平均值std2 = std(k) ; % 求标准误差sprintf (R=,mean2, ,std2, ) %输出结果 %输出结果名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 3 页 - - - - - - - - -
限制150内