x =[0.11 0.49 0.50 0.23 0.27 0.02-0.02 0.26-0.25 0.08...
0.52 0.13 -0.01 0.52 0.57 0.01 0.32 -0.15 0.45 0.07 0.66 ...
0.58 0.51 0.53 0.49 0.38 0.33 0.29 0.32 0.03 0.39];
格式長;%設置計算精度
如果length (x(:,1)) = = 1%判斷輸入矩陣,如果不是壹維列矩陣,轉置。
x = x’;
結束
n =長度(x);%取輸入數據的樣本大小
z = 0;
對於i=1:n%,計算累計值並將該值賦給矩陣be。
z=z+x(i,);
be(i,)= z;
結束
對於i=2:n%並行移動原始序列。
y(i-1,)=x(i,);
結束
對於i=1:n-1%計算數據矩陣b第壹列中的數據。
c(i,)=-0.5*(be(i,)+be(i+1,);
結束
對於j=1:n-1%計算數據矩陣b第二列中的數據。
e(j,)= 1;
結束
對於i=1:n-1%構造數據矩陣b。
B(i,1)=c(i,);
B(i,2)=e(i,);
結束
alpha = inv(B ' * B)* B ' * y;%計算參數矩陣
For i=1:n+1%計算數據的估計值的累積系列,如可預測後將n+1改為n+m+1。
ago(i,:=(x(1,:)-alpha(2,:)/alpha(1,:)*exp(-alpha(1,:)(i-1))+alpha(2,:)/alpha(1,:);
結束
var(1,)=ago(1,)
對於i=1:n%如果將N改為n+m-1,則可以預測最後m-1個值。
var(i+1,:)=ago(i+1,:)-ago(i,:);%的估計值,並計算下壹個預測值。
結束
對於i=1:n
error(i,)=var(i,)-x(i,);%計算殘差
結束
C=std(誤差)/std(x)%調用統計工具箱的標準差函數計算後驗方差c的比值。