中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
FB開源大規(guī)模預(yù)測工具Prophet:支持Python和R

選自Facebook

機(jī)器之心編譯

參與:吳攀、黃小天、李亞洲

今天,F(xiàn)acebook 宣布開源了一個(gè)可以通過 Python 和 R 語言使用的預(yù)測工具 Prophet。以下是 Facebook 研究博客對(duì)該工具的介紹,后面還附有機(jī)器之心對(duì)該開源項(xiàng)目 README.md 文件和相關(guān)論文摘要的編譯介紹。相關(guān)論文也可點(diǎn)擊文末「閱讀原文」查看。

Prophet 項(xiàng)目地址:https://github.com/facebookincubator/prophet

預(yù)測(forecasting)是一個(gè)數(shù)據(jù)科學(xué)問題,也是很多組織機(jī)構(gòu)內(nèi)許多活動(dòng)的核心。比如說,像 Facebook 這樣的大型組織必須進(jìn)行能力規(guī)劃(capacity planning)以有效地分配稀缺資源和目標(biāo)配置,以便能基于基準(zhǔn)對(duì)業(yè)績表現(xiàn)進(jìn)行測量。不管是對(duì)于機(jī)器還是對(duì)于分析師而言,得出高質(zhì)量的預(yù)測都并非易事。我們已經(jīng)在創(chuàng)建各種各樣的業(yè)務(wù)預(yù)測(business forecasts)的實(shí)踐中觀察到了兩大主要主題:

  • 完全自動(dòng)化的預(yù)測技術(shù)可能會(huì)很脆弱,而且往往非常不靈活,不能整合有用的假設(shè)或啟發(fā)。

  • 能夠產(chǎn)生高質(zhì)量預(yù)測的分析師相當(dāng)少,因?yàn)轭A(yù)測是一種需要大量經(jīng)驗(yàn)的數(shù)據(jù)科學(xué)領(lǐng)域的專業(yè)技能。

這兩個(gè)主題會(huì)導(dǎo)致一個(gè)結(jié)果:對(duì)高質(zhì)量預(yù)測的需求往往超出分析師能夠得出的預(yù)測速度。這個(gè)情況是我們創(chuàng)造 Prophet 的動(dòng)力:我們想要讓專家和非專家都能輕松地做出高質(zhì)量的預(yù)測來滿足自身的需求。

對(duì)于「規(guī)模(scale)」的通??紤]涉及到計(jì)算和存儲(chǔ),但這些都不是預(yù)測的核心問題。我們發(fā)現(xiàn)預(yù)測大量時(shí)間序列(time series)的計(jì)算和基礎(chǔ)設(shè)施問題是相對(duì)簡單的——通常這些擬合過程可以很容易地并行化,而預(yù)測本身也能容易地被存儲(chǔ)在 MySQL 這樣的關(guān)系數(shù)據(jù)庫或 Hive 這樣的數(shù)據(jù)倉庫中。據(jù)我們觀察,「規(guī)模」在實(shí)踐中面臨的問題涉及的是由多種預(yù)測問題所引入的復(fù)雜性(complexity)和在得出預(yù)測后如何在大量預(yù)測結(jié)果中構(gòu)建信任(trust)。Prophet 已經(jīng)成為了 Facebook 創(chuàng)建大量可信預(yù)測的能力的關(guān)鍵組成部分,這些預(yù)測可被用于決策制定甚至用在產(chǎn)品功能中。


Prophet 有什么用?

