SPSS(十九)SPSS之時間序列模型(圖文+數據集)

SPSS(十九)SPSS之時間序列模型(圖文+數據集)

時間序列是指將同一統計指標的數值按其發生的時間先後順序排列而成的數列。正如人們常說,人生的出場順序很重要,時間序列中隱藏着一些過去與未來的關係。時間序列分析試圖通過研究過去來預測未來。

時間序列分析在工程、金融、科技等衆多領域有着廣泛的應用。在大數據時代,時間序列分析已經成爲 AI 技術的一個分支,通過將時間序列分析與分類模型相結合,更好的應用於數據檢測、預測等場景。

時間序列模型簡介

  • 依時間順序排列起來的一系列觀測值(觀測值之間不獨立)
  • 它考慮的不是變量間的因果關係,而是重點考察變量在時間方面的發展變化規律,併爲之建立數學模型
  • 使用時間序列模型的前提:有足夠長的數據序列;數據序列的變動是穩定而規律的

另外一種理解方式:假如我們對一件事情研究其背後規律很久的話,可以收集到很多的自變量/影響因素去研究與因變量之間的關係,但是由於各種原因我們做不到,我們只能用一個t(時間)來替代所有的影響因素來研究自變量是如何變化的

 

時間序列分析面臨的問題

時序應該在現實生活中應用的很廣,但是爲什麼不常用這個模型呢?

  • 基礎統計數據原因(數據收集)

報表系統——質量問題
統計口徑——不統一
範圍變化、區域劃分——變化

  • 理論和技術培訓原因 

之前沒有好的工具來實現時間序列模型

 

時間序列的方法分類

  • Time domain(最爲常見的方法):將時間序列看成是過去一些點的函數,或者認爲序列具有隨時間系統變化的趨勢,它可以用不多的參數來加以描述,或者說可以通過差分、週期等還原成隨機序列。
  • Frequency domain:認爲時間序列是由數個正弦波成份疊加而成,當序列的確來自一些周期函數集合時,該方法特別有用。 比如心電圖
     

時間序列的構成

並不是每個序列都包含所有4種成分。比如以年爲時間單位的序列就不會有季節變化;
一些較短的序列也看不出循環變化。所以在分析的時候得具體情況具體分析。 

  • 長期趨勢

指一種長期的變化趨勢。它採取一種全局的視角,不考慮序列局部的波動

下圖,整體呈下降趨勢

  • 季節變化(Season)

反映一種週期性的變化一般在一年中完成
雖然稱作“季節”,但是週期並不一定是季度,也可以是月、周等其它能在一年內完成的週期。因爲,大多數的週期都以季節的形式出現,所以稱作季節變化

比較典型的季節變化例子:聖誕節效應;冷飲的銷售情況

  • 循環變化(Cyclic)

循環跨度超年

指一種較長時間的週期變化。一般來說循環時間爲2-15年。循環變化一般會出現波峯和波谷,呈現一種循環往復的現象。 
比如:經濟危機 

  • 不規則變化(error) 

指時間序列中無法預計的部分,也可以理解爲誤差
序列的隨機波動 
突發事件引起的 
它是無法預測的 
在分析中往往又將其稱爲白噪聲

它是時間序列中除去趨勢、季節變化和自相關性之後的剩餘隨機擾動。由於時間序列存在不確定性,隨機噪聲總是夾雜在時間序列中,致使時間序列表現出某種震盪式的無規律運動。
比如:911事件

 

時間序列分析對長度的要求

  • 不同的序列分析方法對時間序列分析對長度不一樣,建模過程一般都會做差分,差分會損失信息,差分得越多,相應要求的時間序列越長
  • 如果是穩定序列的話,歷史數據越多,對預測的幫助越大
  • 如果存在週期,一般需要4個週期以上數理上認爲應當在20個週期以上

       假如只有兩三個週期,那週期性的分析就沒有太大作用了

 

對於時間序列問題有哪些基本分析思路

看到數據其實不一定要上最複雜的方法

  • 平滑與季節分解(遇到比較簡單的序列)

用移動平均的方式消除波動,反映出主要的趨勢

  • 迴歸模型

如果在序列分析中我們考慮到自變量的話,根據歷史數據建立相應的迴歸模型用於預測。甚至來說可以直接把時間當做自變量用於預測,當然我們知道迴歸時候要求殘差是獨立的,假如檢驗出來是非獨立的話,我們可以去建一個自迴歸模型

  • ARIMA

如果時間序列變化太複雜,我們可以採用ARIMA建模,現在最強大的時序建模方法。真正的時間序列模型建模分析方法
 

