常见的预测模型及算法
預(yù)測模型
- 1. 時間序列分析
- 2.機器學(xué)習(xí)預(yù)測模型
- 2.1 決策樹
- 2.2 支持向量機回歸(SVR)
如果得到一份數(shù)據(jù)集,任務(wù)是要預(yù)測出一系列的值,而在預(yù)測任務(wù)中,我們大多數(shù)都采用的是擬合的方法,這篇文字主要介紹三種預(yù)測方法時間序列分析,灰色預(yù)測模型,神經(jīng)網(wǎng)絡(luò)。
1. 時間序列分析
時間序列也叫動態(tài)序列,數(shù)據(jù)是按時間和數(shù)值性成的序列。而時間序列分析有三種作用,大致可以描述為描述過去,分析規(guī)律,預(yù)測將來。接下來將會講到三種模型(季節(jié)分解,指數(shù)平滑,ARIMA模型)。
一般情況下時間序列的數(shù)值變化規(guī)律有四種(長期趨勢T,循環(huán)變動C,長期趨勢T,不規(guī)則變動I)。我們先要對數(shù)據(jù)做出時間序列圖,觀察數(shù)據(jù)隨周期的變化,進而判斷序列是否隨周期波動大,如果說整體序列隨周期波動大,或波動不大,我們對其進行季節(jié)性分解,分別采用乘法和疊加模型。
至于缺失值可以自己選擇方法填補,這里主要介紹該模型的思想以及步驟。下面介紹具體預(yù)測模型。
首先介紹的是指數(shù)平滑模型
指數(shù)平滑大致分為簡單平滑,Holt線性趨勢模型,阻尼趨勢模型,簡單季節(jié)性 和溫特模型
簡單平滑模型
這里截取了一個文章的段落。
這里說明一下平滑參數(shù)α的選擇:(1)如果時間序列不規(guī)則起伏但長期趨于一個較穩(wěn)定的數(shù),那么α在(0.05,0.2)之間,(2)如果序列有明顯的變化,那么α在(0.3,0.5)之間,(3)如果序列變化比較緩慢則,α在(0.1,0.4)之間。要注意的是,這個模型只能預(yù)測一期數(shù)據(jù),原因是他的預(yù)測公式。
這里我們的第一項是要預(yù)測的。如果預(yù)測出來,再想要預(yù)測t+2時的數(shù)據(jù),可見我們需要Xt+1的真實數(shù)據(jù),而我們不存在它的真實數(shù)據(jù),最終預(yù)測t+2時只能用t+1預(yù)測值代替,帶入方程中就會得到Xt+2=Xt+1。就會有下面的現(xiàn)象。
當再到2014后面時都為一個數(shù)。各個模型的具體介紹及比較
Hole現(xiàn)象趨勢模型
Hole對簡單的指數(shù)平滑模型進行了延申,能夠預(yù)測包含趨勢的數(shù)據(jù),該方法包含一個預(yù)測方程和兩個平滑方法。適用條件:線性趨勢,不含季節(jié)成分。此外還有Brown線性趨勢模型是此模型的特例。
阻尼趨勢模型
適用條件:線性趨勢逐漸減弱且不含季節(jié)成分。Hole的線性趨勢模型對未來預(yù)測值過高,這此基礎(chǔ)上對該模型調(diào)整,加入阻力效應(yīng)有效緩解較高的線性趨勢。
模型如下:
如下是兩模型的比較,紅色指的是加入阻尼后的模型,藍色指的是Hole線性趨勢模型。
簡單季節(jié)性
適用條件:含有穩(wěn)定的季節(jié)性,不含趨勢。模型如下:
溫特加法與溫特乘法
他們的適用條件均是含有季節(jié)性和穩(wěn)定的季節(jié)成分,但是前面提到過,加法和乘法的選擇是要看時間序列的波動性,呈周期波動大的則是乘法,反之是加法。下面分別是溫特加法和溫特乘法。
從圖中更清楚的看到他們的區(qū)別,一者預(yù)測波動較大的另一個預(yù)測波動較為平緩的。
此外運用這些模型要需要時間序列的平穩(wěn)性,若平穩(wěn)度低,并時間序列間隔與預(yù)測無關(guān)即協(xié)方差為0則說明Xt是個白噪聲序列。一般用ACF和PACF檢測但是這兩種檢測偶然情況太多,很難判斷出來,下文會提到,如果是ARMA模型,根本判斷不出來。
由上面的指數(shù)平滑模型,這里預(yù)測女裝的銷售額,
首先對數(shù)據(jù)做出時間序列圖:
從中發(fā)現(xiàn)整體序列呈周期波動越來越大,因此,本文采用疊加模型對周期進行季節(jié)性分解。因時間序列數(shù)據(jù)受季節(jié)性影響較大和數(shù)據(jù)的波動規(guī)律,本文選取溫特的乘法模型。
通過觀察數(shù)據(jù),在每年中三月和十二月中,在一個周期內(nèi)明顯比其他月份的銷售額大,并且隨著周期的進行,我們發(fā)現(xiàn)整體時間序列數(shù)據(jù)隨周期波動逐漸升高,因而,我們對該時間序列采用乘法模型的季節(jié)性分解,分解后如下圖:
由于時間序列數(shù)據(jù)受季節(jié)性波動影響較大,本文采用溫特乘法(Winter’s multiplicative)模型對數(shù)據(jù)建模
說明溫特乘法序列模型的三個參數(shù)α,β,γ的值分別為0.034,2.4.6E-7,0.001,且此時Q檢驗服從原假設(shè),并且做出殘差A(yù)CF以及殘差PACF圖如下,可見在ACF檢驗中,所由滯后性階數(shù)均與0無差異,而PACF中可能存在少許誤差,說明擾動項噪聲數(shù)據(jù)基本屬于白噪聲,溫特乘法能夠較好低識別本數(shù)據(jù)。
根據(jù)溫特乘法,預(yù)測出的數(shù)據(jù)如下圖所示,實際值與擬合值趨勢基本符合,根據(jù)上表,擬合優(yōu)度有0.815,說明擬合效果良好,預(yù)測出來的數(shù)據(jù)也顯示出了周期性和波動的趨勢。
最后預(yù)測出十年女裝銷售額的數(shù)據(jù)如下:
2.機器學(xué)習(xí)預(yù)測模型
2.1 決策樹
這篇博客介紹決策樹還可以,借助這篇博客,用sklearn實現(xiàn)回歸樹
決策樹介紹
另外可以對決策樹可視化,效果圖:
附上實現(xiàn)的連接:可視化
2.2 支持向量機回歸(SVR)
支持向量分類產(chǎn)生的模型(如上所述)僅依賴于訓(xùn)練數(shù)據(jù)的一個子集,因為構(gòu)建模型的成本函數(shù)不關(guān)心超出邊界的訓(xùn)練點。類似地,支持向量回歸生成的模型僅依賴于訓(xùn)練數(shù)據(jù)的一個子集,因為成本函數(shù)忽略了預(yù)測接近其目標的樣本。
支持向量回歸有 3 種不同的實現(xiàn): SVR、NuSVR和LinearSVR。LinearSVR 提供比SVR但僅考慮線性內(nèi)核更快的實現(xiàn),同時NuSVR實現(xiàn)與SVR和略有不同的公式LinearSVR。
具體實現(xiàn)如下:
總結(jié)
以上是生活随笔為你收集整理的常见的预测模型及算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java照片墙_基于jQuery实现照片
- 下一篇: EndnoteX9下载并安装