3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
最近又發現一個很有意思的工具——facebook開源的大規模預測框架Prophet,據說它生成的預測結果足以和專業數據分析師媲美。從查閱的資料來看,Prophet開源時日不久,難怪網上很少有以實際應用來介紹的資料。就跟當初在baidu上查不到pandas資料那時候一樣,米哥打算小試一把,用tushare網站過去的真實訪問流量做一個未來預測,以簡單的用法將facebook這個工具推薦給大家,希望對大家有一個啟發。更牛逼的應用期待大家更加深入的研究和實踐。介紹根據facebook公開的白皮書介紹,Prophet實質上是一個可加性回歸模型(additive regression model),主要由四個核心構成:分段線性或者 logistic 增長曲線趨勢,Prophet可以通過從數據選擇變化點,自動探測變化趨勢。按年為周期使用傅里葉級數(Fourier series)建模。按周為周期使用虛變數(dummy variables)建模。支持用戶提供的重要節假日列表。Prophet 針對的是商業預測任務,適用於具備以下特徵的場景:針對每小時、每天或每星期的觀察頻次,有至少數月(理想情況的一年)的歷史記錄。多重顯著的「人類層級」周期性:星期X以及年份。日期間隔不規則的重要節日,需要事先得知。觀察缺失或是異常值在合理範圍內。歷史趨勢變化,比如產品發布或者改寫記錄(logging changes)。符合非線性增長曲線的趨勢,有天然上、下限或者飽和點。對於以上官方的套話,米哥看的似懂非懂,反正經過一番折騰后,米哥用一句話總結一下它的優點吧:使用過程令人髮指的簡單!如果預測結果相對可靠,那簡直就是逆天了。安裝Prophet的安裝很簡單,一行代碼搞定。 pip install fbprophet 但是!Prophet嚴重依賴pystan包,在安裝之前必須先安裝好這個包,雖然同樣也是一行pip來安裝,但是在windows上安裝pystan + prophet就是一種心靈折磨,各種坑爹的坑。為了讓大家少躺坑,如果您打算在windows上嘗試的話,米哥這裡提示幾點:1、最好選用winows7系統2、使用Python3.5+ (用Anaconda發行版)3、確認已安裝Visual C++ Build Tools 20154、Prophet最好通過clone源代碼來setup install數據準備本實驗通過tushare在cnzz上的pv流量統計數據來做一個實例,下載了從2016年1月1日至今的流量數據,原始數據格式如下:以此來預測未來一年tushare的訪問流量,數據經過整理存儲在一個csv文件里並通過pandas讀取數據。對pv值進行對數處理,然後查看過去一年的趨勢情況。有一點值得注意的是,Prophet對輸入數據的格式有要求,時間列需命名ds,數值命名為y。預測實現 首先需要初始Prophet對象,並將pandas的DataFrame數據傳入給prophet,數據裝載過程很簡單也相對較快。然後我們告訴預測模型我們需要預測未來多久的結果,這裡設定一年(即365天)並執行預測命令。預測的結果依然是一個DataFrame格式的數據,結果值列名為yhat,同時給出了最大和最小值。通過繪圖功能,我們來看一下預測效果。通過weekly函數我們看一下,周末兩天訪問量最少。m.plot_weekly(forecast)m.plot_trend(forecast)有興趣獲得以上完整代碼和演示數據文件的同學,請在微信公眾號「挖地兔」私信回復「預測」兩個字自動獲得下載鏈接。更多乾貨請關注微信公眾號:挖地兔

本文由yidianzixun提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