平滑與季節分解

  • 是利用時間序列資料進行短期預測的一種方法。它的基本思想是:除去一些不規則變化後,時間序列將剩下一些基本的變化模式,而這種變化模式將延續到將來。
  • 描述時間序列數據的變化規律和行爲,不去試圖解釋和理解這種變化的原因。例如:您可能發現在過去的一年裏,三月和九月都會出現銷售的高峯,您可能希望繼續保持這樣,儘管您不知道爲什麼。
  • 平滑的主要目的就是除去時間序列的不規則變化,把時間序列的基本變化模式突現出來,作爲短期預測的基礎。因此也有人把平滑稱作“修勻”。
  • 平滑的方法很多。廣義上說,可以認爲迴歸也是一種平滑。因爲擬合迴歸曲線可以把雜亂的觀測數據修勻得到連續而光滑的曲線。
  • 移動平均和移動中位數等這些不同的平滑技術又被稱爲平滑器。平滑處理後,可以得到一些新的序列。不同的平滑器得到的新序列是不同的。選擇合適的平滑器,尋求最佳的預測效果是平滑處理的關鍵。

 

案例:NRC數據的建模預測

美國1947年1月到1969年12月住宅建築的數據,分析目的是希望能過通過歷史數據來預測1970年全年的情況。

數據集

nrc是我們準備用於分析的變量

nrc2又新增了12個月的數據,可以用來評價我們的預測效果

556	556
528	528
545	545
607	607
701	701
785	785
874	874
950	950
1006	1006
1093	1093
1135	1135
1070	1070
891	891
757	757
874	874
1028	1028
1168	1168
1257	1257
1294	1294
1305	1305
1273	1273
1203	1203
1100	1100
978	978
846	846
731	731
763	763
844	844
981	981
1086	1086
1147	1147
1171	1171
1207	1207
1238	1238
1241	1241
1171	1171
1077	1077
1031	1031
1089	1089
1276	1276
1499	1499
1703	1703
1827	1827
1898	1898
1900	1900
1785	1785
1614	1614
1427	1427
1289	1289
1188	1188
1229	1229
1288	1288
1324	1324
1399	1399
1428	1428
1409	1409
1400	1400
1397	1397
1330	1330
1200	1200
1015	1015
963	963
1149	1149
1234	1234
1346	1346
1437	1437
1472	1472
1486	1486
1473	1473
1481	1481
1438	1438
1309	1309
1131	1131
1057	1057
1206	1206
1363	1363
1431	1431
1570	1570
1577	1577
1550	1550
1514	1514
1481	1481
1420	1420
1294	1294
1104	1104
1029	1029
1167	1167
1347	1347
1517	1517
1627	1627
1717	1717
1770	1770
1783	1783
1759	1759
1717	1717
1650	1650
1473	1473
1379	1379
1562	1562
1753	1753
1925	1925
2064	2064
2098	2098
2082	2082
2051	2051
1983	1983
1851	1851
1656	1656
1392	1392
1305	1305
1457	1457
1618	1618
1753	1753
1884	1884
1908	1908
1895	1895
1860	1860
1798	1798
1741	1741
1567	1567
1324	1324
1206	1206
1350	1350
1486	1486
1604	1604
1718	1718
1767	1767
1796	1796
1787	1787
1761	1761
1694	1694
1513	1513
1292	1292
1192	1192
1302	1302
1421	1421
1550	1550
1702	1702
1804	1804
1876	1876
1907	1907
1954	1954
1957	1957
1832	1832
1606	1606
1493	1493
1676	1676
1907	1907
2091	2091
2253	2253
2350	2350
2358	2358
2310	2310
2232	2232
2092	2092
1883	1883
1588	1588
1408	1408
1613	1613
1804	1804
1935	1935
2112	2112
2039	2039
1982	1982
1931	1931
1860	1860
1790	1790
1644	1644
1378	1378
1221	1221
1459	1459
1720	1720
1860	1860
2059	2059
2053	2053
2053	2053
2055	2055
2041	2041
1974	1974
1807	1807
1543	1543
1368	1368
1605	1605
1906	1906
2141	2141
2377	2377
2357	2357
2377	2377
2330	2330
2210	2210
2113	2113
1965	1965
1686	1686
1492	1492
1666	1666
1950	1950
2206	2206
2421	2421
2517	2517
2553	2553
2516	2516
2500	2500
2450	2450
2230	2230
1867	1867
1678	1678
1866	1866
2068	2068
2191	2191
2385	2385
2518	2518
2541	2541
2439	2439
2327	2327
2260	2260
2118	2118
1834	1834
1639	1639
1782	1782
2000	2000
2203	2203
2429	2429
2550	2550
2561	2561
2473	2473
2377	2377
2284	2284
2136	2136
1848	1848
1644	1644
1781	1781
1979	1979
2124	2124
2287	2287
2387	2387
2351	2351
2202	2202
1978	1978
1785	1785
1614	1614
1368	1368
1248	1248
1405	1405
1613	1613
1836	1836
2107	2107
2336	2336
2471	2471
2446	2446
2375	2375
2310	2310
2191	2191
1859	1859
1655	1655
1885	1885
2262	2262
2518	2518
2628	2628
2721	2721
2790	2790
2780	2780
2678	2678
2593	2593
2454	2454
2133	2133
1940	1940
2195	2195
2540	2540
2810	2810
2962	2962
2974	2974
2880	2880
2763	2763
2648	2648
2482	2482
2288	2288
	1961
	1765
	1986
	2297
	2485
	2592
	2650
	2707
	2721
	2747
	2735
	2627