并非所有的預(yù)測問題都可以通過同一種程序(procedure)解決。Prophet 是為我們?cè)?Facebook 所遇到的業(yè)務(wù)預(yù)測任務(wù)而優(yōu)化的,這些任務(wù)通常具有以下特點(diǎn):

  • 對(duì)于歷史在至少幾個(gè)月(最好是一年)的每小時(shí)、每天或每周的觀察

  • 強(qiáng)大的多次的「人類規(guī)模級(jí)」的季節(jié)性:每周的一些天和每年的一些時(shí)候

  • 事先知道的以不定期的間隔發(fā)生的重要節(jié)假日(如,超級(jí)碗)

  • 合理數(shù)量的缺失的觀察或大量異常

  • 歷史趨勢(shì)改變,比如因?yàn)楫a(chǎn)品發(fā)布或記錄變化

  • 非線性增長曲線的趨勢(shì),其中有的趨勢(shì)達(dá)到了自然極限或飽和

我們發(fā)現(xiàn)默認(rèn)設(shè)置的 Prophet 能產(chǎn)生往往和經(jīng)驗(yàn)豐富的預(yù)測師得到的一樣準(zhǔn)確的預(yù)測,而所花費(fèi)的工作卻更少。使用 Prophet,如果該預(yù)測不令人滿意,你也不用局限于一個(gè)完全自動(dòng)化的程序——即使一個(gè)沒有接受過任何時(shí)間序列方法訓(xùn)練的分析師也能夠使用各種各樣的可輕松解讀的參數(shù)來改進(jìn)或調(diào)整預(yù)測。我們已經(jīng)發(fā)現(xiàn):通過在特定案例上將自動(dòng)化預(yù)測和分析師參與的預(yù)測(analyst-in-the-loop forecasts)結(jié)合到一起,它有可能可適用于非常大范圍的業(yè)務(wù)用例。下圖給出了我們發(fā)現(xiàn)的可以大規(guī)模使用的預(yù)測過程:

對(duì)于該預(yù)測過程的建模階段,目前僅有有限數(shù)量的工具可用。Rob Hyndman 的出色的預(yù)測 R 語言的預(yù)測軟件包(http://robjhyndman.com/software/forecast/)可能是目前最受歡迎的選擇,而且谷歌和 Twitter 也都分別發(fā)布了帶有更加特定的時(shí)間序列功能的軟件包——CausalImpact(https://google.github.io/CausalImpact/)和 AnomalyDetection(https://github.com/twitter/AnomalyDetection)。就我們所知,在使用 Python 的預(yù)測上,還少有開源的軟件包可用。

我們常常在許多設(shè)置中使用 Prophet 作為預(yù)測(forecast)軟件包的替代,因?yàn)槠溆腥缦聝蓚€(gè)主要優(yōu)點(diǎn):

1.Prophet 讓我們可以更加簡單直接地創(chuàng)建合理且準(zhǔn)確的預(yù)測。該預(yù)測包包含了許多不同的預(yù)測技術(shù)(比如 ARIMA、指數(shù)平滑等),其中每一個(gè)都有它們自己的長處、短處和調(diào)整參數(shù)。我們發(fā)現(xiàn)錯(cuò)誤的模型或參數(shù)選擇往往會(huì)導(dǎo)致糟糕的結(jié)果,而在這樣的選擇陣列下,即使是經(jīng)驗(yàn)豐富的分析師也不太可能能夠有效地選擇出正確的模型和參數(shù)。

2.Prophet 預(yù)測可以通過對(duì)非專家而言很直觀的方式進(jìn)行自定義。有關(guān)于季節(jié)性的平滑參數(shù)讓你能調(diào)整與歷史周期之間的接近程度,以及關(guān)于趨勢(shì)的平滑參數(shù)讓你能調(diào)整跟隨歷史趨勢(shì)變化的激進(jìn)程度。對(duì)于增長曲線而言,你可以手動(dòng)設(shè)定「capacity」或增長曲線的上限,這能讓你注入關(guān)于你預(yù)測的增長或下降情況的先驗(yàn)信息。最后,你還可以為模型指定沒有規(guī)律的節(jié)假日,比如超級(jí)碗、感恩節(jié)和黑色星期五的日期。


Prophet 如何工作

