search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

支持Python!Facebook開源預測工具Prophet

【AI研習社】關注AI前沿、開發技巧及技術教程等方面的內容。歡迎技術開發類文章、視頻教程等內容投稿,郵件發送至:[email protected]

本周,Facebook 宣布開源一款基於 Python 和 R 語言的數據預測工具——「Prophet」,即「先知」。取名倒是非常直白。

Facebook 表示,Prophet 相比現有預測工具更加人性化,並且難得地提供 Python 支持。另外,它生成的預測結果足以和專業數據分析師媲美。

Facebook 把預測任務的流程用下圖展示出來:

從圖中可以看出,預測共分四個流程:建模,預測評估,表面問題和人工檢查。

在建模階段,當前可用的 Python 工具包寥寥無幾。最廣為人知的 「 forecast」 ,谷歌開發的 CausalImpact, 以及推特的 AnomalyDetection,均是基於 R 語言。很顯然,Facebook 想要改變這一點。

從 Facebook 官方聲明來看,推出 Prophet,是希望用它來替代 forecast,成為最受歡迎的預測工具。相對於後者,Facebook 表示 Prophet 有兩大優點:

  • 開發合理、準確的預測模型更加直接。

    Prophet 包含許多預測技術,比如 ARIMA 和 exponential smoothing。每一項工具都有它的長處、短處和調節參數。Facebook 表示,選擇不恰當的模型或參數會造成讓人難以滿意的結果;而即便是有經驗的數據分析師在選擇模型、參數上也經常遇到困難。言下之意是,Prophet 將著重改善這方面的體驗,讓模型、參數的選擇更直觀。

  • 用 Prophet 做出的預測,能夠以對普通人更加直觀的方式進行定製。

    Prophet 有針對周期性的平滑參數(smoothing parameters for seasonality),允許開發者調整與歷史周期的匹配程度。它還有針對趨勢的平滑參數,能夠調整對歷史趨勢變化的緊跟程度。對於增長曲線(growth curves),開發者能人工設置上限,即 capacities,把關於「該預測如何增長(或下降)」的先驗信息注入進去。最後,開發者還能設置不規則日期,來對超級碗、感恩節、黑色星期五之類的特殊日子進行建模。

組成部分

在它的核心,Prophet 是一個可加回歸模型(additive regression model),它有四個組成部分:

  • 一個分段的線性或邏輯增長曲線趨勢。Prophet 通過提取數據中的轉變點,自動檢測趨勢變化。

  • 一個按年的周期組件,使用傅里葉級數(Fourier series)建模而成。

  • 一個按周的周期組件,使用虛擬變數(dummy variables)。

  • 用戶設置的重要節日表。

適用範圍

Prophet 針對的是商業預測任務,適用於具備以下特徵的場景:

  • 針對每小時、每天或每星期的觀察頻次,有至少數月(理想情況的一年)的歷史記錄。

  • 多重顯著的「人類層級」周期性:星期X以及年份。

  • 日期間隔不規則的重要節日(比如超級碗),需要事先得知。

  • 觀察缺失或是異常值在合理範圍內。

  • 歷史趨勢變化,比如產品發布或者改寫記錄(logging changes)。

  • 符合非線性增長曲線的趨勢,有天然上、下限或者飽和點。

想要進一步了解 Prophet 的讀者,請參考以下鏈接:

Facebook 博客:https://research.fb.com/prophet-forecasting-at-scale/

使用指南:

文件:http://facebookincubator.github.io/prophet/

點擊「閱讀原文」跳轉到


熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