曾聽某大神說,數據挖掘其實就干四件事:分類、聚類、關聯、預測。雖然我還不搞數據挖掘,但是感覺這四個也是平時用到最多的。然后,我就默默地把常用的模型又刷了一遍,整理一下寫在這里,一來方便同學們學習交流,二來我非科班出身,不足之處,還請路過的大神指教一二。
當當當當~~~首先,讓我們先來說說時間序列分析。
時間序列,顧名思義,就是一個以時間間隔為準則的序列,(官方說法:時間序列是一個變量在連續時點或連續時期上測量的觀測值的序列),這個時間間隔可以是一小時,一天,一周,一個月或者一年等等等等。然后我們根據這些數據可以了解到過去的行為模式,如果這種行為預計可以持續到未來,則可根據過去的模式并結合合適的預測方法來預測未來的數據。
總而言之呢,時間序列分析就是要在歷史資料或時間序列中發現規律性的模式,然后將這個模式外推到未來。
那么具體怎么操作呢,請聽我細細道來~
第一步:繪制時間序列圖,查看模式
第二步:根據模式分解時間序列
第三步: 對時間序列進行預測
PS:時間序列圖就是以時間為橫軸,時間序列值為縱軸的曲線圖
然后我們先按照不同的模式把知識進行一個概括
水平模式:數據圍繞一個不變的均值上下波動 (就是類似一條直線那樣的)
預測方法:
- 1.移動平均法
- 2.加權移動平均法
- 3.指數平滑法
趨勢模式:盡管時間序列的數據通常呈現隨機起伏的狀態,但在一段較長的時間內,它仍然呈現出逐步的改變或移動到相對較高或較低的值。
預測方法:
- 1.線性趨勢回歸
- 2.Holt線性指數平滑
- 3.非線性趨勢回歸
以上兩個都為非季節性時間序列,分解時只需要分解為一個趨勢部分和一個不規則部分。然后用TTR包中的SMA()函數去平滑時間序列數據。
季節模式:在超過一年的時間內,由于受季節的影響,時間序列圖呈現重復模式
通常在連續的時間段觀測同樣的重復模式來確認季節模式
預測方法:
- 按時間進行移動平均
趨勢與季節模式:當然是趨勢模式與季節模式的結合啦~
預測方法:
- 將季節性的虛擬變量方法與處理線性趨勢的時間序列回歸方法結合起來
以上兩個為季節性模式的時間序列,分解時要將它們分解為季節部分、趨勢部分和不規則部分三個部分,用R中的decompose()函數,分解后分別存儲在seasonal、tend和random三個變量中。
循環模式:持續時間超過一年的在在趨勢線的上下交替的點序列(只為保證完整性,我們不討論這個-_-||)
這里只是一個知識的概括,小伙伴們要想深入的話還是要去看書,俗話說,實踐出真知,下一次,我們要用一個實例把這個過程跑一遍~