ITPub博客

首页 > 数据库 > 数据库开发技术 > CVR 延迟转化建模思路

CVR 延迟转化建模思路

原创 数据库开发技术 作者:Agent的潜意识 时间:2021-03-08 19:49:04 0 删除 编辑

本文基于Modeling Delayed Feedback in Display Advertising等文章来分析CVR建模中存在的label延迟问题,并提出一些思考。

本文按照以下结构叙述

  • CVR建模难点、问题及常规解决方法

  • 延迟转化解决方案

  • DFM模型分析及构建

  • MLE及算法分析

  • 优化点及思考

CVR建模难点、问题及常规解决方法

一般CVR建模的难点是与业务特殊场景相关。

  • 正样本稀疏

    • 存在问题:模型难训练

    • 解决:pre-training、transfer learning(MTL)、data augmentation,etc

  • post-click训练集与线上真实环境分布差异大

    • 存在问题:模型无法感知线上真实环境

    • 解决:MTL with CTR

  • 特征与pCVR分布偏移

    • 新campaigns、活动加入等,模型无感知

    • online training

  • 正反馈信号延迟严重

    • 存在问题:低估cvr

    • 常规解决:waiting window、heuristics

本文主要从解决正反馈信号延迟严重问题切入,根据不同业务,延迟情况严重程度可能不同。不以与考虑则导致模型预估不准;且对于不同转化时间用户,基于不同业务场景本身其价值是不一样的,业务角度也能更加精细化建模。

延迟转化解决方案

