怎樣用matlab做時間序列平穩性檢驗

時間 2021-05-31 22:22:22

1樓:

用matlab做時間序列平穩性檢驗需要作圖、擬合,具體說明如下所示:

根據動態資料作相關圖,進行相關分析,求自相關函式。相關圖能顯示出變化的趨勢和週期,並能發現跳點和拐點。如果跳點是正確的觀測值,在建模時應考慮進去,如果是反常現象,則應把跳點調整到期望值。

辨識合適的隨機模型,進行曲線擬合,用通用隨機模型去擬合時間序列的觀測資料。對於短的或簡單的時間序列,可用趨勢模型和季節模型加上誤差來進行擬合。對於平穩時間序列,可用通用arima模型及其特殊情況的自迴歸模型、滑動平均模型或組合-arima模型等來進行擬合。

2樓:匿名使用者

另外對於平穩時間序列有三大建模方法:

1、box-jenkins建模方法

2、pandit-wu建模方法

3、長自迴歸、白噪化建模方法

一般用box-jenkins建模方法,但pandit-wu建模方法更簡單。

把資料轉化為時間序列資料在估計,函式為y=iddata(x)

再給你舉個例子(不是很嚴格);

x=[2;2.5]

for k=1:198

x(k+2)=0.7*x(k+1)+0.2*x(k)+3*randn(1,1);

endclear k

plot(x)

另外matlab有平穩檢驗的函式。函式說明如下:

dfardtest augmented dickey-fuller unit root

test for ar model with drift

dfartest augmented dickey-fuller unit root

test for zero-drift ar model

dftstest augmented dickey-fuller unit root

test for trend-stationary ar model

ppardtest phillips-perron unit root test for

ar(1) model with drift

ppartest run phillips-perron unit root test

for zero-drift ar(1) model

pptstest phillips-perron unit root test for

trend-stationary ar(1) model

實際上時間序列x(t)可能有趨勢因素,有季節因素,有異常因素,有異方差情形

如有趨勢因素,要得到平穩的序列有如下方法

box-jenkins建模方法是差分,再用adf檢驗,不行就再差分,再用adf檢驗

直到通過adf檢驗

pandit-wu建模方法樣本減去平均值

如有季節因素,就用hegy檢驗,在季節差分。得到平穩的序列

如有異常因素,就就用異常值檢驗。

如有異方差(用ljung-box q統計量檢驗),就用arch,或garch模型

模型定階有很多方法:

1,殘差方差圖定階

2、f檢驗定階

3、aic,bic定階

3樓:匿名使用者

檢驗一個時間序列是否平穩,用adf檢驗,在matlab中是adftest( )函式,最簡單的用法就是

h = adftest(y), 其中y為待檢驗序列,返回值h=1表示序列平穩,h=0表示非平穩。比如

%構造兩個序列進行檢測

t = (1:100)';

y1 = randn(100,1); %平穩序列y2 = randn(100,1) + .2*t;  %非平穩序列plot(t,y1,t,y2);

adftest(y1) %返回1,即序列平穩adftest(y2) %返回0,即序列非平穩

如何用eviews做時間序列資料的平穩性檢驗

4樓:兄弟連教育北京總校

平穩的,adf檢驗值-9.554768小於1%顯著水平的檢驗值-3.574446,所以在99%顯著水平下拒絕原假設(原假設是含有單位根),所以時間序列不含單位根,是平穩的.

matlab中,怎樣用function定義帶引數的方程?比

菠蘿時空 不知道是不是這樣的功能 myfun.m function y myfun a,b y solve char a 2 b x eof 呼叫函式前先syms x 然後 myfun x 1,2 x 1 執行結果如下 syms x myfun x 1,2 x 1 ans 1 3 建立一個func....

怎樣用matlab畫出空間心形線

1 心形線的數學定義。2 編制的繪製心形線的matlab程式 如下圖所示 3 當a 10 時,繪製的心形線,如下圖所示 4 當a逐漸增大時的心形線,如下圖所示 採用子圖模式 5 繪製三維的心形圖形,下面是編制的 x y z meshgrid 1.5 0.02 1.5 v x.2 9 4 y.2 z....

怎樣用matlab生成0 15到0 7之間的隨機變數

請問,如果要生成乙個服從截斷高斯分布的變數,截斷位於球內,球的半徑已知,可以用truncatedgaussian這個函式嗎,方差怎麼求呢,還有變數範圍怎麼表示? 0.15 到0.7之間的均勻分布的隨機變數 用隨機數產生函式例如 r unifrnd 0.15,0.7,1000,1 產生1000個這樣的...