時間序列操作的基本步驟

  • 預處理過程

缺失值的填補 

一般這兩種方法我們比較常用


時間變量的定義(spss對數據集進行了特殊標記,讓spss知道其爲序列數據,並非新增三個變量那麼簡單,必須是剛纔進行下面的操作)


時間序列的平穩化

觀測原始序列是什麼分佈,時間刻度這一塊隨便選一個時間自變量

發現其有長期趨勢及季節變化(大概一年)


一次差分(假如序列勻速上升的話,一次差分序列後應該是平的)

繼續查看其變化(一次差分作爲變量)

確實序列變平了,但是隨着時間增加季節變換還是存在的


季節差分(把週期性也幹掉),一階:相鄰的兩個季節做相減

看季節差分分佈分佈狀況

看到下面的序列,無長期趨勢、無季節變換,可認爲是一個比較平穩的序列了

但是剛纔上面在做一次差分後的序列,可以看出其序列隨着時間增長離散程度會慢慢變大,後續分析可以考慮這一點,可以做變量變換。

其實剛纔上面的步驟不用那麼麻煩,在序列圖中即可觀察

當前週期:12在哪裏設置呢?(在我們剛纔定義日期選取的)

 

關於數據平穩化問題:(非常詳細的理論基礎)

大家可以參考

https://zhuanlan.zhihu.com/p/60023855

https://zhuanlan.zhihu.com/p/60648709

 

時間序列趨勢的圖形化觀察

  • Sequence Chart:序列圖

實際上就是一種特殊的線圖

  • Autocorrelation Chart:做單個序列,任意滯後(包括負的滯後,也就是超前)的自相關和偏相關圖

對序列圖的初步觀察結果作進一步確認(檢驗其是不是白噪聲序列)
重點關心主要的相關趨勢,然後再對模型進一步修正

剛纔我們認爲做了一次差分和季節差分真的爲平穩序列了嗎?

滯後n階:隔了n個數據的自相關性

Sig.<0.05,證明存在自相關的,不都是白噪聲

爲了方便查看,給出了圖,1到5階都是存在統計學意義的

自相關係數是有傳遞性的問題在裏面的,spss就會計算偏自相關係數,屏蔽傳遞的效應後,看剩餘的關聯是否還存在

自相關拖尾,偏自相關也拖尾,這兩個是爲了知道我們進行建模的

自相關圖:自迴歸係數的變化
偏相關圖:偏回歸係數的變化

假如他是以下模型,應滿足下面的特徵

實際用起來,spss會提供一個自動分析的方法

模型擬合
幾乎均可包含在ARIMA模型族中
尋找適當的參數是一個反覆嘗試的過程

生成 ARIMA 模型的基本步驟:

  1. 對序列繪圖,進行 ADF 檢驗,觀察序列是否平穩;對於非平穩時間序列要先進行 d 階差分,轉化爲平穩時間序列;
  2. 經過第一步處理,已經得到平穩時間序列。要對平穩時間序列分別求得其自相關係數(ACF)和偏自相關係數(PACF),通過對自相關圖和偏自相關圖的分析,得到最佳的階數p、q;
  3. 由以上得到的d、q、p ,得到 ARIMA 模型。然後開始對得到的模型進行模型檢驗。

專家建模器:會在指數平滑模型和ARIMA模型裏面選取

 

R方相對於平穩的R方來說,是比較過於樂觀的,假如數據是有波動趨勢的,我們將趨勢解釋掉之後,佔相當大的變異解釋度進去了,平穩的R方比較客觀

RMSE(殘差均方)

MAPE(相對誤差)

MAXAPE(最大值相對誤差)

MAE(絕對誤差)

MAXAE(最大值絕對誤差)

正態化BIC(比較專業化的指標)

 

當前模型剩下來的這塊能否當成白噪聲?

H0:白噪聲序列

Sig.>0.05,剩下來的確實是白噪聲序列

 

 

如何讓其做預測?怎麼用時間序列?

由於SPSS的一個小BUG,變量名前綴要修改一下,不能是中文

對比一下原始序列和預測值效果

我們想預測到久一點呢?

假如我們有1970年的真實數據了,對比一下模型預測及真實數據差別

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章