Kaggle網(wǎng)站流量預(yù)測模型
Kaggle 是一個網(wǎng)站流量預(yù)測項目,項目采用Python語言開發(fā),可以給大家的流量預(yù)測建模提供一些思路。
數(shù)據(jù)模型
Kaggle的訓(xùn)練數(shù)據(jù)集由大約14.5萬套時間序列組成,每一套時間序列代表的是每天不同維基百科文章頁的瀏覽次數(shù),時間記錄的周期為2015年7月1日到2017年9月10日。而我們的目標(biāo)是為了預(yù)測2017年9月13日到2017年11月13日之間每天的頁面瀏覽量。其中,需要檢測的流量包括移動端、桌面端以及爬蟲流量。
注:模型的評價指標(biāo)為SMAPE。
測評方法
使用了一個單一的神經(jīng)網(wǎng)絡(luò)來對14.5萬套時間序列進(jìn)行建模,該模型架構(gòu)跟WaveNet非常相似,主要由擴(kuò)展卷積和因果卷積網(wǎng)絡(luò)組成,整個概念如下圖所示:
為了讓數(shù)據(jù)模型適應(yīng)并生成整個64天的相干預(yù)測值,我們還需要對模型進(jìn)行一些修改。為了在條件信息不足的情況下盡量減少錯誤序列信息的生成,我們采用了一種“序列-序列”的方法,其中的編碼器和解碼器不會共享參數(shù)。這樣一來,我們就可以在模型生成長序列的情況下讓解碼器來負(fù)責(zé)處理積累的噪聲了。
下面給出的是一些樣本預(yù)測,并演示了一些可以捕捉和預(yù)測的網(wǎng)絡(luò)模型。其中,預(yù)測值為黃色,灰色的是真實數(shù)據(jù)值,Y軸為對數(shù)變換:
配置要求
12 GBGPU(建議)+Python2.7
Python數(shù)據(jù)包:
numpy==1.13.1
pandas==0.19.2
scikit-learn==0.18.1
tensorflow==1.3.0
介紹內(nèi)容來自 FreeBuf
