计算广告学中的一个重要的问题是, 如果用户产生了一次转化(conversion, 比如购买, 注册等), 且该用户在转化之前看过大量不同频道(比如搜索, 展示, 社交等等)的广告, 那么我们如何确定是哪个(或)那些频道的广告导致的这次转化呢?

这就是归因(Attribution)问题, 如下图所示:

工业界采取的两种方法是“最后阅读获胜”(Last View Win)和“最后点击获胜”(Last Click Win), 前者会把转化归因于这个用户最后一次阅读的广告属于的频道, 后者会归因于最后一次点击的广告属于的频道(如果一直没有点击, 则归因于最后一次阅读的广告属于的频道). 以上两种方法统称为Last-Touch Attribution. 这种方法很简单, 但是忽略了除最后一个频道以外的所有其他频道的广告的影响, 所以效果不是很好.

实际上, 每个频道都对用户最终的转化产生了影响, 这种考虑多个频道的影响的模型称之为多点归因模型(Multi-Touch Attribution Model). 比较简单的就是线性归因模型和时间衰退归因模型:

Xuhui Shao等人提出了使用机器学习的方法来解决归因问题. 把归因看作是分类问题, 对于每个用户, 如果其有转化, 则是正样本, 否则是否样本. 特征则选择该用户在各个频道上的广告的阅读量. 在解决归因问题时, 我们不仅仅要求模型得到很好地分类性能(正确的预测用户是否有转化), 更重要的是, 得到各个频道对于用户的转化的影响, 以确定各个频道对于用户的转化的作用.

可以使用逻辑斯蒂回归(Logistic Regression)作为模型, 其得到的各个特征(频道)的系数作为其对该用户的转化的影响. 另外, 因为用户的行为很复杂, 所以单个逻辑斯蒂模型得到的系数估计的变化性可能很大, 这样不利于解释(因为重复试验时得到的各个频道对转化的影响变化很大). Xuhui等人提出了一种新的衡量标准: V-A metric. V(variability)衡量的是模型得到的特征系数(亦即各频道对转化的影响)的可变性, A表示的是对用户分类的准确性.

Xuhui等人提出使用装袋(bagging)方法训练多个逻辑斯蒂回归模型, 对于每个特征, 我们求得其系数的估计的标准差, 然后取所有特征的标准差的平均值来作为V. 使用多个逻辑斯蒂模型的准确率的平均值来作为A. 算法的具体步骤为:

  1. 从所有的数据中随机的抽取\(p_s\)比例的训练样本, 以及\(p_c\)比例的特征. 训练一个逻辑斯蒂模型. 记录各个特征的系数.
  2. 以上步骤迭代M次, 取各个特征的系数的平均值作为各个特征最终的系数值.

参考文献:

[1]. Xuhui Shao, Lexin Li, Data Driven Multi-Touch Attribution Models.

[2]. The Math Behind Multi-Touch Attribution Model

[3]. Multi-Channel Attribution Model: The good, Bad and Ugly Models

