Prophet 時間序列預測工具 這套工具的價值 Prophet 的優點 Prophet 工作原理 總結

Facebook有一套開源的時間序列的預測工具。
Prophet是一個預測時間序列數據的模型。 它基於一個自加性模型,用來擬合年、周、季節以及假期等非線性趨勢。 它在至少有一年曆史數據的日常週期性數據,效果最好。 Prophet對缺失值,趨勢的轉變和大量的異常值是有極強的魯棒性。Prophet中文翻譯是:“先知”。

Github:https://github.com/facebook/pro

  1. 官方網址:https://facebook.github.io/prop
  2. 官方網址:https://facebook.github.io/prop

這套工具的價值

預測是一項數據科學任務,是組織內許多活動的核心。 例如,Facebook這樣的大型組織必須參與容量規劃,以有效分配稀缺資源和目標設置,以便衡量相對於基線的性能。

得到高質量的預測對於任何機器或大多數分析師來說都不是一個簡單的問題。 預測任務有兩大核心問題:
1 完全自動化的預測技術往往都比較“脆弱”,不是太靈活,對一些問題缺乏有效的假設以及啓發式的思路
2 夠得到高質量預測的數據科學家是非常罕見的,因爲預測需要豐富的經驗以及專業的數據科學技能

在現實生活中,對高質量預測的需求往往要遠遠超過分析人員可以生產的速度。因此Prophet的出現就是爲了讓專家和非專家能夠更輕鬆地進行高質量的預測。

對於很多商業活動來說,理解和識別基於時間的模式至關重要。比如,企業應當維持多少庫存、店鋪裏應該銷售多少足球、多少消費者會乘飛機旅行,這些都是需要我們解決的重要的時序問題。這就是爲何時序預測是很多數據科學家的必備技能之一。從預測天氣到預測商品銷量,時序預測已經融入數據科學體系,已成爲數據工作的必知知識。

Prophet 的優點

Prophet通過將全自動預測與在線學習相結合從而保證了該工具能夠解決大多數商業業務問題,Prophet工作流程如下圖所示:


Prophet主要有以下兩點優勢:

1 Prophet能夠讓你更方便直接地創建一個預測任務,而其他的一些工具包(ARMA,指數平滑)等,這些工具每個有自己的優缺點及參數,即使是優秀的數據分析師想要從衆多的模型中選擇合適的模型及相應的參數也是夠讓他頭皮發麻的。
2 Prophet是爲非專家們”量身定製”的。爲什麼這麼說呢?你利用Prophet可以直接通過修改季節參數來擬合季節性,修改趨勢參數來擬合趨勢信息,指定假期來擬合假期信息等等。

Prophet 工作原理

prophet是一個工業級應用,而不是說在時間序列預測的模型上有非常大的創新。
時間序列預測對大部分公司而言都存在必要的需求,比如電商預測GMV,外賣O2O預測成交量波動以便於運力分配,酒店預測間夜量來調整定價與銷售,等等。但通常而言,時間序列預測對不少公司來說是一個難題。

主要原因除了時間序列預測本身就是玄學(大霧)之外,還要求分析師同時具備深厚的專業領域知識(domain knowledge)和時間序列建模的統計學知識。此外,時間序列模型的調參也是一個比較複雜而繁瑣的工作。

prophet就是在這樣的背景下的產物,將一些時間序列建模常見的流程與參數default化,來使不太懂統計的業務分析師也能夠針對需求快速建立一個相對可用的模型。

很多商業行爲是存在一定的時間相依的模式的。作者以Facebook上用戶創造“事件”(events)來舉例:

可以看到用戶創造事件的數量有很明顯的時間序列特徵:多種週期性、趨勢性、節假日效應,以及部分異常值。

然後作者用R的forecast包裏的幾種常見的時間序列預測技術(ARIMA, 指數平滑等等)來建模,效果慘不忍睹:


圖1是ARIMA,圖2是指數平滑,圖3是snaive,圖4是tbats。

prophet 對於很多的商業任務都能夠比較好的解決。

模型結構

Prophet的本質是一個可加模型,基本形式如下:

其中 [圖片上傳中...(image-734952-1618238885154-3)]

g是趨勢項,s 是週期項,h是節假日項。這就是模型的結構,具體細節就不贅述,感興趣的查看官方的文檔。

模型性能

還是使用上面Facebook的例子,作者給出了Prophet的模型擬合與預測能力:


看起來比前面用R的forecast做的效果好了很多,並且不需要使用者具有很強的統計背景就能夠輕鬆進行建模。

同時prophet支持將模型分解爲單獨的各項組成部分

適用範圍

prophet 適用於有內在規律的商業數據,官方給的例子數據時間是以天爲維度的,更小的維度也是支持的。

總結

  1. 官方網址:https://facebook.github.io/prop
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章