本質(zhì)上講,Prophet 程序是一個(gè)可加性回歸模型(additive regression model),它包含 4 個(gè)主要組件:

  • 分段線性或者 logistic 增長曲線趨勢(shì)。通過從數(shù)據(jù)中選擇變化點(diǎn),Prophet 自動(dòng)探測趨勢(shì)變化。

  • 使用傅立葉級(jí)數(shù)建模每年的季節(jié)分量。

  • 使用虛變量(dummy variables)的每周的季節(jié)分量。

  • 用戶提供的重要節(jié)假日列表。

例如,下面是一個(gè)特征預(yù)測:使用 wikipediatrend 包(https://cran.r-project.org/web/packages/wikipediatrend/index.html)下載的 Peyton Manning 的維基百科頁面的查看數(shù)量的日志。由于 Peyton Manning 是一名美式橄欖球運(yùn)動(dòng)員,你可以看到他每年季節(jié)性的重要程度變化,同時(shí)每周的周期性也明顯存在。最后你看到特定事件(比如他參加的季后賽)也可能被建模了。

Prophet 將提供一個(gè)組分圖,用圖形描述它所擬合的模型:

這個(gè)組分圖更加清晰地展示了與瀏覽 Peyton Manning 的網(wǎng)頁(橄欖球常規(guī)賽與季后賽)相關(guān)的每年的季節(jié)性,以及每周的季節(jié)性:(星期日和星期一)比賽當(dāng)天和比賽之后有更多的訪問。你也可以注意到趨勢(shì)組件自他最近退休以來的下行調(diào)整。

Prophet 的重要思想是:通過更好地靈活擬合趨勢(shì)組分,我們可以更精確地建模季節(jié)性,并且有更準(zhǔn)確的預(yù)測結(jié)果。對(duì)于這個(gè)任務(wù)我們更喜歡使用非常靈活的回歸模型(有一點(diǎn)像曲線擬合)而不是傳統(tǒng)的時(shí)序模型,因?yàn)榍罢呖梢允刮覀兘8`活,更容易擬合模型,更優(yōu)雅地處理丟失數(shù)據(jù)或離群值。

通過模擬時(shí)間序的未來趨勢(shì)變化,Prophet 默認(rèn)地會(huì)為趨勢(shì)組分提供不確定的間隔。如果你希望對(duì)未來季節(jié)性或假期影響的不確定性進(jìn)行建模,你可以運(yùn)行數(shù)百個(gè) HMC 迭代(花費(fèi)幾分鐘),你的預(yù)測就將會(huì)包括季節(jié)性不確定評(píng)估。

我們使用 Stan(http://mc-stan.org/)調(diào)整 Prophet 模型,并在 Stan 的概率編程語言中實(shí)現(xiàn)了 Prophet 流程的核心部分。Stan 對(duì)參數(shù)的 MAP 優(yōu)化有著極快的速度(<1 秒),讓我們可以選擇使用="" hamiltonian="" monte="" carlo="" 算法評(píng)估不確定的參數(shù),也使得我們能夠在多種接口語言上重復(fù)使用該擬合程序。目前,我們提供了="" python="" 和="" r="" 語言的="" prophet="">


如何使用 Prophet

使用 Prophet 的最簡單方法是從 PyPI(Python)或 CRAN(R)里安裝這個(gè)軟件包。你可以閱讀我們的快速入門指南,以及閱讀綜合文檔以進(jìn)行深入的了解。如果你正在尋找一個(gè)有趣的時(shí)序數(shù)據(jù)資源,我們建議你嘗試一下 wikipediatrend 軟件包,它可以從維基百科頁面上下載歷史頁面點(diǎn)擊數(shù)據(jù)。

以下是機(jī)器之心對(duì) Prophet 項(xiàng)目上 README.md 文件的編譯介紹:

Prophet 是一個(gè)預(yù)測時(shí)序數(shù)據(jù)的程序。它基于加法模型(additive model),其中非線性趨勢(shì)可與按年和按周的季節(jié)性、以及節(jié)假日進(jìn)行擬合。借助至少一年的歷史數(shù)據(jù),它在每日預(yù)測數(shù)據(jù)上表現(xiàn)最好。在數(shù)據(jù)丟失、趨勢(shì)變換以及大離群值方面,Prophet 表現(xiàn)也很穩(wěn)健。

Prophet 是由 Facebook 的 Core Data Science 團(tuán)隊(duì)發(fā)布的一個(gè)開源軟件,可從 CRAN 和 PyPI 上下載。


重要鏈接

  • 主頁:https://facebookincubator.github.io/prophet/

  • HTML 文檔:https://facebookincubator.github.io/prophet/docs/quick_start.html

  • 問題跟蹤:https://github.com/facebookincubator/prophet/issues

  • 源代碼庫:https://github.com/facebookincubator/prophet

  • Prophet R 軟件包: https://cran.r-project.org/package=prophet

  • Prophet Python 軟件包:https://pypi.python.org/pypi/fbprophet/

在 R 中安裝

Prophet 是一個(gè) CRAN 軟件包,因此你可以使用 install.packages:

# R

> install.packages('prophet')

完成安裝,你就可以開始了!

Windows

在 Windows 中,R 需要一個(gè)編譯器,你可以遵循 rstan 提供的指導(dǎo):https://github.com/stan-dev/rstan/wiki/Installing-RStan-on-Windows。關(guān)鍵一步是在試圖安裝軟件包之前安裝 Rtools:http://cran.r-project.org/bin/windows/Rtools/

在 Python 中安裝

Prophet 在 PyPI 上,因此你可以用 pip 安裝它:

# bash

$ pip install fbprophet

Prophet 的主要依賴包是 pystan。PyStan 有自己的安裝說明:http://pystan.readthedocs.io/en/latest/installation_beginner.html

完成安裝,你就可以開始了!

Windows

在 Windows 中,PyStan 需要一個(gè)編譯器,因此你將遵循這個(gè)指導(dǎo):http://pystan.readthedocs.io/en/latest/windows.html。關(guān)鍵一步是安裝一個(gè)最新的 C++編譯器:http://landinghub.visualstudio.com/visual-cpp-build-tools

論文:Forecasting at Scale

摘要:要在各種時(shí)間序列(time series)上產(chǎn)生大量預(yù)測,我們面臨著各種各樣的挑戰(zhàn)。我們實(shí)現(xiàn)大規(guī)模預(yù)測(forecasting at scale)的方法是將可配置的模型和全面的分析師參與的(analyst-in-the-loop)性能分析結(jié)合到一起。我們提出了一種基于一種可分解模型(decomposable model)的預(yù)測方法,這種模型帶有可解釋的參數(shù),這些參數(shù)可被分析師直觀地進(jìn)行調(diào)整。我們描述了我們可以用來比較和評(píng)估預(yù)測程序的表現(xiàn)分析,并且自動(dòng)標(biāo)記了需要人工審查和調(diào)整的預(yù)測。這些能幫助分析師最有效地使用他們的專業(yè)知識(shí)工具實(shí)現(xiàn)了對(duì)許多類型業(yè)務(wù)時(shí)間序列的可靠預(yù)測。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
NeuralProphet:基于神經(jīng)網(wǎng)絡(luò)的時(shí)間序列建模庫
ML之prophet:prophet的簡介、安裝、使用方法之詳細(xì)攻略
VS Code如何打造C/C++開發(fā)環(huán)境(都windows了直接上vs方便的多基本軟件包在左邊選擇Basic Setup選項(xiàng))
基于Termux打造Android手機(jī)滲透神器
python學(xué)習(xí)——anaconda安裝
【熱門】GitHub 深度學(xué)習(xí)Top18開源項(xiàng)目,全球進(jìn)入?yún)f(xié)同編程時(shí)代
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服