大体上可以分为两个思路:FN Problem & DFM

  • FN Problem:减小观测样本与真实样本分布偏差角度入手,考虑负样本可能为false negative。FN处理方法的思路主要来源于生成模型中对分布的操作,其不考虑延迟时间信息。

    • Importance Sampling:未发生转化的样本可能未来会转化,则观测样本(sampled)与真实样本的分布存在偏差。可以使用importance sampling方法对观测分布进行校准(具体方法可以参见我之前这篇 Anticoder:强化学习基础知识 )

      • 缺点:IP只能保证一阶距估计无偏,分布不能差异太大;需要额外估计weights

    • Inverse Propensity Weighting:因果推断常用方法,类似的权重校准方法。基本思想为:部分正样本没有被发现,通过分配不同权重缓解样本label偏差。treatment可以看作观测到一个样本被分配了真实的label(具体可以参考我的专栏内文章因果推断学习 )【疯狂给自己引流】

      • 缺点:需要额外确定propensity weights

    • PU Learning:训练样本为positive & unlabeled samples,其中unlabeled sample可以看作p(y=1|x, s)的正样本和p(y=0|x, s)的负样本。

      • 交替训练:1.学习p(s|x)推出p(s|y) 2. 计算unlabeled权重训练。s为观测label,y为真实label

      • 缺点:PU learning假设正样本的丢失率是不变的,但实际不是的(比如,刚点击完的用户转化率相对比较低(还没想清楚;因为转化需要一定时间完成)

  • DFM (Delayed Feedback Model):Leverage time-delayed by MTL

    • delayed Bandits (MDPs):delayed rewards in MDPs("Stochastic Bandit Models for Delayed Conversions")

    • Delayed Feedback Model 【本文重点】

DFM模型分析及构建

观测样本:{X, Y, E, D},X为特征,E为流失时间,D为转化的时间,Y为观测转化label(其中Y=0时为unlabeled sample,其在未来可能发生转化,引入隐变量C代表未来是否转化)

模型框架:基于MTL框架,对延迟时间(DFM)和转化率(CVR model)建模,则在转化率模型训练中考虑了转化时间信息。

训练思路:对观测样本基于MLE训练,由Y=0存在2种可能(未来转化,未来不转化),自然引入隐变量,故模型估计可以使用EM进行交替训练;或者直接gradient-based。

延迟时间分析

时间模型选择:转化的延迟时间  ,离散化明显不是一个很方便的选择,且基于MLE方法,我们适合构建一个时间分布。且观测数据的转化时间有如下特点

  • 多方因素造成,具有经济意义(猜测)

  • left-censored:样本收集期间存在样本还未转化(还要等几天)

  • right-censored:样本收集期之前,已经发生转化前置行为(比如点击)

为了方便处理censored data,及对转化时间分布建模。很容易想到使用统计(社会学&精算学?)中的survival analysis进行建模分析,简单介绍以下。

Survival Analysis:基于概率研究生存时间的方法

  • Survival function: ,非增函数且S(0)=1; S(infinity)=0

  • Hazard function: 

  • Event density: 

其中随机变量T是死亡时间,survival function代表了至少活了t;hazard function代表死亡在t时刻发生的概率(live until t),所以它代表的是一种瞬时状态,就是t时刻发生的概率。所以hazard function可以很好地刻画出,基于当下的状态X,对死亡概率的决定性!(广义的讲,类似死亡概率的参数)。故我们可以用属性X对其建模。

延迟时间建模(DFM)

paper中做了如下假设

  1.  ,这个说明转化行为(转化时间,最终是否转化)是与流逝时间无关,故hazard fucntion不随时间变化!

  2. 基于下图可发现延迟时间大致服从指数分布,简单基于对模型复杂度的控制,我们可以建模为指数分布



基于以上分析及假设,时间分布为 

转化率(CVR model)建模

直接LR-based即可, 

MLE及算法分析

整体基于概率模型,很自然使用MLE训练参数,由我们样本存在隐变量,样本likelihood为p{X, Y, C, E, D},分析如下

  • 对于Y=1(观测为正)样本:可以直接计算

    • likelihood: 

    • 第一个等式因为 ;且E不影响转化行为

  • 对于Y=0(观测为unlabeled)样本,完备的概率表达需要隐变量C提供

    • 第一个等号使用全概率公式引入C;第二个等号显然中 

    • 第二个等号中  可以理解为转化时间还未到,既转化时间大于流逝时间

  • 算法分析

    • EM:交替训练。E-step:求隐变量的后验概率 P(C|Y, X, E) M-step:基于隐变量后验分布的log-likelihood E[P(Y, C| X, E)]。由于CVR和Survival model为广义线性回归,且EM中两个模型可以分开优化,各自为凸优化。缺点两步优化难以收敛。

    • GD:整体基于梯度下降更新,容易结合现有模型框架。缺点为两个模型耦合,为非凸优化。可能原因:unlabeled sample不知到底是因为cvr低造成还是转化时间长造成。

  • 模型输出

    •  ,由于在训练过程中引入了延迟转化时间信息,CVR模型训练已经考虑了此信息,且整个建模目的为更加准确预测真实CVR

优化点及思考

1. 假设一: 

  • 分析:模型假定时间流逝与用户转化意愿无关,实际上用户转化意愿可能会随着第一次点击之后发生不同的变化,且与之后的行为有关。比如一般用户转化意愿随着时间流逝逐渐变小;又比如又经常看到类似东西,进而激发用户转化意愿。

  • 优化点:hazard function应该随着不同用户后续行为进行变化,形成一个dynamic hazard function(与时间有关)

2. 假设二:延迟时间分布近似为指数分布形式

  • 分析:实际上不同的用户的在不同场景下的延迟时间可能会有一定变化,其具体的延迟分布应该由用户的特性和历史行为结合当时的状态来决定

  • 优化点:考虑对用户延迟时间建模,不对其分布进行先验假设,由其特征进行拟合建模。可参数化用户intensity function表达用户对不同时间点的转化意愿,结合kernel density聚合用户转化时间期望

  • 具体计算如下【2】(实测效果一般)



3. loss分析及优化思考

整体模型的loss为



CVR model梯度



  • 分析:观察第二项,Model对未来可能转化样本(unlabeled)的loss是从负样本角度考虑。当近期很快可能就转化的样本(e->0),负样本梯度很低,类似不考虑这类样本为负样本,相当于抛弃此类样本

  • 可能存在问题:负样本视角考虑时,对pCVR的估计可能会低估(因为很不想负样本咋们就扔掉,对他的pCVR预估更加接近AVG(pCVR))。当某些业务中有需求是对转化意愿高(近期很快转化)用户,我更愿意给他一个更高的pCVR

  • 可能解决方案:那我们可以从正样本视角考虑(或者正负样本角度【PU learning】),如果长时间不转化我们可以把unlabeled sample在正样本中给予极低的权重。

这里为了方便,不从演绎推理的角度来论述,而是根据目标我们归纳推理。为了DFM概率模型的估计正确,所以这里采用PU learning思想(保留对负样本的影响,为了DFM模型学习准确)。为了使其能影响到正样本,通过修改loss实现



可以看出当转化时间很短,则此样本可以作为正样本训练,且权重随着时间增加指数递减

课后思考

针对上述问题,你可以演绎出unlabeled作为正样本影响模型训练吗?

提示:隐变量选择

参考文献

  1. Modeling Delayed Feedback in Display Advertising

  2. A Nonparametric Delayed Feedback Model for Conversion Rate Prediction

  3. An Attention-based Model for Conversion Rate Prediction with Delayed Feedback via Post-click Calibration

  4. Stochastic Bandit Models for Delayed Conversions

  5. Neural Survival Recommender

  6. Proximal Policy Optimization Algorithms

  7. Moving towards best practice when using inverse probability of treatment weighting (IPTW) using the propensity score to estimate causal treatment effects in observational studies

  8. PU Learning - Learning from Positive and Unlabeled Examples


原文作者:Agent的潜意识;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2017-03-21

  • 博文量
    187
  • 访问量
    82265