计算广告学-多点归因模型(Multi-Touch Attribution Model)的更多相关文章

  1. [Computational Advertising] 计算广告学笔记之基础概念

    因为工作需要,最近一直在关注计算广告学的内容.作为一个新手,学习计算广告学还是建议先看一下刘鹏老师在师徒网的教程<计算广告学>. 有关刘鹏老师的个人介绍:刘鹏现任360商业产品首席架构师, ...

  2. 【计算机视觉】阶编码本模型(Multi phase codebook model)

    转自:http://www.cnblogs.com/xrwang/archive/2012/04/24/MPCBBGM.html 多阶编码本模型(Multi phase codebook model) ...

  3. ML学习分享系列(2)_计算广告小窥[中]

    原作:面包包包包包包 改动:寒小阳 && 龙心尘 时间:2016年2月 出处:http://blog.csdn.net/Breada/article/details/50697030 ...

  4. 计算广告(computational advertising)

    计算广告学是一门由信息科学.统计学.计算机科学以及微观经济学等学科交叉融合的新兴分支学科. 1. 课程与资源 Andrei Broder:美国工程院院士,计算广告概念的提出者: MS&E 23 ...

  5. 计算广告CTR预估系列(七)--Facebook经典模型LR+GBDT理论与实践

    计算广告CTR预估系列(七)--Facebook经典模型LR+GBDT理论与实践 2018年06月13日 16:38:11 轻春 阅读数 6004更多 分类专栏: 机器学习 机器学习荐货情报局   版 ...

  6. 漫谈计算摄像学 (一):直观理解光场(Light Field)

    什么是计算摄像学 计算摄像学(Computational Photography)是近年来越来越受到注意的一个新的领域,在学术界早已火热.本来计算摄像学的业界应用在群众中一直没什么知名度,直到Lytr ...

  7. 《通过C#学Proto.Actor模型》之 HelloWorld

    在微服务中,数据最终一致性的一个解决方案是通过有状态的Actor模型来达到,那什么是Actor模型呢? Actor是并行的计算模型,包含状态,行为,并且包含一个邮箱,来异步处理消息. 关于Actor的 ...

  8. 超计算(Hyper computation)模型

    超计算(Hyper computation)模型 作者:Xyan Xcllet链接:https://www.zhihu.com/question/21579465/answer/106995708来源 ...

  9. 计算广告(4)----搜索广告召回(也叫match、触发)

    一.搜索广告形态 1.特征工程 特征主要有用户画像(user profile).用户行为(user behavior).广告(ad)和上下文(context)四部分组成,如下所示: 2.平台算法主要分 ...

随机推荐

  1. Tween.js 动画效果

    一.apply,和call的用法. 先来一个与本次博文无关的东西,就是apply和call的用法.其实apply和call的用法都一样,只是他们的传参不一样.apply是数组,而call是单独的传,类 ...

  2. [转帖]go的调度机制.

    调度器 主要基于三个基本对象上,G,M,P(定义在源码的src/runtime/runtime.h文件中) G代表一个goroutine对象,每次go调用的时候,都会创建一个G对象 M代表一个线程,每 ...

  3. 理解RESTful架构【转】

    越来越多的人开始意识到,网站即软件,而且是一种新型的软件. 这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency).高 ...

  4. Java的StringBuIlder扩容机制

    JDK 1.6中,扩容的源码是这样: void expandCapacity(int minimumCapacity) { int newCapacity = (value.length + 1) * ...

  5. 关于#pragma comment

    #pragma comment(lib,"ws2_32.lib") #pragma comment(lib,"ws2_32.lib")表示连接Ws2_32.li ...

  6. 一条慢SQL引发的血案

    直接切入正题吧: 通常来说,我们看到的慢查询一般还不致于导致挂站,顶多就是应用响应变慢不过这个恰好今天被我撞见了,一个慢查询把整个网站搞挂了先看看这个SQL张撒样子: # Query_time: 70 ...

  7. 模板:插头dp

    前言: 严格来讲有关dp的都不应该叫做模板,因为dp太活了,但是一是为了整理插头dp的知识,二是插头dp有良好的套路性,所以姑且还叫做模板吧. 这里先推荐一波CDQ的论文和这篇博客http://www ...

  8. 【XSY2307】树的难题

    Description Solution 看到这种路径统计问题,一般就想到要用点分治去做. 对于每个重心\(u\),统计经过\(u\)的合法的路径之中的最大值. 第一类路径是从\(u\)出发的,直接逐 ...

  9. kindeditor<=4.1.5上传漏洞复现

    0x00 漏洞描述 漏洞存在于kindeditor编辑器里,你能上传.txt和.html文件,支持php/asp/jsp/asp.net,漏洞存在于小于等于kindeditor4.1.5编辑器中 这里 ...

  10. java Class.getSimpleName() 的用法

    Usage in android: private static final String TAG = DemoApplication.class.getSimpleName(); public cl ...