時間序列ARIMA模型預測方法,及相關函數使用方法介紹


一、概述

首先引入Daniel檢驗的概念,即檢測序列平穩性的一種方法,它是建立在Spearman相關系數(一種秩相關系數)的基礎上的。

對於二維總體(X,Y)的樣本觀測數據,其中各分量..的秩統計量為R1、R2…Rn,y1,y2..yn的秩統計量為S1、S2…Sn。

推廣到時間序列預測樣本,Spearman的相關系數為:

 

構造統計量:

 

對於給定的alpha,通過t分布表可以查得的值,如果統計量大於查表的值,則接受檢驗假設H0: =0,即序列平穩,可以准確預測,否則拒絕H0,序列不平穩。

二、時間序列預測的優缺點分析

(一)優點:

根據過去的事物發展規律預測將來,對於波動不大的事物變化,有較為精確的預測性。適合用於預測經濟類等波動不明顯的問題。

(二)缺點:

如果事物的發展規律波動較大,Spearman相關系數的假設檢驗不通過,T檢驗值大於,序列不平穩,預測值出現較大誤差。

 

三、ARIMA時間序列預測實例:

 

MATLAB代碼:

 1 %% 時間序列預測法
 2 clc,clear all;
 3 a = [15.2 15.9 18.7 22.4 26.9 28.3 30.5 33.8 40.4 50.7 58  66.7 81.2 83.4];
 4 Rt = tiedrank(a)    %求原始序列的秩統計量、(即將原始數據(因變量)從小到大排列)
 5 n = length(a);
 6 t = 1:n;
 7 disp('Qs:')
 8 Qs = 1-6/(n*(n^2-1))*sum((t-Rt).^2)     %di=Ri(自變量的秩統計量)-Si(因變量的秩統計量),即為di=t-Rt
 9 T = Qs*sqrt(n-2)/sqrt(1-Qs.^2);
10 t_0 = tinv(0.975,n-2)   %計算alpha/2的值
11 b = diff(a)             %求原始序列的一階差分
12 m = ar(b,2,'ls')        %估計標量時間序列的AR模型參數,option為最小二乘法
13 %僅用於標量時間序列。對於多變量數據,請使用arx。
14 disp('原始數據的預測值(第二個參數必須為列向量):')
15 bhat = predict(m,b')
16 disp('計算一個預測值(第二個參數必須為列向量):')
17 bhat(end+1) = forecast(m,b',1)
18 ahat = [a(1),a+bhat']               %原始數據預測值
19 delta = abs((ahat(1:end-1)-a)./a)   %相對誤差

 四、模型推廣及復用

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM