本篇文章你可以了解什麼?
時間序列的定義時間序列分析為什麼要離散化?時間序列分析的意義什麼事件是可以被預測的?時間序列分析方法中時域分析方法的發展時間序列的預處理SPSS中時間序列分析的預處理操作1 序言
關於時間序列的文章,一陳更偏向實驗操作,也就是說,分享的文章會有基礎原理,大量實驗操作,對於原理推導的數學知識相對簡化(實驗向)。
時間序列是數理統計中應用性較強的分支之一,專門用於處理與時間有關的數據。可以試想一下,我們身邊有哪些和時間相關的數據?
經濟是否會隨時間發生變化,今年巴菲特一個月不也見證了無數個人生第一次氣象是否也是,陰晴冷暖,春夏秋冬,回家是棉襖,回學校卻不得不穿上短袖現在的新型冠狀病毒疫情,確診人數、疑似病例、境外輸入等等都會隨著時間發生變化,流行病理學家所做的感染預測,不正是基於時間序列統計分析出的那麼,時間序列是不是也很好理解了,簡單來說,時間序列就是按照時間先後發生的次序觀察到的數據序列。時間序列也可以稱作時間數列。
2 時間序列嚴格定義
當然,時間序列也有一個嚴格的定義,定義如下:
設T是離散的時間集,當t∈T時,X(t)是一隨機變量,則稱{X(t),t∈T}為時間序列[1]
注意概念中需要注意T是離散的時間集,其實時間集也可以是一個連續集,我們在進行時間序列分析時可以將連續的時間集離散化,一陳畫了張圖幫助你理解。時間集的取值為:整數集Z或正整數集N+或非負整數集N,常用Xi表示X(t)
離散化後的數據,X(1),X(2),X(3)……,便是我們想要的時間序列。
整數集Z:{…,-1,0,1,…}正整數集N+: {1,2,3,…}非負整數集(自然數)N: {0,1,2,3,…}插播個小故事:整數集為什麼用 Z 表示呢?(via:知乎 思維數學)自然數集 N 是 英文natural number(自然數)的第一個字母;實數集 R 是real number(實數)的第一個字母;複數集 C 是complex number(複數)的第一個字母;有理數集 Q 是quotient 的第一個字母,那 Z 呢?整數集 Z 其實不是英文詞彙的縮寫,而是德語 Zahlen 的首寫字母。前幾個都是英文縮寫,唯獨整數集 Z 是德語字母的縮寫。歷史上近代以來的數學帝國依此是法國、德國、英國、俄羅斯、美國,其中德國在數學中的地位亦不可小覷。大名鼎鼎的數學家希爾伯特、康託、克萊因都是德國數學強盛時期的代表,在他們之前的「數學王子」高斯也是德國人。
3 為什麼要離散化?
在大部分(保守一點)數據挖掘軟體的算法中,要求數據是分類屬性形式,也就是數據離散。因此常常需要將連續屬性的數據通過斷點進行劃分,最後歸屬到不同的分類,即離散化。
將數據離散化後有以下好處:
統計算法的計算效率能夠得到提升可用於將模型進行分類計算給予距離計算模型(k均值、協同過濾)中降低異常數據對模型的影響可用於圖像處理中的二值化處理另外,離散化也可以用於已經離散化的數據,就是值域的重新劃分,一切都是看研究的需要
4 時間序列分析的意義
時間序列分析則是對我們得到的時間序列進行觀察、研究,找尋它變化發展的規律,預測它將來走勢的分析。
我們可以發現兩個關鍵詞:發展規律和預測走勢
我們來舉個慄子:
比如在金融行業的時間序列分析中,我們可以研究哪些發展規律,預測哪些走勢呢?我們來看看證券,證券是具有隨時間波動的特性,從牛市到熊市,再從熊市到牛市,出現熊市和牛市的時候,是否就是價格波動比較大的時候呢,除了牛市和熊市的時候,價格波動是不是還有一段時間波動幅度小呢。所以在描述這類風險資產(股票、期權),我們需要引入多個變量來解釋這種情況,看能否發現規律,預測將來的走勢。不過,對於這類預測來說,方差(多個變量對結果的解釋效度)往往也會隨著時間變化,導致我們的規律和預測有時候不怎麼可靠。
既然不那麼可靠,為什麼我們還有研究這個規律並做預測呢?有一個詞叫做天真,用在這特別合適。當我們採用規範的方法,比如文章所說的時間序列分析後,我們至少會對我們所做的事情有一個評估,是否在我們承受的風險範圍內,是的話,就去做,不是,就放棄。這便成了我們投資行動的風向標。如果什麼都不做,那你可能要動用量子力學了,遇事不決,量子力學。
我們可以再來看一個預測的案例:(為什麼現在不能開學?看這個視頻就知道了!(2020-03-01)https://v.qq.com/x/page/v3074x86ola.html)
當然,還有很多例子,就不一一列舉了,截張圖給大家看一下。可以發現時間序列的分析運用在生產生活的各個領域,畢竟,誰不和時間相關呢?
5 探討個問題:什麼事件是可以被預測的?
我們都知道,不是什麼事情都可以被預測的,明天的彩票號碼預測成功試試?顯示不那麼靠譜,但是也有一些事情,比如,明天的太陽從東邊升起,這個就很好預測,那麼問題來了,什麼事情是可以被預測的呢?
我們可以講靠譜的預測歸結為三要素:[2]
因素如何影響我們的結果我們擁有多少數據我們的預測是否會影響我們預測的結果綜合上述的三個因素,我們就可以知道哪些東西的預測是靠譜的,哪些事物的預測是不靠譜的或者較難預測的。例如我們可以很好的預測我們的用電情況,因為這三個條件是可以較好的滿足的,用電需求往往由溫度,節假日和經濟條件等決定,所以我們可以找到絕大部分影響我們預測結果的因素(第一條滿足);我們擁有較大量的歷史用電數據和天氣等數據(第二條滿足),我們有足夠的能力開發一個好的模型將用電需求和關鍵的因素相結合,而且我們的預測結果對於我們的模型影響不大(第三條滿足),所以最終我們的預測結果可以非常的好。
但是也有反例,例如大家天天討論的股票的預測,雖然我們擁有較多的歷史股票數據(第二條滿足);但是我們對於每個因素對於股票價格的影響的貢獻卻是未知的,同樣的我們對於股票的預測也會影響未來的股票的價格,例如有很多人預測股票價格會上漲,就會有很多人選擇購入對應股票,而此時的股票的價格毫無疑問會受到很大的衝擊,所以我們的模型的預測結果往往並不是總是很好。
總的來說,只要模型預測的結果比隨機猜測的結果好,我們就認為該事情是可以預測的。好的預測模型往往能從歷史數據中挖掘或近似找出數據的潛在關係。
6 時間序列分析方法
時間序列分析在早期主要有以下兩個分析方法:
頻域( Frequency Domain)分析方法時域(TimeDomain)分析方法 所謂頻域分析方法,也稱為「頻譜分析」或者「譜分析」方法,是著重研究時間序列的功率譜密度函數,對序列的頻率分量進行統計分析和建模。 由於譜分析過程一般都比較複雜,其分析結果也比較抽象,不易於進行直觀解釋,所以一般來說譜分析方法的使用具有較大的局限性。
而時域分析方法的基本思想是源於事件的發展通常都具有一定的慣性,這種慣性可以使用統計語言中的相關關係來描述序列,也就是說序列具有統計意義。時域分析的重點就是尋找這種統計規律,並且擬合適當的數學模型來描述這種規律,進而利用這個擬合模型來預測序列未來的走勢。 相對於頻域分析方法,時域分析方法具有比較系統的統計學理論基礎,操作過程規範,分析結果易於解釋。隨著計算技術的飛速進步,也極大的推動了時間序列分析的發展。[3]
鑑於此,我們現在進行時間序列分析的方法主要採用時域分析方法進行。
7 時域分析方法的發展過程(簡)
時域分析方法的發展大致可以分為三個階段:基礎階段、核心階段與完善階段。
基礎階段:
G.U.Yule(1927):AR模型G.T.Walker(1931):MA模型,ARMA模型核心階段:
G.E.P.Box 和 G.M.jenkins
1970年,出版《 Time Series Analysis Forecasting and Control》提出ARIMA模型( Box-jenkins模型)Box- Jenkins模型實際上是主要運用於單變量、同方差場合的線性模型完善階段:
異方差場合
Robert F.Engle,1982年,ARCH模型Bollerslov,1985年GARCH模型多變量場合
C.Granger,1987年,提出了協整( co-integration)理論非線性場合
湯家豪等,1980年,門限自回歸模型8 時間序列的預處理
進行時間序列分析,我們希望序列是平穩的且非隨機的,若序列是完全隨機的,那麼我們也只能終止分析,提取不了有用的信息。
所以我們在研究時間序列之前,首先要對其平穩性和隨機性進行檢驗,目的是對平穩且非隨機序列進行研究。
然後根據檢驗結果可以將序列分為不同的類型,對於不同類型的序列有不同的分析方法。
時間序列的預處理主要包括以下兩個部分:
平穩性檢驗純隨機性檢驗(白噪聲檢驗)下面詳細講以下預處理:
8.1 平穩性檢驗
8.1.1 平穩時間序列的定義:
過程是平穩的——隨機過程的隨機特徵不隨時間変化而變化,且波動範圍有限過程是非平穩的——隨機過程的隨機特徵隨時間変化而変化滿足下圖條件的序列稱為寬平穩序列
寬平穩條件解讀(對應上圖):
二階矩陣是有限的,存在的期望是一個常數,不隨時間變化協方差,和時間起點沒關係,只是和時間間隔有關係8.1.2 平穩時間序列的意義:
平穩性極大地減少了隨機變量的個數,並増加了待估変量的樣本容量極大地簡化了時序分析的難度,同時也提高了對特徵統計量的估計精度8.1.3 平穩性的檢驗:三種檢驗方法
時序圖檢驗:根據平穩時間序列均值、方差為常數的性質,平穩序列的時序圖應該顯示出該序列始終在一個常數值附近隨機波動,而且波動的範圍有界、無明顯趨勢及周期特徵;自相關圖檢驗:平穩序列通常具有短期相關性。該性質用自相關係數來描述就是隨著延遲期數k的増加,平穩序列的自相關係數會很快地衰減向零,並在零附近隨機波動,而非平穩序列的自相關係數衰減的速度比較慢。單位根檢驗:如果存在單位根就是非平穩時間序列。
8.2 純隨機性檢驗(白噪聲檢驗)
純隨機性檢驗也稱為白噪聲檢驗,一般是構造檢驗統計量來檢驗序列的純隨機性,常用的檢驗統計量有Q統計量、LB統計量。[4]
白噪聲:純隨機波動,無法進行預測的信息。有點像90年代電視劇那種雪花效果,就是一種白噪聲信息。
8.2.1 檢驗原理
如果一個時間序列是純隨機的,得到一個觀察期數為n的觀察序列,那麼該序列的延遲非零期的樣本自相關係數將近似服從均值為零,方差為序列觀察期數倒數的正態分布(如下圖),ρ為自相關係數:
8.2.2 假設條件
原假設:
備擇假設:
如果自相關係數ρ為零,或在零周圍波動,則原假設成立,該序列為純隨機序列。
如果自相關係數ρ不為零,則備擇假設成立,該序列為不是純隨機序列,可以進一步進行平穩性分析。
8.2.3 檢驗統計量
Q統計量
LB統計量
9 SPSS中時間序列分析的預處理操作
工欲善其事必先利其器,接下來說一說我們進行時間序列分析可能會用到的一些工具。
常用軟體有EVIEWS、SAS、SPSS、Matlab、Python、R、S-plus、Gauss、TSP等等,大家可以選取自己喜歡的工具進行時序分析就好了。
這裡給大家介紹一下SPSS中時間序列如何操作,也建議初學者進行學習。
9.1 純隨機序列(白噪聲序列)
生成白噪聲方法:用Excel中的RAND()函數生成均勻分布(0-1分布)序列,然後以此序列作為函數值域,用正態分布函數的反函數NORMINV()相應的得到白噪聲序列。
判斷具體步驟如下:
2.計算正態分布函數的反函數值,分布概率選擇隨機值,算術平均值和標準偏差任意
3.將年份和反函數值導入SPSS
4.選擇分析-預測-自相關
5.將變量導入對應的模塊,點擊確定
6.獲得自相關圖
解讀:
左圖中自相關係數ρ在零上下波動,且顯著性Sig>0.05,故該序列為白噪音序列。同樣,右圖可以更直觀的看出ρ的變化範圍。直條高低代表自相關係數的大小,橫軸1-16代表自相關的階數,上下線之間的為不具有統計學意義的。
9.2 平穩性檢驗
這裡引用《時間序列與多元統計分析》書中的一個例子[1],下表是我國某地區一段時期農業產值數據表,應用SPSS進行預處理。
第一步,進行白噪聲檢驗,檢驗方法同上,這裡給出自相關圖的結果
解讀:
左圖中自相關係數ρ不等於零,且顯著性Sig<0.05,故該序列為非白噪音序列。同樣,右圖可以更直觀的看出ρ的變化範圍。直條高低代表自相關係數的大小,橫軸1-16代表自相關的階數,上下線之間的為不具有統計學意義的。同時,我們也可以觀察到,自相關係數ρ在是逐漸變小,沒有迅速變為零或在零附近波動,故該序列為非平穩序列。我們也可以畫出序列圖以作輔助驗證。第二步,畫出序列圖。
分析-預測-序列圖
填入相應參數
獲得時序圖
通過時序圖,我們也可以看到原序列是有明顯上升趨勢的非平穩序列。
第三步,通過差分運算,看能否獲得平穩序列
選擇分析-預測-自相關,設置差分參數為1
自相關參數設置
注意:應避免過度差分,過度差分會造成信息損失。
獲得自相關圖
解讀:
自相關係數ρ不等於零,且顯著性Sig<0.05,故該序列為非白噪音序列。從右圖可以看出,ρ在差分算法後快速衰減為零,然後在零附近波動,可以判斷我們的序列已經成為差分平穩序列,可以進行下一步選擇模型的操作了。
最後,為了方便大家對時間序列進行進一步學習,在公眾號回復【時間序列】,可以獲取專業時間序列參考書籍3冊。
以上,便是本篇文章的全部內容了,可能有描述不太準確的地方,歡迎大家批評指正。如果你喜歡一陳的文章,不要忘記點讚評論哦~
參考文獻
[1]孫祝嶺編. 時間序列與多元統計分析[M]. 上海:上海交通大學出版社, 2016.09.
[2]塵沙傑少.時間序列預測必備背景知識[DB/OL].kaggle競賽寶典.2019.
[3]王黎明,王連,楊楠編著. 應用時間序列分析[M]. 上海:復旦大學出版社, 2009.09.
[4]魏洪鑫.時序數據分析有哪些套路[DB/OL].知乎.2016.