第一赛季8名,第二赛季11名
主要使用模型和规则
预处理:过滤异常用户的操作记录,比如一整天都听同一首歌,疯狂下载歌的等等
构建样本:对每个歌手建模,每一天的播放数据为一个样本,有的歌手会出现很多突然的波动,使用7点平滑
特征:因为是对每个歌手建模,所以不用考虑歌手特征,全部使用时间特征
工作日,节假日,是否加班,放假第几天,工作第几天,星期几,节前,节后等等
趋势特征:不同大小的窗口做差分特征,从训练集开始按时间编号,训练集使用3个月的数据,按天编号1~90,预测集91~150,按周编号,按月编号等等
模型:LR+SVR+RF+XGBOOST bagging融合
训练集训练模型,反过来预测训练集,将偏差过大的歌手从训练集删除,拿出来单独分析
发现这些歌手变动情况比较大,模型难以预测
考虑使用规则,考虑评分公式,排除一些变量,简化公式求导可得一个预测均值,e(1/tk)/e(1/tk^2)作为预测结果
过滤出一些模型预测为负的歌手,观察发现这些歌手趋势下降太快,导致模型预测为负,将预测为负的部分用规则处理
有明显提高,因为有时候偏差过大的话会导致这个歌手的得分为负。
最后融合一下模型和规则就是最后线上成绩
最近在实习,投入这个比赛的精力较少,初赛复赛基本都是最后一周开始搞,所以方案略简单,也没有考虑歌手的一些细节特征
观察过发布新歌和趋势好像没有明显关系?莫非是观察的姿势不对。。