競(jìng)賽1-阿里天池-口碑客流量預(yù)測(cè)-題解總結(jié)

372/4046
賽題描述
https://tianchi.aliyun.com/competition/information.htm?spm=5176.100067.5678.2.WkzvDo&raceId=231591
給出過去16個(gè)月的口碑?dāng)?shù)據(jù),2k商家,包括商家類型、用戶支付行為、用戶瀏覽行為,用這些數(shù)據(jù)來預(yù)測(cè)各個(gè)商家在接下來14天(11.01-11.14)每天的客流量。

評(píng)價(jià)指標(biāo)
shop_info
user_pay
user_view

難點(diǎn)可視化時(shí)發(fā)現(xiàn)

  • 這其中包含雙十一和國(guó)慶節(jié)的客流預(yù)測(cè)。但僅有三分之一的商家有去年雙十一的信息
  • 每個(gè)商家開始加入口碑的時(shí)間不一,最晚從10月份開始
  • 近三個(gè)月有的商家記錄不全

</br>
冠軍題解
@CAT https://tianchi-gitlab.aliyun.com/race231591/gitlab-u2323
用了適合一般時(shí)間序列問題的時(shí)間序列加權(quán)回歸模型(SJH)
將2016.10.11-2016.10.31及2016.9.20-2016.9.26共計(jì)28天作為訓(xùn)練時(shí)間段。選擇了2016.10.18到2016.10.31共計(jì)14天、全部2000個(gè)商家的客流量作為線下測(cè)試集。排除了國(guó)慶節(jié)的干擾。
均值法,但不是簡(jiǎn)單的把訓(xùn)練集的均值當(dāng)做回歸,而是遍歷,用Loss確定最佳回歸值。
加權(quán)

  • 權(quán)重一:越靠近測(cè)試時(shí)間段的樣本的權(quán)重越大
  • 權(quán)重二:對(duì)于一個(gè)商家,越遠(yuǎn)離該商家開始營(yíng)業(yè)的時(shí)間的樣本的權(quán)重越大。
  • 權(quán)重三:周期(一)(這部分沒太看懂。。

</br>
第三名題解
drop-out的團(tuán)隊(duì)用的是knn,根據(jù)官方的測(cè)評(píng)標(biāo)準(zhǔn)SMAPE作為knn的距離,從歷史數(shù)據(jù)中尋找最相似歷史片段進(jìn)行預(yù)測(cè)填充。同時(shí)他們隊(duì)將數(shù)據(jù)以一周為單位聚合,每天的具體數(shù)據(jù)是以占一周百分比的形式保存。

</br>
第四名題解
https://tianchi-gitlab.aliyun.com/race231591/gitlab-u3844?spm=5176.836600.0.0.it2qKD

  • 數(shù)據(jù)預(yù)處理
    數(shù)據(jù)清洗包含三部分,通過規(guī)則清除,通過模型預(yù)訓(xùn)練清除及僅保留銷量統(tǒng)計(jì)信息。
    1 )規(guī)則清除:比如單個(gè)買家異常消費(fèi),或?qū)τ谝患业赇佷N量以歷史過去14天銷量的μ±2σ為限制,其中μ為均值,σ為均方根,以排除異常的銷量數(shù)。
    2)通過模型預(yù)訓(xùn)練清除:商家日銷量,可能存在一些難以預(yù)計(jì)的大幅波動(dòng),如促銷,商家停業(yè)等。對(duì)于這些規(guī)則難以清除的異常值,采用預(yù)訓(xùn)練的方式清除。模型訓(xùn)練中首先采用欠擬合的算法模型預(yù)訓(xùn)練,并清除殘差最大的10%(xgboost1,GBDT)和25%(xgboost2)的樣本。
    3)僅保留銷量統(tǒng)計(jì)信息:剔除用戶ID。

  • 預(yù)測(cè)模型
    多套gradient boosting:xgboost1,xgboost2, GBDT
    歷史均值+knn
    雙十一修正:僅有約1/3的商家存在2015年雙11的銷量記錄,需要通過這部分商家去年雙11信息,預(yù)測(cè)其余商家雙11銷量表現(xiàn)。
    采用xgboost單模型訓(xùn)練,由于雙11當(dāng)天對(duì)應(yīng)的工作日不同,2015年數(shù)據(jù)并不能很好反映出2016年雙11節(jié)假日情況,且超市便利店類商店存在大量的數(shù)據(jù)缺失。為防止過擬合,參數(shù)設(shè)置均較為保守,最大深度為2,且加了較大的正則項(xiàng),具體如下: max_depth = 2, learning_rate=0.01, n_estimators=500, reg_alpha=10, gamma = 1

  • 模型融合
    調(diào)整多套gradient boosting系數(shù),得到的結(jié)果再和均值模型融合。最后對(duì)雙十一模型進(jìn)行微調(diào)。

</br>
第十六名題解
https://github.com/RogerMonkey/IJCAI_CUP_2017
用到的模型:ARIMA,GBDT,LR,RF,Extremely Randomized Trees
關(guān)于Extremely Randomized Trees的博客:http://blog.csdn.net/zhaocj/article/details/51648966

</br>
自己的思路 -- 372名
最后來說說自己的思路吧,也跟大神們的題解對(duì)比對(duì)比,找找不足。
這次比賽和@lyq組隊(duì),是我除了練習(xí)賽外參加的第一個(gè)數(shù)據(jù)競(jìng)賽,我們想到這首先是一個(gè)時(shí)間序列的回歸問題,通過查找資料了解到處理時(shí)間序列常用的兩周算法:STL分解和ARMA。
STL是Seasonal and Trend decomposition using loess局部加權(quán)回歸作為平滑方法的一種時(shí)間序列分解方法,分解結(jié)果又sensoanl部分,trend部分和remainder三部分。
而ARMA是Auto-Regressive and Moving Average Model。對(duì)于非平穩(wěn)序列(如本題)需要差分或二階差分后再應(yīng)用。
我們分工一個(gè)人做STL分解,一個(gè)人構(gòu)造平穩(wěn)序列使用ARMA,發(fā)現(xiàn)后者效果對(duì)于本題不好。所以我們采用了STL分解。


首先可視化發(fā)現(xiàn),國(guó)慶部分的銷量異常,雙十一部分也有變動(dòng),所以首先從trainset中把國(guó)慶部分去掉。然后發(fā)現(xiàn)有的店是平日客流高峰,有的是周末高峰。
通過觀察把商家最后分為四類:(根據(jù)數(shù)據(jù)缺失情況和客流情況)

  • 近三個(gè)月有缺失值的商家
  • 只有近三個(gè)月完整記錄的商家
  • 春節(jié)后有完整記錄,且周末高峰的商家
  • 春節(jié)后有完整記錄,且平日高峰的商家
    節(jié)假日注意調(diào)休安排
    Clustering_by_pattern.py

分類高峰就是統(tǒng)計(jì)工作日和周末,然后看哪個(gè)日均多。Feature_holiday_workday.py
是否有缺失值就是規(guī)則統(tǒng)計(jì)



數(shù)據(jù)缺失嚴(yán)重的填了均值。
STL分解需要預(yù)處理,不然影響很大。異常點(diǎn)去除:規(guī)則去除+手動(dòng)過一遍



分解后就要分別對(duì)得到的幾部分做回歸預(yù)測(cè)。季節(jié)性部分不變。trend用了LR,前n星期線性組合,GBDT。殘差試了一下天氣擬合。



雙十一是怎么處理的。
線下測(cè)評(píng)就是往前推了兩周。

統(tǒng)計(jì)每天每個(gè)店鋪的平均view量和pay量,作為特征
user_view.py
user_flow.py
user_flow_clsddification.py 回頭客(>5次)

加上所在位置、人均消費(fèi)、評(píng)分、評(píng)論數(shù)、門店等級(jí)、一級(jí)品類作為特征

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 做淘寶真的要刷單么?那些所謂的七天螺旋,如果你一個(gè)新開的店,沒權(quán)重沒流量,不刷單哪來的螺旋給你? 淘寶大環(huán)境下,小...
    我是盼盼呢閱讀 10,060評(píng)論 1 16
  • 機(jī)器學(xué)習(xí)是做NLP和計(jì)算機(jī)視覺這類應(yīng)用算法的基礎(chǔ),雖然現(xiàn)在深度學(xué)習(xí)模型大行其道,但是懂一些傳統(tǒng)算法的原理和它們之間...
    在河之簡(jiǎn)閱讀 20,900評(píng)論 4 65
  • 首頁(yè) 資訊 文章 資源 小組 相親 登錄 注冊(cè) 首頁(yè) 最新文章 IT 職場(chǎng) 前端 后端 移動(dòng)端 數(shù)據(jù)庫(kù) 運(yùn)維 其他...
    Helen_Cat閱讀 4,151評(píng)論 1 10
  • 小時(shí)候誰都希望自己的將來閃閃發(fā)光,但是長(zhǎng)大以后,自己的夢(mèng)想,卻沒有一個(gè)能變成現(xiàn)實(shí)。 ...
    風(fēng)呼嚓嚓閱讀 373評(píng)論 3 3
  • 喜歡北方的冬天,銀裝素裹的大地和村莊,讓人靜謐和沉靜,今年是來北方的第十年,從最初的盼望回到南方到現(xiàn)在的適應(yīng)和喜...
    清晨暮霧閱讀 216評(píng)論 0 0

友情鏈接更多精彩內(nèi)容