『壹』 16種常用的數據分析方法-時間序列分析
時間序列(time series)是系統中某一變數的觀測值按時間順序(時間間隔相同)排列成一個數值序列,展示研究對象在一定時期內的變動過程,從中尋找和分析事物的變化特徵、發展趨勢和規律。它是系統中某一變數受其它各種因素影響的總結果。
研究時間序列主要目的可以進行預測,根據已有的時間序列數據預測未來的變化。時間序列預測關鍵:確定已有的時間序列的變化模式,並假定這種模式會延續到未來。
時間序列的基本特點
假設事物發展趨勢會延伸到未來
預測所依據的數據具有不規則性
不考慮事物發展之間的因果關系
時間序列數據用於描述現象隨時間發展變化的特徵。
時間序列考慮因素
時間序列分析就其發展歷史階段和所使用的統計分析方法看分為傳統的時間序列分析和現代時間序列分析,根據觀察時間的不同,時間序列中的時間可以是可以是年份、季度、月份或其他任何時間形式。
時間序列分析時的主要考慮的因素是:
l長期趨勢(Long-term trend)
時間序列可能相當穩定或隨時間呈現某種趨勢。
時間序列趨勢一般為線性的(linear),二次方程式的 (quadratic)或指數函數(exponential function)。
l季節性變動(Seasonal variation)
按時間變動,呈現重復性行為的序列。
季節性變動通常和日期或氣候有關。
季節性變動通常和年周期有關。
l周期性變動(Cyclical variation)
相對於季節性變動,時間序列可能經歷「周期性變動」。
周期性變動通常是因為經濟變動。
l隨機影響(Random effects)
除此之外,還有偶然性因素對時間序列產生影響,致使時間序列呈現出某種隨機波動。時間序列除去趨勢、周期性和季節性後的偶然性波動,稱為隨機性(random),也稱不規則波動(irregular variations)。
時間序列的主要成分
時間序列的成分可分為4種:
l趨勢(T)、
l季節性或季節變動(S)、
l周期性或循環波動(C)、
l隨機性或不規則波動(I)。
傳統時間序列分析的一項主要內容就是把這些成分從時間序列中分離出來,並將它們之間的關系用一定的數學關系式予以表達,而後分別進行分析。
時間序列建模基本步驟
1)用觀測、調查、統計、抽樣等方法取得被觀測系統時間序列動態數據。
2)根據動態數據作相關圖,進行相關分析,求自相關函數。
相關圖能顯示出變化的趨勢和周期,並能發現跳點和拐點。
跳點是指與其他數據不一致的觀測值。如果跳點是正確的觀測值,在建模時應考慮進去,如果是反常現象,則應把跳點調整到期望值。
拐點則是指時間序列從上升趨勢突然變為下降趨勢的點。如果存在拐點,則在建模時必須用不同的模型去分段擬合該時間序列,例如採用門限回歸模型。
3)辨識合適的隨機模型,進行曲線擬合,即用通用隨機模型去擬合時間序列的觀測數據。
對於短的或簡單的時間序列,可用趨勢模型和季節模型加上誤差來進行擬合。
對於平穩時間序列,可用通用ARMA模型(自回歸滑動平均模型)及其特殊情況的自回歸模型、滑動平均模型或組合-ARMA模型等來進行擬合。
當觀測值多於50個時一般都採用ARMA模型。對於非平穩時間序列則要先將觀測到的時間序列進行差分運算,化為平穩時間序列,再用適當模型去擬合這個差分序列。
spss時間序列分析過程
第一步:定義日期標示量:
打開數據文件,單擊"數據",選擇"定義日期和時間",彈出"定義日期"對話框,
數據中的起始時間就是數據文件裡面的單元格第一個時間,我的第一個是1997年8月,每行表示的是月度銷售量,因此,需要從"定義日期"對話框的左側"個案是"框中選擇"年,月",在左側輸入『1997』,月框中輸入『8』,表示第一個個案的起始月是1997年8月,
最後點擊確認,這樣spss數據文件裡面就會生成3個新的變數
如下圖:
第二步:了解時間序列的變化趨勢
了解時間序列的變化趨勢做一個序列表就可以了,單擊"分析",裡面選擇"時間序列預測,選擇"序列圖"對話框,然後把'平均值'移到"變數"框裡面,『DATE_』移到"時間軸標簽"框中,單擊"確定"。結果如圖
根據序列圖的分析知道,序列的波動隨著季節的波動越來越大,所以我們選擇乘法模型;
第三步:分析
單擊「分析」,選擇時間序列預測,然後選擇「季節性分解」,彈出「季節性分解」對話框,確認無誤之後點擊確定,如圖:
多了四個變數:
lERR表示誤差分析;
lSAS表示季節因素校正後序列;
lSAF表示季節因子;
lSTC表示長期趨勢和循環變動序列。
我們可以把新出現的四個變數、平均值和DATE_做序列圖。先把ERR、SAS、STC和平均值和DATE_做個序列圖,效果如下:
再單獨做個SAT和DATE_的時間序列圖
第四步:預測
1、 單擊「分析」,選擇「時間序列預測」,然後選擇「創建傳統模型」,之後就會彈出「時間序列建模」對話框。
2、 將「平均值」移至「因變數」框中,然後確定中間的「方法」,在下拉列表中選擇「專家建模器」項,單擊右側的「條件」按鈕,彈出「時間序列建模器:專家建模器條件」對話框。
3、 在「時間序列建模器:專家建模器條件」對話框的「模型」選項卡中,在「模型類型」框中選擇「所有模型」項,並勾選「專家建模器考慮季節性模型」復選框,設置完,點「繼續」按鈕
4、 在「時間序列建模器」對話框中,切換至「保存」選項卡中,勾選「預測值」復選框,單擊「導出模型條件」框中「XML文件」後面的「瀏覽」按鈕,然後設置導出的模型文件和保存路徑,然後單擊「確定」按鈕就可以了。
做完上面的步驟之後,在原始數據上面就又會多一列預測值出現。如圖:
之前保存了預測的模型,我們現在就利用那個模型進行預測數據。
1、 單擊「分析」,選擇「時間序列預測」,然後選擇「應用傳統模型」,彈出「應用模型序列」對話框。具體的操作如下圖:
最後一步切換至「保存」界面,勾選「預測值」之後單擊確定就可以了。
從預測值直接看看不出來,可以把預測的數據和原始數據放到一起看下,也是直接做序列圖就可以。
這樣就完成了一次時間序列的模型,具體的預測數據可以看原始數據上面的出現的新的一列數據。
- End -