%Store oil prices in oil(81,1) using import data %Autoregressive order 1 [para,conf]=regress(oil(2:41),[ones(40,1) oil(1:40)]) a=para(2);b=para(1);p=zeros(81,0); SE=0.0; %Square Error for i=46:81 p(i,1)=oil(i-5); for j=1:5 p(i,1)=a*p(i,1)+b; end SE=SE+(p(i,1)-oil(i))^2; end SE hold off; plot(p(46:81),'.-r'); hold on; plot(oil(46:81)); %Autoregressive order 2 [para,conf]=regress(oil(3:41),[ones(39,1) oil(2:40) oil(1:39)]) a=para(2:3);b=para(1);p=zeros(81,0); F=[a';1 0];b=[b;0];R=[1 0;0 1];K=zeros(2,1); for i=0:4 K=K+R*b; R=R*F; end R=R*F; SE=0.0; %Square Error for i=46:81 yn=[oil(i-5);oil(i-6)]; p(i,1)=K(1,1)+[1 0]*R*yn; SE=SE+(p(i,1)-oil(i))^2; end SE hold on; plot(p(46:81),'.-g'); %Autoregressive order 3 [para,conf]=regress(oil(4:41),[ones(38,1) oil(3:40) oil(2:39) oil(1:38)]) a=para(2:4);b=para(1);p=zeros(81,0); F=[a';eye(2) zeros(2,1)];b=[b;0;0];R=eye(3);K=zeros(3,1); for i=0:4 K=K+R*b; R=R*F; end R=R*F; SE=0.0; %Square Error for i=46:81 yn=[oil(i-5);oil(i-6);oil(i-7)]; p(i,1)=K(1,1)+[1 0 0]*R*yn; SE=SE+(p(i,1)-oil(i))^2; end SE hold on; plot(p(46:81),'.-b');