时间序列分析:非平稳序列的确定性分析
時間序列分析:非平穩序列的確定性分析
- 一. 時間序列分解
- 1.Wold分解定理
- 2.Gramer分解定理
- 二. 確定性因素分解
- 三. 趨勢分析
- 1.趨勢擬合法
- (1)線性擬合
- (2)曲線擬合
- 2.平滑法
- (1)移動平均法
- (2)指數平滑法
- A.簡單指數平滑
- B.Holt兩參數指數平滑
- C.Holt-Winters三參數指數平滑
- 四. 綜合分析
一. 時間序列分解
1.Wold分解定理
對于任何離散平穩過程{Xt}它都可以分解為兩個不相關的平穩序列之和其中一個為確定性的,另外一個為隨機性的。
2.Gramer分解定理
任何一個時間序列都可以分解成兩部分的疊加,其中一部分是由多項式決定的確定性趨勢成分,另外一部分是平穩的零均指誤差成分。
Gramer分解定理說明任何一個時間序列的波動都可以視為同時受到了確定性影響和隨機性影響的作用。平穩時間序列要求這兩方面影響都是確定的,而非平穩序列產生的機理就在于它所受到的這兩方面影響至少有一個方面是不穩定的。
二. 確定性因素分解
通常,由確定性因素導致的非平穩會顯示出明顯的規律性,比如顯著的趨勢或固定的周期。我們把這些容易提取的確定性因素提取出來便是確定性因素分解。
常見的四大確定性因素:
(1)長期趨勢
(2)循環波動
(3)季節性變化
(4)隨機波動
綜合以上因素對時序的影響,我們可以建立以下兩個模型:
(1)加法模型:
(2)乘法模型:
如果觀察期不是特別長,人們將循環因素(Ct)改成了交易日因素(Dt),改進模型如下:
(1)加法模型:
(2)乘法模型:
我們對確定性時序分析的目的有以下兩種:
(1)克服其他因素的影響,單純測度出某一各確定性因素對序列的影響。
(2)推斷出各種確定性因素彼此之間的相互作用關系以及他們對序列的綜合影響。
三. 趨勢分析
1.趨勢擬合法
趨勢擬合法j就是把時間作為自變量,相應的序列觀測值作為因變量,建立序列值隨時間變化的回歸模型的方法。
(1)線性擬合
R語言使用lm(Y~a+X1+x2+....+Xn,data=) Y:響應變量 a:是否需要常數項,1表示需要 X1:自變量 data:數據框名字例子:
讀入數據: x<-c(8444,9215,8879,8990,8115,9457,8590,9294,8997,9574,9051,9724,9120,10143,9746,10074,9578,10817,10116,10779,9901,11266,10686,10961,10121,11333,10677,11325,10698,11624,11052,11393,10609,12077,11376,11777,11225,12231,11884,12109) #構造時間自變量 t<-c(1:40) #擬合回歸模型 x.fit<-lm(x~t) #查看集合模型 summary(x.fit) #繪制擬合效果圖 x<-ts(x) plot(x) abline(lm(x~t),col=2)得到結果如下:
得到擬合模型為:
(2)曲線擬合
如果長期趨勢出現非線性特征,我們需要采用曲線模型來擬合它。
非線性回歸函數: nls(Y~f(X1,X2,....,Xn),data=,start=) Y:響應變量 X1:自變量 f:非線性函數 start:采用迭代法計算計算未知參數時,所指定的迭代初始值例子
#導入數據 a<-read.table("E:/R/data/file12.csv",sep=",",header = T) x<-ts(a$output,start=1949)#lm函數擬合 t1<-c(1:60) t2<-t1^2 x.fit1<-lm(x~t1+t2) summary(x.fit1)結果為:
結果為:
可知道,lm和nls函數擬合的結果相同,模型為:
2.平滑法
平滑法;利用修勻技術,削弱短期隨機波動對序列的影響,使序列平滑,從而顯示出變化的規律
(1)移動平均法
例題學習:
確定移動平均期數時所要考慮的問題:
(2)指數平滑法
A.簡單指數平滑
B.Holt兩參數指數平滑
C.Holt-Winters三參數指數平滑
例子實現:
所需要用到的函數:
###########################################
三參數指數平滑:
四. 綜合分析
主要研究的是既有趨勢起伏變動又有季節效應的復雜時間序列
“季節”效應:凡是出現固定周期性變化的事件,都稱它具有季節效應。
#確定性因素分解函數: decompose(x,type) x:序列名字 type: type="additive" 加法模型 type="multiplicative" 乘法模型例子介紹:
#讀入序列,畫出時序圖 c<-read.table("E:/R/data/file14.csv",sep=",",header = T) x<-ts(c$sales,start = c(1993,1),frequency = 12) plot(x) #確定性因素分解 x.fit<-decompose(x,type="mult") #查看季節指數,并繪制季節指數圖 x.fit$figure plot(x.fit$figure,type = "o") #趨勢序列擬合圖 x.fit$trend plot(x.fit$trend) #隨機波動(殘差值)殘差圖 x.fit$random plot(x.fit$random) #因素分解圖 x.fit plot(x.fit)
總結
以上是生活随笔為你收集整理的时间序列分析:非平稳序列的确定性分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VueX模块化使用(超级实用)
- 下一篇: 电工最实用口诀 背会就是老电工