返回信息流%武汉大学学报-信息科学版(论文)
%利用时间序列分析预报电离层TEC--陈鹏
%本文仿真该论文的图1(b)-即北纬45度,东经125度,年积日201-207,预报年积日208-208,使用精密星历数据
D0=[8.7 8.2 7.7 8.0 7.7 7.3 10.8 10 7.1 6.4 7.3 8.9 ...
8.8 8.1 8.1 8.9 7.9 8.4 10 8.2 5.4 4.7 5.7 8.1 ...
8.4 9.5 7.7 7.7 7.9 8.3 10.9 10.4 6.7 6.1 6.2 7.4 ...
7.8 8 7.9 7.4 8.4 7.6 10.3 9.8 6.0 5.8 6.3 7.8 ...
8.4 8.4 8.6 10.1 9.7 9.0 10.2 8.7 5.5 4.8 4.6 6.1 ...
8.9 8.2 7.6 7.8 7.5 7.6 9.4 8.8 5.5 5.0 5.6 6.9 ...
7.8 7.8 7.1 7.2 7.6 7.7 8.6 8.2 5.5 4.9 5.5 7.2 ];
L0=length(D0);
subplot(1,3,1)
plot(D0,'r');
grid on
title('原始电离层201-207精密星历数据曲线');
%一阶差分数据
for i=13:L0 %一阶差分数据,因为其周期是12,所以。。。
D1(i-12)=D0(i)-D0(i-12); %D1长度为1-72
end
L1=length(D1);
subplot(1,3,2);
plot(D1,'b');
grid on;
title('一阶差分电离层201-207精密星历数据,去周期性后的曲线');
%测试一阶差分数据后的均值和方差,是否满足ARMA建模要求
S1=sum(D1)/72;
LOSS1=D1(1:L1);
V1=var(LOSS1); %一阶差分数据的和与方差
%二阶差分数据
for i=2:L1 %一阶差分数据
D2(i-1)=D1(i)-D1(i-1); %D1长度为1-84
end
L2=length(D2);
subplot(1,3,3);
plot(D2,'b');
grid on;
title('二阶差分电离层201-207精密星历数据曲线');
%测试二阶差分数据后的均值和方差,是否满足ARMA建模要求
S2=sum(D2)/71; %S2=0.027
LOSS2=D2(1:L2);
V2=var(LOSS2); %V2=3.38 综合上述结果,得出结论:采用一阶差分数据建模
%二阶差分数据标准正太话
D22=(D2-S2)/sqrt(V2); %标准化
%求解自相关系数,定阶AR系数
R0=D22*D22'/72;
for i=1:10
R(i)=0;
for j=(i+1):L2
R(i)=D22(j)*D22(j-i)/(72-i)+R(i);
end
end
figure;
P=[R0 R];
P=P/R0;
u=2/sqrt(71);%u=0.2195
plot(P,'r');
grid on
title('自相关系数图');%由图可知,可能的模型为AR(5)或MA模型
%求偏自相关系数,定阶MA系数
kk(1)=P(1);
PLL1=[P(1) P(2)];
PLL2=toeplitz(PLL1);
PRR=[P(2) P(3)];
KK=inv(PLL2'*PLL2)*PLL2'*PRR';
kk(2)=KK(2); %Y-W方程求解偏相关系数 2
PLL1=[PLL1 P(3)];
PLL2=toeplitz(PLL1);
PRR=[PRR P(4)];
KK=inv(PLL2'*PLL2)*PLL2'*PRR';
kk(3)=KK(3); %Y-W方程求解偏相关系数 3
PLL1=[PLL1 P(4)];
PLL2=toeplitz(PLL1);
PRR=[PRR P(5)];
KK=inv(PLL2'*PLL2)*PLL2'*PRR';
kk(4)=KK(4); %Y-W方程求解偏相关系数 4
PLL1=[PLL1 P(5)];
PLL2=toeplitz(PLL1);
PRR=[PRR P(6)];
KK=inv(PLL2'*PLL2)*PLL2'*PRR';
kk(5)=KK(5); %Y-W方程求解偏相关系数 5
PLL1=[PLL1 P(6)];
PLL2=toeplitz(PLL1);
PRR=[PRR P(7)];
KK=inv(PLL2'*PLL2)*PLL2'*PRR';
kk(6)=KK(6); %Y-W方程求解偏相关系数 6
PLL1=[PLL1 P(7)];
PLL2=toeplitz(PLL1);
PRR=[PRR P(8)];
KK=inv(PLL2'*PLL2)*PLL2'*PRR';
kk(7)=KK(7); %Y-W方程求解偏相关系数 7
PLL1=[PLL1 P(8)];
PLL2=toeplitz(PLL1);
PRR=[PRR P(9)];
KK=inv(PLL2'*PLL2)*PLL2'*PRR';
kk(8)=KK(8); %Y-W方程求解偏相关系数 8
%绘制偏自相关曲线图
figure
plot(kk,'r');
grid on
title('偏自相关曲线图'); %定阶MA(4)
%AR(4)模型求偏相关系数
PLLl=[P(1) P(2) P(3) P(4)];
PLLl=toeplitz(PLLl);
PRRz=[ P(2) P(3) P(4) P(5)]';
KKz=inv(PLLl'*PLLl)*PLLl'*PRRz;
%预测后续84的数据,即星历208-214共计7天数数据
D222=D22(68:71);
for j=5:88
D222(j)=KKz(1)*D222(j-1)+KKz(2)*D222(j-2)+KKz(3)*D222(j-3)+KKz(4)*D222(j-4);
end
Forcast=D222(5:88);
Forcast=Forcast*V2+S2;
%反差分运算,递推预测的84个数据
for i=1:84
D1(72+i)=Forcast(i)+D1(71+i);
D0(84+i)=D1(72+i)+D0(83+i);
end
figure
plot(D0,'b');
%hold on
%plot(D0(85:168),'r');
title('预测曲线图')
注释:附件为预测曲线图,这个图是有问题的,并没有真实的预测出来,希望哪位高手可以解决下,怎么弄啊?
这是一条镜像帖。来源:北邮人论坛 / matlab / #11149同步于 2014/8/21
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖
[问题]时间序列模型预测电离层TEC浓度,代码求解?
cwhe10
2014/8/21镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。