日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

解读:一种来自Facebook团队的大规模时间序列预测算法(附github链接)

發(fā)布時(shí)間:2025/3/8 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 解读:一种来自Facebook团队的大规模时间序列预测算法(附github链接) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

寫(xiě)在前面

下面這篇文章的內(nèi)容主要是來(lái)自Facebook團(tuán)隊(duì)的論文《Forecast at Scale》,這篇論文介紹了一種時(shí)間序列預(yù)測(cè)算法Prophet,該算法結(jié)合了時(shí)間序列分解以及機(jī)器學(xué)習(xí)算法,并且可以對(duì)存在缺失值和異常值的時(shí)間序列進(jìn)行預(yù)測(cè)。除此之外,該算法也被Facebook用于各項(xiàng)業(yè)務(wù)場(chǎng)景中。原論文和github鏈接在文末進(jìn)行獲取。

1

摘要

時(shí)間序列預(yù)測(cè)是一項(xiàng)常見(jiàn)的數(shù)據(jù)科學(xué)任務(wù),它可以協(xié)助我們進(jìn)行容量規(guī)劃、目標(biāo)設(shè)置和異常檢測(cè)等。盡管通過(guò)時(shí)間序列進(jìn)行預(yù)測(cè)很重要,但研制具有生產(chǎn)可靠和高質(zhì)量的預(yù)測(cè)模型仍然存在著嚴(yán)重的挑戰(zhàn)——特別是對(duì)于一些多變的時(shí)間序列,并對(duì)于其先驗(yàn)知識(shí)相對(duì)較少時(shí)。為了解決這些挑戰(zhàn),這篇論文描述了一種“大規(guī)模”預(yù)測(cè)的實(shí)用方法,該方法將可配置模型與在循環(huán)中分析的性能分析相結(jié)合,并針對(duì)于此提出了一個(gè)高解釋性的多模塊回歸模型。

2

模型構(gòu)建

由于現(xiàn)實(shí)中,時(shí)間序列常常是由趨勢(shì)項(xiàng),季節(jié)項(xiàng),節(jié)假日效應(yīng)和突發(fā)事件以及殘差項(xiàng)組成,所以Prophet算法采用了時(shí)間序列分解的方法,它把時(shí)間序列分為了這幾個(gè)部分:

??

其中的??表示趨勢(shì)項(xiàng),它體現(xiàn)了時(shí)間序列的非周期變化趨勢(shì);??表示季節(jié)項(xiàng),它體現(xiàn)了時(shí)間序列的周期性變化,如每周,每年的這種季節(jié)性變化;??表示節(jié)假日項(xiàng),它體現(xiàn)了節(jié)假日等持續(xù)一天到幾天的無(wú)規(guī)律變化;最后的??表示殘差項(xiàng),通常是正態(tài)分布的。然后各項(xiàng)分別被擬合,最后的累加結(jié)果即是Prophet算法的預(yù)測(cè)結(jié)果。

其中,Facebook對(duì)于Prophet算法的這種設(shè)定是一種 generalized additive model (GAM),其中GAM的形式具有很多優(yōu)點(diǎn),包括它容易被分解以及適應(yīng)新的成分,并且與ARIMA模型不同的是,測(cè)量數(shù)據(jù)還不需要有規(guī)律的間隔,我們也不需要插入缺失的值或者刪除離群值。并且,預(yù)測(cè)模型有很容易解釋的參數(shù),可以由分析人員更改這些參數(shù)以對(duì)預(yù)測(cè)進(jìn)行假設(shè),這樣尤其是對(duì)于一些要求高可解釋性的場(chǎng)景,如金融衍生品價(jià)格的預(yù)測(cè),可以更好地提供一個(gè)可解釋性的角度。

下面對(duì)每一項(xiàng)的擬合進(jìn)行分別的介紹:

1、趨勢(shì)項(xiàng)模型

其中趨勢(shì)項(xiàng)模型根據(jù)應(yīng)用背景不同,引入了兩種不同的函數(shù),一是邏輯回歸函數(shù)(logistic function),另一個(gè)是基于分段線性函數(shù)(piecewise linear function。

當(dāng)問(wèn)題背景是增長(zhǎng)型預(yù)測(cè)時(shí),如預(yù)測(cè)人口的增長(zhǎng)模式,或者是一個(gè)地區(qū)Facebook用戶的增長(zhǎng)。它會(huì)根據(jù)環(huán)境或者地區(qū)的承載力達(dá)到一定的飽和程度,所以這種情況下趨勢(shì)項(xiàng)是以邏輯回歸函數(shù)進(jìn)行擬合的,即:?

其中,C表示承載容量,k表示增長(zhǎng)率,m表示一個(gè)偏置參數(shù)。然而在現(xiàn)實(shí)情況下,承載容量和增長(zhǎng)率不會(huì)一直保持不變,也即都不可能是常數(shù)。其中承載容量表示為C(t),即是一個(gè)時(shí)變的形式。而實(shí)際情況下,如Facebook的一些變革或者新產(chǎn)品的推出,可能會(huì)導(dǎo)致增長(zhǎng)率的階段性變化,所以增長(zhǎng)率的設(shè)置上加入了變點(diǎn)的考慮,即不同時(shí)段的增長(zhǎng)率會(huì)發(fā)生變化。其最終形式表示如下,即是一個(gè)分段的邏輯回歸函數(shù)模型:

用于預(yù)測(cè)不出現(xiàn)飽和增長(zhǎng)的問(wèn)題時(shí),分段線性函數(shù)就作為其趨勢(shì)項(xiàng)的模型了。其表現(xiàn)形式為:

2、季節(jié)項(xiàng)模型

商業(yè)時(shí)間序列由于會(huì)代表的人類行為,往往具有多期的季節(jié)性。例如,一周工作5天會(huì)對(duì)每周重復(fù)的時(shí)間序列產(chǎn)生影響,而假期計(jì)劃和學(xué)校假期則會(huì)對(duì)每年重復(fù)的時(shí)間序列產(chǎn)生影響。所以時(shí)間序列出現(xiàn)的周期性變化也必須被考慮進(jìn)去。而數(shù)學(xué)中描述周期性的函數(shù)通常會(huì)使人想到正弦和余弦函數(shù)。所以原文中采用了傅里葉級(jí)數(shù)來(lái)估計(jì)季節(jié)項(xiàng),即如下所示:

其中上式中P=365.25表示是年為周期的數(shù)據(jù),P=7則表示以周為周期的數(shù)據(jù)。其中,關(guān)于參數(shù)N的選擇,作者根據(jù)先驗(yàn)知識(shí)得到對(duì)于年為周期的數(shù)據(jù)N=10比較合適,對(duì)于周為周期的數(shù)據(jù)N=3比較合適。另外,關(guān)于模型參數(shù)的選擇也可以通過(guò)AIC、BIC等準(zhǔn)則進(jìn)行選取。

3、節(jié)假日效應(yīng)

節(jié)假日等事件對(duì)許多業(yè)務(wù)時(shí)間序列會(huì)造成某種程度上的沖擊,并且它們通常不遵循周期性模式,因此節(jié)假日等事件的影響不能很好地用一個(gè)平穩(wěn)的周期來(lái)建模。所以在Prophet中,作者提出了通過(guò)收集了各個(gè)國(guó)家的節(jié)假日信息,將加入到了模型中,如下圖表示了一個(gè)假期列表的例子。

為了描述某個(gè)節(jié)假日的影響大小和跨度范圍,文中通過(guò)一個(gè)累加的正態(tài)分布的形式來(lái)表示這個(gè)影響:

其中,Z(t)表示每個(gè)假期所有假期的集合,K表示每個(gè)假期對(duì)應(yīng)的影響范圍,它服從于正態(tài)分布:

其中,這個(gè)正態(tài)分布的方差表示影響程度的大小,值越大表示影響越大,值越小表示影響越小。除此之外,用戶也可以加入自己自定義的一些節(jié)假日,如雙十一等。

至此,文章提出的模型架構(gòu)的每個(gè)模塊就已經(jīng)介紹完成了,下面就是如何對(duì)這個(gè)模型通過(guò)數(shù)據(jù)進(jìn)行擬合了。文中是通過(guò) L-BFGS算法來(lái)進(jìn)行最大后驗(yàn)估計(jì)以獲取最優(yōu)參數(shù),其中,L-BFGS是一種求解無(wú)約束非線性規(guī)劃問(wèn)題最常用的方法,它具有收斂速度快、內(nèi)存開(kāi)銷少等優(yōu)點(diǎn)。

3

實(shí)驗(yàn)驗(yàn)證

下面是Prophet模型用于Facebook事件數(shù)量的預(yù)測(cè):

下圖表示的是Prophet模型對(duì)所有數(shù)據(jù)的預(yù)測(cè)效果,其中實(shí)線表示的樣本內(nèi)預(yù)測(cè),虛線表示的樣本外的預(yù)測(cè)。

4

結(jié)論

從前面的分析可以看出,對(duì)于具有時(shí)間周期性和趨勢(shì)性的一些領(lǐng)域的時(shí)間序列來(lái)說(shuō),通過(guò)Prophet進(jìn)行擬合可以獲得不錯(cuò)的預(yù)測(cè)效果。除此之外,Facebook將這種方法進(jìn)行了開(kāi)源,對(duì)于一些不明白其算法原理的人來(lái)說(shuō)也可以直接通過(guò)它進(jìn)行調(diào)用以解決一系列問(wèn)題,同時(shí)它具有較高的可解釋性,所以可以充分利用先驗(yàn)知識(shí)。雖然這個(gè)算法對(duì)于一些周期強(qiáng)的數(shù)據(jù)預(yù)測(cè)可獲取不錯(cuò)效果,但是如果我們處理的時(shí)間序列不具有周期性而是一種多變的序列,則它可能就會(huì)失效了,所以還需要根據(jù)實(shí)際問(wèn)題背景來(lái)進(jìn)行選擇。

后面我們也將介紹如何使用Prophet算法,并將其應(yīng)用于金融衍生品序列的預(yù)測(cè)之中。

該算法的github鏈接是:https://github.com/facebook/prophet

論文鏈接:https://peerj.com/preprints/3190.pdf

往期精彩回顧適合初學(xué)者入門(mén)人工智能的路線及資料下載機(jī)器學(xué)習(xí)在線手冊(cè)深度學(xué)習(xí)在線手冊(cè)AI基礎(chǔ)下載(pdf更新到25集)本站qq群1003271085,加入微信群請(qǐng)回復(fù)“加群”獲取一折本站知識(shí)星球優(yōu)惠券,復(fù)制鏈接直接打開(kāi):https://t.zsxq.com/yFQV7am喜歡文章,點(diǎn)個(gè)在看

總結(jié)

以上是生活随笔為你收集整理的解读:一种来自Facebook团队的大规模时间序列预测算法(附github链接)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。