99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀時間序列預(yù)測方法
時間序列預(yù)測方法
2016-05-04
收藏

時間序列預(yù)測方法

預(yù)測:是對尚未發(fā)生或目前還不明確的事物進行預(yù)先的估計和推測,是在現(xiàn)時對事物將要發(fā)生的結(jié)果進行探討和研究,簡單地說就是指從已知事件測定未知事件。

為什么要預(yù)測呢,因為預(yù)測可以幫助了解事物發(fā)展的未來狀況后,人們可以在目前為它的到來做好準備,通過預(yù)測可以了解目前的決策所可能帶來的后果,并通過對后果的分析來確定目前的決策,力爭使目前的決策獲得最佳的未來結(jié)果。

我們進行預(yù)測的總的原則是:認識事物的發(fā)展變化規(guī)律,利用規(guī)律的必然性,是進行科學預(yù)測所應(yīng)遵循的總的原則。

這個總原則實際上就是事物發(fā)展的

1-“慣性”原則——事物變化發(fā)展的延續(xù)性;

2-“類推”原則——事物發(fā)展的類似性;

3-“相關(guān)”原則——事物的變化發(fā)展是相互聯(lián)系的;

4-“概率”原則——事物發(fā)展的推斷預(yù)測結(jié)果能以較大概率出現(xiàn),則結(jié)果成立、可用;

時間序列預(yù)測主要包括三種基本方法:

1-內(nèi)生時間序列預(yù)測技術(shù);2-外生時間序列預(yù)測技術(shù);3-主觀時間序列預(yù)測技術(shù);

當然今天我們主要討論內(nèi)生時間序列預(yù)測技術(shù)——也就是只關(guān)注時間序列的下的預(yù)測問題!

從數(shù)據(jù)分析的角度來考慮,我們需要研究:
  1. 序列是否在固定水平上下變動?
  2. 此水平是否也在變動?
  3. 是否有某種上升或下降的趨勢呢?
  4. 是否存在有季節(jié)性的模式?
  5. 是否季節(jié)性的模式也在變更呢?
  6. 是否存在周期性規(guī)律和模式?
時間序列有一明顯的特性就是記憶性(memory),記憶性系指時間數(shù)列中的任一觀測值的表現(xiàn)皆受到過去觀測值影響。

時間序列主要考慮的因素是:

長期趨勢(Long-term trend) 

  1. 時間序列可能相當穩(wěn)定或隨時間呈現(xiàn)某種趨勢。
  2. 時間序列趨勢一般為線性的(linear),二次方程式的 (quadratic)或指數(shù)函數(shù)(exponential function)。
  3. 季節(jié)性變動(Seasonal variation)
  1. 按時間變動,呈現(xiàn)重復(fù)性行為的序列。
  2. 季節(jié)性變動通常和日期或氣候有關(guān)。
  3. 季節(jié)性變動通常和年周期有關(guān)。
  4. 周期性變動(Cyclical variation)
  5. 相對于季節(jié)性變動,時間序列可能經(jīng)歷“周期性變動”。
  6. 周期性變動通常是因為經(jīng)濟變動。
  7. 隨機影響(Random effects)
預(yù)測技術(shù)主要包括兩大類:

指數(shù)平滑方法(Exponential smoothing models):
    描述時間序列數(shù)據(jù)的變化規(guī)律和行為,不去試圖解釋和理解這種變化的原因。例如:您可能發(fā)現(xiàn)在過去的一年里,三月和九月都會出現(xiàn)銷售的高峰,您可能希望繼續(xù)保持這樣,盡管您不知道為什么。

ARIMA模型:
    描述時間序列數(shù)據(jù)的變化規(guī)律和行為,它允許模型中包含趨勢變動、季節(jié)變動、循環(huán)變動和隨機波動等綜合因素影響。具有較高的預(yù)測精度,可以把握過去數(shù)據(jù)變動模式,有助于解釋預(yù)測變動規(guī)律,回答為什么這樣。

時間序列預(yù)測技術(shù)之二——PASW Statistics 18 軟件操作 


下面看看如何采用SPSS軟件進行時間序列的預(yù)測!
這里我用PASW Statistics 18軟件,大家可能覺得沒見過這個軟件,其實就是SPSS18.0,不過現(xiàn)在SPSS已經(jīng)把產(chǎn)品名稱改稱為PASW了!

博易智訊的馬博士剛剛把這個產(chǎn)品測試版給我,還是中文版,先睹為快吧!
我們通過案例來說明:(本案例并不想細致解釋預(yù)測模型的預(yù)測的假設(shè)檢驗問題,1-太復(fù)雜、2-相信軟件)
假設(shè)我們拿到一個時間序列數(shù)據(jù)集:某男裝生產(chǎn)線銷售額。一個產(chǎn)品分類銷售公司會根據(jù)過去 10 年的銷售數(shù)據(jù)來預(yù)測其男裝生產(chǎn)線的月銷售情況。

現(xiàn)在我們得到了10年120個歷史銷售數(shù)據(jù),理論上講,歷史數(shù)據(jù)越多預(yù)測越穩(wěn)定,一般也要24個歷史數(shù)據(jù)才行!

大家看到,原則上講數(shù)據(jù)中沒有時間變量,實際上也不需要時間變量,但你必須知道時間的起點和時間間隔。

當我們現(xiàn)在預(yù)測方法創(chuàng)建模型時,記住:一定要先定義數(shù)據(jù)的時間序列和標記!

這時候你要決定你的時間序列數(shù)據(jù)的開始時間,時間間隔,周期!在我們這個案例中,你要決定季度是否是你考 慮周期性或季節(jié)性的影響因素,軟件能夠偵測到你的數(shù)據(jù)的季節(jié)性變化因子。

