- 解决思路:
一是把这个问题变成一个二分类问题,预测一个广告是否能从一个曝光请求中胜出
二是把这个问题变成一个回归问题,预测一个广告在带预测时间的曝光量
因为模拟曝光过程不可控因素太多,选手基本是直接预测广告当天曝光量
- 特征工程
单个广告:当天特征:广告本身特征如得分,点击率,被屏蔽率...竞争者的特征,例如得分,数目,被屏蔽率,用户特征,面向用户的数目;前天特征:曝光量,部分当天特征平移两天;大前天特征:曝光量,部分特征平移三天。
单个账户,单个尺寸,单个商品下广告统计特征
时间特征:在过去3/7/10天统计广告曝光时间,曝光时间间隔等的统计值max/min/mean/median/std
数值特征:在过去3/7/10天统计广告请求量,曝光值等统计值max/min/mean/median/std/sum
类别特征:在过去3、7、10天统计广告曝光广告位id,用户id等去重数,再对商品id,商品类型,行业id等五折生成目标编码统计特征
最后根据模型输出重要性删减部分特征
跟广告自身设定相关的特征:
广告账户ID、商品ID、素材尺寸等原始特征
出价信息的相关特征(出价类型)
跟时间相关的一些特征,如样本日期与广告创建日期之间的间隔
直接从样本日期当天的曝光日志提取的信息:
样本在当天参与竞争的请求数量
广告当天参与竞价的请求对应的用户的基本情况
历史特征,主要用来衡量广告自身的竞争力:
历史的请求数量,曝光量,曝光率,策略过滤数,策略过滤率等
各种分布信息,构造出一些没有极端偏态情况的数据分布,在使用均值,方差,偏度(一到三阶矩的信息)来刻画分布:
log(pctr)的分布信息,log(epcm)的分布信息
广告当天的相对排名的分布信息
广告在每个请求中的ecpm与该请求最大的ecpm的比值的分布信息
刻画广告所处的竞争环境的特征
编码特征构造:
广告ID对应用户人群编码: NMF降维,均值
当天用户编码广告,统计广告的用户数量并降维+统计
复赛A榜训练集和测试集是连续的,复赛B榜则是不连续的,面对“跨天”预测,利用“远程监督”的方式,利用现有的标注数据,训练一个模型,给未标注数据进行标注,然后拿来训练
通过组合构造主键下数值的均值、中位数可以很好的覆盖新广告,同时进行一阶、二阶构造,更细粒度挖掘
由之前特征提取方式能够得到当天新的广告竞争胜率、广告竞争胜利次数、广告竞争失败次数,我们称其为“假数据”,然后和当天真正广告竞争总次数进行交叉。
- loss Function
- 模型
lgb+FM
预测相对位置:
转换观测视角 NewLabel=Label-BasePred
模型效果大于规则
解决稀疏样本下信息丢失问题,以及越界值问题
分别使用log(曝光量)和log(曝光率)作为建模目标
transformer模型:
(也有人用一个神经网络找历史权重)
更细致的融合(不同广告位融合等)
- 后处理
四舍五入到整数
出价单调性处理
结合规则