1.中國(guó)科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心,北京 100190
2.中國(guó)科學(xué)院大學(xué),北京 100049
通常事業(yè)單位、私營(yíng)企業(yè)的會(huì)計(jì)賬戶結(jié)構(gòu)分為兩個(gè)基本部分,一部分反映增加,另一部分反映減少。其中,登記的本期增加金額,稱為本期增加發(fā)生額;登記的本期減少金額,稱為本期減少發(fā)生額[1]。期末余額(Closing balance or Ending balance)是指期初余額(Opening balance or Beginning balance)加本期增加發(fā)生額和本期減少發(fā)生額相抵后的差額(亦稱余額),即在一定時(shí)期內(nèi)期末(單位:可選日、周、月、季度、年等時(shí)間單位)結(jié)出的賬戶余額,具體公式如下:
期末余額,是隨時(shí)間周期動(dòng)態(tài)變化的序列數(shù)據(jù),即屬于時(shí)間序列的范疇。本文第1章詳細(xì)地介紹了時(shí)間序列的概念、定義以及分別就分類和回歸兩個(gè)大類介紹時(shí)間序列分析(Time-Series Analysis)的有關(guān)方法。時(shí)間序列分析和預(yù)測(cè)是機(jī)器學(xué)習(xí)(Machine Learning,ML)算法、深度學(xué)習(xí)(Deep Learning,DL)算法中常見(jiàn)的一種類型,經(jīng)常使用指數(shù)平滑法(Exponential Smoothing,ES)[3]和ARIMA 模型以及其它算法來(lái)解決時(shí)間序列中的各種問(wèn)題,例如:商品銷售預(yù)測(cè)[4]。
近年來(lái),相較于傳統(tǒng)的基于規(guī)則的模型和算法,機(jī)器學(xué)習(xí)算法和深度學(xué)習(xí)算法在股票預(yù)測(cè)、價(jià)格預(yù)測(cè)等[5,6]金融領(lǐng)域的時(shí)間序列分析問(wèn)題中已經(jīng)取得了較為顯著的應(yīng)用成果。但在本文研究的單位或企業(yè)每日期末余額預(yù)測(cè)問(wèn)題上,目前雖有分析師或工程師選擇使用 ARIMA 模型、Holt-Winters 模型進(jìn)行處理,但普通的分析師們較難掌握相應(yīng)的專業(yè)知識(shí)進(jìn)行優(yōu)化,外加數(shù)據(jù)本身情況復(fù)雜、規(guī)律性差,故而預(yù)測(cè)結(jié)果容易出現(xiàn)偏差。我們根據(jù)以上原因,選擇FaceBook 公司開(kāi)源時(shí)間序列預(yù)測(cè)框架 fbprophet。fbprophet 在當(dāng)前已有的眾多機(jī)器學(xué)習(xí)模型和框架中表現(xiàn)十分突出,一經(jīng)發(fā)布,迅速成為時(shí)下時(shí)間序列分析愛(ài)好者們的首選框架之一,特別是在處理帶有季節(jié)性、節(jié)假日效應(yīng)的時(shí)間序列數(shù)據(jù)時(shí),大放異彩。本文在第2 章是介紹 fbprophet的原理、結(jié)構(gòu),及選擇 fbprophet的具體原因。
第3 章實(shí)驗(yàn)部分,首先介紹實(shí)驗(yàn)開(kāi)始前數(shù)據(jù)的預(yù)處理,具體的步驟包括異常值和離群點(diǎn)處理、缺失值處理、歸一化處理等操作,以及如何通過(guò)模型的可解釋參數(shù)優(yōu)化預(yù)測(cè)結(jié)果;其次,介紹實(shí)驗(yàn)的開(kāi)展過(guò)程和結(jié)果對(duì)比、分析,除本文推薦的fbprophet 模型外,我們選擇使用常見(jiàn)的多層感知器(Multi-Layer Perception,MLP)以及極端梯度提升(eXtreme Gradient Boosting,XGBoost)等模型作為對(duì)比,并分析了當(dāng)前存在的不足。第4 章是最終章,展望了未來(lái)的應(yīng)用領(lǐng)域和擴(kuò)展趨勢(shì),進(jìn)行總結(jié)。
本文的貢獻(xiàn)在于,通過(guò) fbprophet 對(duì)期末余額數(shù)據(jù)進(jìn)行分析,在證明 fbprophet 對(duì)復(fù)雜多變的時(shí)間序列仍有較高準(zhǔn)確率的前提下,為單位或企業(yè)提供了未來(lái)期末余額的預(yù)測(cè)結(jié)果,方便財(cái)務(wù)人員直接觀測(cè)余額的趨勢(shì)變化從而進(jìn)行財(cái)務(wù)管理和資金調(diào)整。同時(shí),通過(guò)真實(shí)數(shù)據(jù)的有效實(shí)驗(yàn),證明 fbprophet 在中國(guó)科學(xué)院“新一代 ARP 系統(tǒng)“(簡(jiǎn)稱 NEW ARP)上使用的可行性,為NEW ARP的后續(xù)功能擴(kuò)展(包括財(cái)務(wù)報(bào)表分析、預(yù)測(cè)等)提供可靠意見(jiàn)。
時(shí)間序列(Time Series),通常是指以一定的時(shí)間間隔,按照時(shí)間先后順序收集某種現(xiàn)象或某一個(gè)統(tǒng)計(jì)指標(biāo)的數(shù)據(jù)而形成的序列[7]。其主要目的是根據(jù)已有的歷史數(shù)據(jù)對(duì)其在未來(lái)某一時(shí)間段內(nèi)的改變進(jìn)行預(yù)測(cè)。通常,一個(gè)時(shí)間序列數(shù)據(jù)往往由以下四部分構(gòu)成:長(zhǎng)期趨勢(shì)(T)、季節(jié)變動(dòng)(S)、循環(huán)變動(dòng)(C)和不規(guī)則變動(dòng)(I)[8]。任何隨時(shí)間變化而改變的變量均可以使用時(shí)間序列分析方法進(jìn)行處理。
1.2.1 時(shí)間序列分類算法
通常情況下,無(wú)論是在科學(xué)研究或工程應(yīng)用中,我們可獲取的時(shí)間序列數(shù)據(jù)主要以回歸預(yù)測(cè)問(wèn)題為展開(kāi)。例如:產(chǎn)品銷售預(yù)測(cè)、價(jià)格預(yù)測(cè)、股票預(yù)測(cè)等。但隨著機(jī)器學(xué)習(xí)技術(shù)和深度學(xué)習(xí)技術(shù)的不斷更新以及當(dāng)代數(shù)據(jù)規(guī)模呈指數(shù)倍增長(zhǎng)的發(fā)展趨勢(shì),各式各樣的想法和算法也隨之產(chǎn)生。例如:預(yù)測(cè)某一行業(yè)內(nèi)某家企業(yè)產(chǎn)品銷售利潤(rùn)的變動(dòng)趨勢(shì),我們并不固化地預(yù)測(cè)具體的銷售利潤(rùn)值,而是根據(jù)選定的閾值,預(yù)測(cè)其在未來(lái)某一階段內(nèi)的波動(dòng)趨勢(shì)是逐步上漲還是整體下跌,而該問(wèn)題屬于分類問(wèn)題的范疇,即時(shí)間序列分類(Time Series Classification,TSC)。目前,專注于時(shí)間序列分類問(wèn)題的愛(ài)好者們通常喜歡選擇多層感知器,或者全卷積神經(jīng)網(wǎng)絡(luò)(Fully Convolutional Neural Network,FCNs)以及殘差網(wǎng)絡(luò)(Residual Networks,ResNets)[9]等多種算法模型。同時(shí),有效的解決時(shí)間序列分類問(wèn)題有助于其在像心電圖(ECG/EEG)信號(hào)分類等獨(dú)具意義的重大領(lǐng)域做出貢獻(xiàn)[10]。
1.2.2 時(shí)間序列回歸預(yù)測(cè)算法
整體而言,常見(jiàn)的時(shí)間序列分析仍以預(yù)測(cè)未來(lái)某一個(gè)時(shí)間節(jié)點(diǎn)或幾個(gè)時(shí)間節(jié)點(diǎn)的狀態(tài)實(shí)際值即時(shí)間序列回歸預(yù)測(cè)(Time Series Regression Prediction)問(wèn)題而居多。常見(jiàn)的分析方法通常建立在統(tǒng)計(jì)學(xué)的基礎(chǔ)之上,例如:差分整合移動(dòng)平均自回歸模型,又稱為整合移動(dòng)平均自回歸模型(Auto regressive Integrated Moving Average Model,ARIMA)及其組合擴(kuò)展[11]。或者可采用長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short Term Memory,LSTM)[12]等模型以及根據(jù)具體的應(yīng)用場(chǎng)景進(jìn)行擴(kuò)展。
目前,常見(jiàn)的預(yù)測(cè)方法需要滿足諸多假設(shè),例如:數(shù)據(jù)的分布應(yīng)滿足高斯分布(Gaussian distribution)或其它分布;或滿足一些平穩(wěn)性假設(shè)以及一定的約束條件等。但這通常會(huì)導(dǎo)致算法在實(shí)際應(yīng)用場(chǎng)景中受到嚴(yán)格的限制。
本文提出的問(wèn)題,期末余額預(yù)測(cè),以未來(lái)一個(gè)月(即 31天)之內(nèi)單位或企業(yè)每日的期末余額為預(yù)測(cè)目標(biāo)。其數(shù)據(jù)隨時(shí)間動(dòng)態(tài)變化,即滿足時(shí)間的依賴性。
同時(shí),現(xiàn)實(shí)世界背景下獲取的數(shù)據(jù)往往包含大量的不確定性。在期末余額預(yù)測(cè)問(wèn)題中,可能存在大量因季節(jié)性、節(jié)假日效應(yīng)和業(yè)務(wù)變化等原因造成的離群點(diǎn)或異常值。(注釋:此處的離群點(diǎn)和異常值并非指因記錄人員登記錯(cuò)誤、記錄缺失等主觀原因造成的數(shù)據(jù)異常。)
所以,在模型的選擇和構(gòu)造時(shí),需要考慮時(shí)間序列數(shù)據(jù)本身是否包含趨勢(shì)、周期、季節(jié)性、噪音、隨機(jī)性、曲線和水平等諸多特點(diǎn)。若選擇使用常見(jiàn)的機(jī)器學(xué)習(xí)、深度學(xué)習(xí)時(shí)間序列分析方法,例如:ARIMA 或 LSTM 模型,對(duì)于對(duì)時(shí)間序列領(lǐng)域或當(dāng)前業(yè)務(wù)領(lǐng)域不熟悉、缺少經(jīng)驗(yàn)的使用者們來(lái)說(shuō),較難進(jìn)行有效的超參數(shù)調(diào)整、修改神經(jīng)網(wǎng)絡(luò)內(nèi)部結(jié)構(gòu)、添加額外的影響因素等優(yōu)化工作,進(jìn)而難以得出可靠的預(yù)測(cè)結(jié)果。故,本文選擇使用 fbprophet 模型。fbprophet模型的原理和優(yōu)點(diǎn)以及選擇使用的具體原因如第2章節(jié)所述。
2.1.1 fbprophet 原理說(shuō)明
fbprophet 是 Facebook 于2017年2月24日開(kāi)源的一款時(shí)間序列預(yù)測(cè)框架。托管在GitHub 上。該模型基于一個(gè)靈活的貝葉斯模型(Bayesian model),其本質(zhì)是一個(gè)可分解的時(shí)間序列模型[13],其中包含以下三個(gè)主要的模型組建:
其中,g(t)是趨勢(shì)函數(shù),它就時(shí)間序列數(shù)據(jù)的非周期性變化進(jìn)行建模;s(t)表示周期變化(例如:每周或每年的季節(jié)性,可根據(jù)實(shí)際業(yè)務(wù)應(yīng)用場(chǎng)景改變時(shí)間粒度);h(t)表示假期的影響;εt表示誤差項(xiàng)[14]。
同時(shí),該框架內(nèi)置了直觀的參數(shù),使用者可以在完全不了解模型底層實(shí)現(xiàn)細(xì)節(jié)的前提下根據(jù)數(shù)據(jù)本身進(jìn)行調(diào)整。正如同 Taylor SJ和Letham B 論文中所述的一樣,“讓對(duì)于時(shí)間序列模型和方法知之甚少的非領(lǐng)域人員也能夠靈活地將其應(yīng)用于廣泛的業(yè)務(wù)時(shí)間序列中[14]。”
2.1.2 fbprophet 流程結(jié)構(gòu)說(shuō)明
從整體上看,fbprophet的預(yù)測(cè)流程是一個(gè)循環(huán)結(jié)構(gòu),由 Modeling、Forecast Evaluation、Surface Problems 以及 Visually Inspect Forecasts 四部分依次循環(huán)組成,反復(fù)迭代[14]。即整個(gè)過(guò)程是人工分析和自動(dòng)化預(yù)測(cè)相結(jié)合的循環(huán)結(jié)構(gòu)。
相較于其它時(shí)間序列預(yù)測(cè)模型和框架,fbprophet自身具備諸多優(yōu)點(diǎn),包括:(1)程序執(zhí)行準(zhǔn)確、快速?,F(xiàn)如今,F(xiàn)acebook的許多應(yīng)用程序都使用fbprophet為規(guī)劃計(jì)劃和目標(biāo)設(shè)定提供可靠的預(yù)測(cè)結(jié)果。fbprophet 把模型放到stan中,即可以非??焖俚氐玫筋A(yù)測(cè)結(jié)果[15];(2)自動(dòng)化??勺詣?dòng)對(duì)擬合的時(shí)間序列歷史數(shù)據(jù)中的缺失值進(jìn)行有效的處理[15];(3)可對(duì)估計(jì)結(jié)果進(jìn)行調(diào)整。若使用者自身具備一定程度的專業(yè)知識(shí)和業(yè)務(wù)經(jīng)驗(yàn),可通過(guò)調(diào)節(jié)模型自帶的可解釋參數(shù),優(yōu)化預(yù)測(cè)結(jié)果[15];(4)為了方便更多的用戶使用,fbprophet 提供了 Python 編程語(yǔ)言和R 編程語(yǔ)言的兩類版本[15]。同時(shí),fbprophet 框架自身內(nèi)嵌可視化工具,方便使用者們直接觀察預(yù)測(cè)結(jié)果。其次,同其它模型相比,整個(gè)預(yù)測(cè)流程操作簡(jiǎn)單、容易上手、使用便捷。故,我們選擇 fbprophet 框架作為單位或企業(yè)日期末余額預(yù)測(cè)的預(yù)測(cè)模型。
本文的實(shí)驗(yàn)?zāi)康模球?yàn)證 fbprophet 模型相比于其它神經(jīng)網(wǎng)絡(luò)模型或機(jī)器學(xué)習(xí)算法,在操作便利的同時(shí),面對(duì)情況復(fù)雜、變化多端、不確定性大的日期末余額時(shí)間序列預(yù)測(cè)問(wèn)題時(shí),仍可以有較好的表現(xiàn),說(shuō)明其具有較強(qiáng)的魯棒性。方便日后向其它同類型領(lǐng)域或其它分支領(lǐng)域出現(xiàn)的問(wèn)題進(jìn)行擴(kuò)展,因此,首先對(duì)數(shù)據(jù)進(jìn)行了異常值和離群點(diǎn)處理、缺失值處理和歸一化處理以及模型的參數(shù)調(diào)優(yōu);其次,我們將時(shí)間序列數(shù)據(jù)放入到fbprophet 模型和其它用于對(duì)比的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)算法模型中,包括:MLP和XGBoost 等模型,通過(guò)回歸預(yù)測(cè)擬合指標(biāo) -- 平均絕對(duì)百分比誤差(Mean Absolute Percentage Error,MAPE)的相關(guān)對(duì)比,觀察 fbprophet 模型在真實(shí)數(shù)據(jù)上的預(yù)測(cè)結(jié)果。
3.2.1 數(shù)據(jù)集描述
本文使用某單位近年來(lái)日期末余額的脫敏數(shù)據(jù)。每個(gè)數(shù)據(jù)樣本有兩個(gè)特征,分別是“每日的日期”和“每日的期末余額”,作為fbprophet的輸入。fbprophet的輸入必須包含兩列數(shù)據(jù),一是時(shí)間戳,即時(shí)間信息;二是數(shù)值,代表需要預(yù)測(cè)的變量。且分別修改特征名稱為“ds”和“y”(需要遵守的固定格式)。
3.2.2 異常值和離群點(diǎn)處理
首先,通過(guò)人工比對(duì)等方式排除數(shù)據(jù)中因工作人員記錄錯(cuò)誤等主觀原因造成的異常值;其次,通過(guò)相關(guān)的業(yè)務(wù)經(jīng)驗(yàn)設(shè)定閾值,將不滿足的數(shù)據(jù)離群點(diǎn)剔除。
3.2.3 缺失值處理
本文使用 datatime.datatime()方法,首先核實(shí)序列中除刪除的異常值和離群點(diǎn)外,是否存在非節(jié)假日期間數(shù)據(jù)的缺失。若存在,則使用 fbprophet 擬合歷史數(shù)據(jù)時(shí)的預(yù)測(cè)值進(jìn)行填充;其次,在通常情況下,單位或企業(yè)因正常的雙休日、節(jié)假日休息,不會(huì)有業(yè)務(wù)往來(lái)、資本交易、現(xiàn)金流動(dòng)等操作,即日期末余額一般不會(huì)發(fā)生變化。但為了保證時(shí)間序列的完整性,將缺失的節(jié)假日日期補(bǔ)充到時(shí)間序列中。并使用每周五和每個(gè)節(jié)假日(例如:五一勞動(dòng)節(jié)、十一國(guó)慶節(jié))頭一天的期末余額填充相鄰的雙休日、節(jié)假日的缺失值。(注釋:該步驟可根據(jù)業(yè)務(wù)需要酌情省略。但在其他業(yè)務(wù)場(chǎng)景中,例如:商場(chǎng)銷售利潤(rùn)預(yù)測(cè),具有很強(qiáng)的節(jié)假日效應(yīng),因?yàn)樯虉?chǎng)的銷售利潤(rùn)通常在雙休日期間會(huì)高于工作日,尤其是節(jié)假日。則需要處理缺失值并通過(guò)holidays參數(shù)添加日期。)
3.2.4 歸一化處理
為了防止因輸入數(shù)據(jù)過(guò)大導(dǎo)致模型難以便捷快速的得出預(yù)測(cè)結(jié)果,于是對(duì)數(shù)據(jù)采取歸一化處理進(jìn)而保證程序運(yùn)行時(shí)收斂加快。歸一化后的數(shù)據(jù)仍然保持原數(shù)據(jù)間的相對(duì)關(guān)系,同時(shí)一定程度上提高了數(shù)據(jù)的可比性。
可選用的數(shù)據(jù)歸一化方法(Normalization Method)有:常見(jiàn)的min-max標(biāo)準(zhǔn)化(Min-Max Normalization),同時(shí)也叫線性函數(shù)歸一化;Z-score標(biāo)準(zhǔn)化(Z-score standardization),也叫 0 均值標(biāo)準(zhǔn)化;以及對(duì)數(shù)歸一、指數(shù)歸一等多種方法。
3.2.5 參數(shù)調(diào)節(jié)
使用 fbprophet 自帶的可調(diào)節(jié)參數(shù),例如:yearly_seasonality 參數(shù)(在實(shí)例化模型時(shí),可以為每個(gè)內(nèi)置的季節(jié)性指定傅里葉級(jí)數(shù)[16])、changepoint_prior_scale 參數(shù)(默認(rèn)情況下,該參數(shù)設(shè)置為0.05。增加它將使擬合趨勢(shì)更加靈活[17])等,根據(jù)模型擬合時(shí)間序列歷史數(shù)據(jù)后預(yù)測(cè)未來(lái)的實(shí)驗(yàn)結(jié)果進(jìn)行調(diào)參優(yōu)化,起到逐步改善模型預(yù)測(cè)精度的作用。holidays 參數(shù)同上文所述,不再重復(fù)。
機(jī)器學(xué)習(xí)模型、深度學(xué)習(xí)模型需要計(jì)算評(píng)估指標(biāo),從而獲取模型表現(xiàn)好壞的反饋,進(jìn)而幫助使用者優(yōu)化算法或選擇模型。在回歸預(yù)測(cè)問(wèn)題中,常見(jiàn)的評(píng)估指標(biāo)有:均方誤差(Mean Squared error,MSE);均方根誤差(Root Mean Squared Error,RMSE),或稱為方均根偏移、均方根差、方均根差等;平均絕對(duì)百分比誤差也叫平均絕對(duì)百分比偏差(Mean Absolute Percentage Deviation,MAPD)以及平均絕對(duì)誤差(Mean Absolute Deviation,MAE)等。
四項(xiàng)評(píng)估指標(biāo)各自具有不同的優(yōu)缺點(diǎn),本文根據(jù)實(shí)驗(yàn)的情況和需要選擇平均絕對(duì)百分比誤差作為衡量指標(biāo)。其中,平均絕對(duì)百分比誤差主要考慮了預(yù)測(cè)誤差與數(shù)據(jù)真實(shí)值之間的比例。其范圍為[0,+∞),平均絕對(duì)百分比誤差為0 % 代表模型完美,平均絕對(duì)百分比誤差大于100 % 則代表模型劣質(zhì)。
平均絕對(duì)百分比誤差的公式如下圖所示:
使用 scikit-learn的MLPRegressor和xgboost 以及 MultiOutputRegressor,分別構(gòu)造 MLP和XGBoost模型,同 fbprophet 模型對(duì)同一時(shí)間序列輸出預(yù)測(cè)結(jié)果,并分別計(jì)算各模型預(yù)測(cè)結(jié)果和真實(shí)值之間的平均絕對(duì)百分比誤差,從而進(jìn)行對(duì)比。
我們隨機(jī)選擇了數(shù)據(jù)集中的某一天作為劃分訓(xùn)練集和測(cè)試集的分割點(diǎn),將這一天之前的歷史數(shù)據(jù)作為訓(xùn)練集,分別輸入到MLP和XGBoost 以及 fbprophet等諸多模型中,進(jìn)行擬合訓(xùn)練并輸出預(yù)測(cè)值。通過(guò)測(cè)試集,分別得到未來(lái) 1天至31天內(nèi),各時(shí)間段的真實(shí)值和各個(gè)模型預(yù)測(cè)值之間的平均絕對(duì)百分比誤差,對(duì)比 fbprophet的預(yù)測(cè)效果。
圖1 MLP、XGBoost、fbprophet 等模型預(yù)測(cè)未來(lái)一個(gè)月每日期末余額的預(yù)測(cè)結(jié)果的平均絕對(duì)百分比誤差(預(yù)測(cè)天數(shù)逐步增加)Fig.1 The mean absolute percentage error of the prediction results of daily ending balance predicted by MLP,XGBoost,fbprophet for the next month(the predicted days gradually increase)
圖2 fbprophet的平均絕對(duì)百分比誤差趨勢(shì)走向(預(yù)測(cè)天數(shù)以 7天即 1 周為單位逐步增加)Fig.2 Trend of average absolute percentage error of fbprophet(the predicted days gradually increase in unit of 7 days or 1 week)
由下文的實(shí)驗(yàn)圖片 1的展現(xiàn)結(jié)果可以看出,隨著各模型預(yù)測(cè)天數(shù)的增加(1天、2天、1 周最終到1個(gè)月),作為回歸預(yù)測(cè)評(píng)估指標(biāo)的平均絕對(duì)百分比誤差期初較為動(dòng)蕩,中期略為平穩(wěn),后期逐步增高。經(jīng)分析,期初包含的時(shí)間節(jié)點(diǎn)較少,1個(gè)預(yù)測(cè)值的偏差可能導(dǎo)致整個(gè)預(yù)測(cè)結(jié)果的誤差增高。中期隨著預(yù)測(cè)天數(shù)的增加使得單個(gè)偏差的影響變小,但與之同時(shí),時(shí)間序列中包含的不確定性因素也隨之增加,即中后期各模型的評(píng)估指標(biāo)值也隨之增加。通過(guò)觀察可發(fā)現(xiàn),fbprophet的增長(zhǎng)幅度在3個(gè)模型中最為緩慢。其中,由實(shí)驗(yàn)圖片 2 可知,fbprophet的平均絕對(duì)百分比誤差值于中后期(1個(gè)月內(nèi))始終保持在0.20至0.25 上下。實(shí)驗(yàn)結(jié)果說(shuō)明,相較于其它模型,fbprophet 在單位日期末余額預(yù)測(cè)問(wèn)題等實(shí)際應(yīng)用場(chǎng)景上具有較好的表現(xiàn),達(dá)到了期望的結(jié)果。
在金融領(lǐng)域的時(shí)間序列預(yù)測(cè)問(wèn)題中,相比于潛在的季節(jié)性以及節(jié)假日效應(yīng)等干擾因素,存在不確定性的最大來(lái)源就在于未來(lái)趨勢(shì)的不可控性。在fbprophet中,我們假設(shè)未來(lái)趨勢(shì)的平均變動(dòng)頻率與幅度和我們觀測(cè)到的歷史值是一樣的,從而預(yù)測(cè)趨勢(shì)的變化并通過(guò)計(jì)算最終得到預(yù)測(cè)區(qū)間。但我們并沒(méi)有足夠的依據(jù)和手段保證該假設(shè)一定是正確的,特別是在處理規(guī)律性較差、數(shù)據(jù)分布不均勻的真實(shí)世界的業(yè)務(wù)問(wèn)題。隨著預(yù)測(cè)未來(lái)時(shí)間長(zhǎng)度的不斷增大,一季度、半年、一年、甚至更長(zhǎng)的時(shí)間,伴隨的不確定性有可能會(huì)呈指數(shù)倍的增長(zhǎng),從而導(dǎo)致預(yù)測(cè)結(jié)果出現(xiàn)較大偏差。fbprophet 除預(yù)測(cè)值 yhat 外,同時(shí)會(huì)輸出一個(gè)置信區(qū)間 yhat_upper和yhat_lower,即上、下邊界。我們?cè)谠u(píng)估模型的預(yù)測(cè)結(jié)果時(shí),會(huì)將 yhat的擬合結(jié)果作為主預(yù)測(cè)值,而上、下邊界的預(yù)測(cè)值作為一定的參考,輔助使用者對(duì)預(yù)測(cè)結(jié)果進(jìn)行判斷。但隨著預(yù)測(cè)天數(shù)的逐步增加,yhat_upper和yhat_lower的范圍會(huì)越來(lái)越大,直至喪失準(zhǔn)確度。
因此,如何更好的讓模型在預(yù)測(cè)更長(zhǎng)時(shí)間的未來(lái)的同時(shí)還能保持較高的準(zhǔn)確度,即降低未來(lái)不確定性因素對(duì)模型造成的干擾,可作為今后的研究方向。
經(jīng)過(guò)實(shí)驗(yàn)證明,fbprophet 操作簡(jiǎn)單、容易上手。適合絕大多數(shù)對(duì)時(shí)間序列問(wèn)題感興趣的愛(ài)好者們。同時(shí),在情況復(fù)雜多變的期末余額預(yù)測(cè)問(wèn)題上,也取得了較好的預(yù)測(cè)成果,達(dá)到了我們期望的結(jié)果??上蚓哂型瑯訕I(yè)務(wù)需要的其它平臺(tái)或系統(tǒng)進(jìn)行推廣,例如:目前中科院多個(gè)研究所都在使用的新一代 ARP系統(tǒng),其中包含大量的財(cái)務(wù)分析需求,建議使用fbprophet 模型進(jìn)行業(yè)務(wù)分析和預(yù)測(cè)。