定義了時間序列的時間標記后,數(shù)據(jù)集自動生成四個新的變量:YEAR、QUARTER、MONTH和DATE(時間標簽)。

接下來:為了幫我們找到適當?shù)哪P?,最好先繪制時間序列。時間序列的可視化檢查通??梢院芎玫刂笇?dǎo)并幫助我們進行選擇。另外,我們需要弄清以下幾點:

? 此序列是否存在整體趨勢?如果是,趨勢是顯示持續(xù)存在還是顯示將隨時間而消逝?

? 此序列是否顯示季節(jié)變化?如果是,那么這種季節(jié)的波動是隨時間而加劇還是持續(xù)穩(wěn)定存在?

這時候我們就可以看到時間序列圖了!

我們看到:此序列顯示整體上升趨勢,即序列值隨時間而增加。上升趨勢似乎將持續(xù),即為線性趨勢。此序列還有一個明顯的季節(jié)特征,即年度高點在十二月。季節(jié)變化顯示隨上升序列而增長的趨勢,表明是乘法季節(jié)模型而不是加法季節(jié)模型。

此時,我們對時間序列的特征有了大致的了解,便可以開始嘗試構(gòu)建預(yù)測模型。時間序列預(yù)測模型的建立是一個不斷嘗試和選擇的過程。

PASW Statistics提供了三大類預(yù)測方法:1-專家建模器,2-指數(shù)平滑法,3-ARIMA

指數(shù)平滑法

指數(shù)平滑法有助于預(yù)測存在趨勢和/或季節(jié)的序列,此處數(shù)據(jù)同時體現(xiàn)上述兩種特征。創(chuàng)建最適當?shù)闹笖?shù)平滑模型包括確定模型類型(此模型是否需要包含趨勢和/或季節(jié)),然后獲取最適合選定模型的參數(shù)。

1-簡單模型預(yù)測(即無趨勢也無季節(jié))

首先我們采用最為簡單的建模方法,就是簡單模型,這里我們不斷嘗試的目的是讓大家熟悉各種預(yù)測模型,了解模型在什么時候不適合數(shù)據(jù),這是成功構(gòu)建模型的基本技巧。我們先不討論模型的檢驗,只是直觀的看一下預(yù)測模型的擬合情況,最后我們確定了預(yù)測模型后我們再討論檢驗和預(yù)測值。

從圖中我們看到,雖然簡單模型確實顯示了漸進的上升趨勢,但并不是我們期望的結(jié)果,既沒有考慮季節(jié)性變化,也沒有周期性呈現(xiàn),直觀的講基本上與線性預(yù)測沒有差異。所以我們拒絕此模型。

2-Holt線性趨勢預(yù)測

Holt線性指數(shù)平滑法,一般選擇:針對等級的平滑系數(shù)lapha=0.1,針對趨勢的平滑系數(shù)gamma=0.2;

從上面的擬合情況看,Holt預(yù)測模型更平滑了,也就是說Holt模型比簡單模型顯現(xiàn)了更強的平滑趨勢,但未考慮季節(jié)因素,還是不理想,所以還應(yīng)放棄此模型。

3-簡單季節(jié)性模型

當我們考慮了季節(jié)性變化后,簡單季節(jié)性預(yù)測模型基本上較好的擬合了數(shù)據(jù)的大趨勢,也就是考慮了趨勢和季節(jié)。

4-Winters相乘法預(yù)測模型

我們再次選擇Winters預(yù)測模型,實際上這時候非統(tǒng)計專業(yè)人士其實已經(jīng)可以不用考慮Winters模型的原理了,因為對于大部分經(jīng)營分析人員,如果期望把每一個預(yù)測方式的細節(jié)都搞清楚,并不容易,也容易陷入數(shù)量層面的糾葛中,我們只要相信軟件算法就可以了。

此時,在數(shù)據(jù)集的時間跨度為10年,并且包含 10 個季節(jié)峰值(出現(xiàn)在每年十二月份)中,簡單季節(jié)模型和Winters模型都撲捉到了這10個峰值與實際數(shù)據(jù)中的10個年度峰值完全匹配的預(yù)測結(jié)果。此時,我們基本上可以得到了一個比較滿意的預(yù)測結(jié)果。

此時也說明,無論采用指數(shù)平滑的什么模型,只要考慮了季節(jié)因素,都可以得到較好結(jié)果,不同的季節(jié)性指數(shù)平滑方法只是細微差異了。

但是,我們仔細看預(yù)測值和擬合值,還是有一些上升和下降的趨勢和結(jié)構(gòu)沒有撲捉到。預(yù)測還有改進的需求!

5-ARIMA預(yù)測模型

ARIMA模型是自回歸AR和移動平均MA加上差分考慮,但ARIMA模型就比較復(fù)雜了,對大部分經(jīng)營分析人員來講,要搞清楚原理和方程公式,太困難了!期望搞清楚的人必須學過隨機過程,什么平穩(wěn)過程、白噪聲等,大部分人頭都大了,現(xiàn)在有了軟件就不問為什么了,只要知道什么數(shù)據(jù)In,什么結(jié)果Out,就可以了。

我們采用專家建模器,但指定僅限ARIMA模型,并考慮季節(jié)性因素。


此時,我們看到模型擬合并相比較簡單季節(jié)性和Winters模型沒有太大的優(yōu)勢,結(jié)果可接受,但是大家注意到?jīng)]有,實際上我們一直沒有考慮自變量的進入問題,假如我們有其它變量可能會影響到男裝銷售收入,情況又會發(fā)生什么變化呢?


數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務(wù)器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }