Prophet:Facebook 簡單高效的時間序列模型

導讀:
時序預測是一個很常見的數據科學任務,可以幫助組織或個人進行目標規劃或者異常檢測等。
本文介紹的是 Facebook 2017 年的工作——Prophet,這是一個適用于大規模的時序預測模型。它不僅解決了時序預測的建模問題,還解決了模型的可解釋性問題。
此外,Facebook 提供了 Prophet 的開源代碼,并且將模型封裝的非常簡單且友好,極大地降低了分析人員的入門門檻,同時也提供了各種接口以便分析人員靈活地調整模型。
1 為什么有 Prophet
構建一個高質量的預測不是一件容易事,而在商業預測的實踐過程中通常會出現兩個問題:
完全自動的預測技術不夠靈活,過于死板;分析師通常有較高的專業知識,但是在時序模型預測方面一無所知;
預測是一個需要大量專業經驗的任務,因此,如何能夠提供一個高質量且簡單易用的預測模型成了一個亟需解決的問題。
為此,Facebook 的研究員進行了大量的研究,并提出了 Prophet 模型,該模型非常簡單靈活,適用于沒有進行過時序預測的人員,同時也提供了非常人性化的配置。
下圖展示了大規模商業分析中的循環方法,其由自動化建模和人工干預兩部分組成:

Modeling:首先分析師會使用制定的參數對時間序列進行建模;Foreca and Evaluation:然后由模型產生預測并對其進行評估;Surface Problems:當性能不佳時可以進行人工干預,并將問題標記給分析師;Visually Inspect Forecasts:分析師進行檢查并根據反饋調整模型。
2 Prophet 預測模型
在介紹模型之前,我們先看一張圖:

這是 Facebook 的真實數據集,每一天都有一個點,點的顏色按照星期進行編碼,以展示一個星期的周期性。
從這張圖中我們可以看到:這個時間序列具有周期性 (weekly、yearly)、趨勢變化性 (Trend)、異常點 (outliers) 和節假日效應 (holiday)。
我們可以使用時間序列分解將其分解為趨勢、季節性、節假日:
其中,g(t)建模時間序列值非周期變化的趨勢函數;s(t)建模周期性變換,包括 weekly、yearly;h(t)建模不規律的假期影響;誤差項 表示模型不適應的任何特殊變化;后面我們會假設這個參數服從正態分布。
這類規范類似于廣義可加模型 (Generalized additive model,GAM),這是一種非線性的回歸模型。這里 Prophet 只使用時間作為回歸因子,并用幾個線性和非線性的時間函數作為分量。
GAM 不具備 ARIMA 重要的推論優勢,但其也具備其他方面的優勢:
靈活性強,易于分解,且在必要時也可以容納新的成分;擬合速度快,允許用戶進行交互式探索;測量值不需要有規則的間隔,也不需要對缺失值進行處理;參數的可解釋性強,方便用戶更改。
接下來我們關注模型分解后的不同模塊。
請輸入評論內容...
請輸入評論/評論長度6~500個字
最新活動更多
-
11月7日立即參評>> 【評選】維科杯·OFweek 2025(第十屆)物聯網行業年度評選
-
11月20日立即報名>> 【免費下載】RISC-V芯片發展現狀與測試挑戰-白皮書
-
即日-11.25立即下載>>> 費斯托白皮書《柔性:汽車生產未來的關鍵》
-
11月27日立即報名>> 【工程師系列】汽車電子技術在線大會
-
11月28日立即下載>> 【白皮書】精準洞察 無線掌控——283FC智能自檢萬用表
-
12月18日立即報名>> 【線下會議】OFweek 2025(第十屆)物聯網產業大會


分享













