计算广告学-多点归因模型(Multi-Touch Attribution Model)
计算广告学中的一个重要的问题是, 如果用户产生了一次转化(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. 算法的具体步骤为:
- 从所有的数据中随机的抽取\(p_s\)比例的训练样本, 以及\(p_c\)比例的特征. 训练一个逻辑斯蒂模型. 记录各个特征的系数.
- 以上步骤迭代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)的更多相关文章
- [Computational Advertising] 计算广告学笔记之基础概念
因为工作需要,最近一直在关注计算广告学的内容.作为一个新手,学习计算广告学还是建议先看一下刘鹏老师在师徒网的教程<计算广告学>. 有关刘鹏老师的个人介绍:刘鹏现任360商业产品首席架构师, ...
- 【计算机视觉】阶编码本模型(Multi phase codebook model)
转自:http://www.cnblogs.com/xrwang/archive/2012/04/24/MPCBBGM.html 多阶编码本模型(Multi phase codebook model) ...
- ML学习分享系列(2)_计算广告小窥[中]
原作:面包包包包包包 改动:寒小阳 && 龙心尘 时间:2016年2月 出处:http://blog.csdn.net/Breada/article/details/50697030 ...
- 计算广告(computational advertising)
计算广告学是一门由信息科学.统计学.计算机科学以及微观经济学等学科交叉融合的新兴分支学科. 1. 课程与资源 Andrei Broder:美国工程院院士,计算广告概念的提出者: MS&E 23 ...
- 计算广告CTR预估系列(七)--Facebook经典模型LR+GBDT理论与实践
计算广告CTR预估系列(七)--Facebook经典模型LR+GBDT理论与实践 2018年06月13日 16:38:11 轻春 阅读数 6004更多 分类专栏: 机器学习 机器学习荐货情报局 版 ...
- 漫谈计算摄像学 (一):直观理解光场(Light Field)
什么是计算摄像学 计算摄像学(Computational Photography)是近年来越来越受到注意的一个新的领域,在学术界早已火热.本来计算摄像学的业界应用在群众中一直没什么知名度,直到Lytr ...
- 《通过C#学Proto.Actor模型》之 HelloWorld
在微服务中,数据最终一致性的一个解决方案是通过有状态的Actor模型来达到,那什么是Actor模型呢? Actor是并行的计算模型,包含状态,行为,并且包含一个邮箱,来异步处理消息. 关于Actor的 ...
- 超计算(Hyper computation)模型
超计算(Hyper computation)模型 作者:Xyan Xcllet链接:https://www.zhihu.com/question/21579465/answer/106995708来源 ...
- 计算广告(4)----搜索广告召回(也叫match、触发)
一.搜索广告形态 1.特征工程 特征主要有用户画像(user profile).用户行为(user behavior).广告(ad)和上下文(context)四部分组成,如下所示: 2.平台算法主要分 ...
随机推荐
- grunt入门讲解7:项目脚手架grunt-init
grunt-init是一个用于自动创建项目脚手架的工具.它会基于当前工作环境和你给出的一些配置选项构建一个完整的目录结构.至于其所生成的具体文件和内容,依赖于你所选择的模版和构建过程中你对具体信息所给 ...
- Java线程池(一):初识
1.什么是线程池? 简单粗暴的理解就是:装着一个或多个线程的容器,我们称这个容器为线程池. 在现实世界中,有着各种各样的“池”,例如游泳池.花池等等.那花池来说,里面种满了各种各样的鲜花,花池本身要做 ...
- python 9*9乘法口诀表
# -*- coding: utf-8 -*- # __author__ = 'Carry' for i in range(1, 10): for j in range(1, i + 1): prin ...
- eclipse中添加配置文件夹config
1. 在项目上右键->Build path->Configure Build Path->Source下的Add Folder,如图 2. 在弹出框中,Create New Fold ...
- Codeforces Round #526 Div. 1 自闭记
日常猝死. A:f[i]表示子树内包含根且可以继续向上延伸的路径的最大价值,统计答案考虑合并两条路径即可. #include<iostream> #include<cstdio> ...
- BZOJ3309 DZY Loves Math(莫比乌斯反演+线性筛)
一通正常的莫比乌斯反演后,我们只需要求出g(n)=Σf(d)*μ(n/d)的前缀和就好了. 考虑怎么求g(n).当然是打表啊.设n=∏piai,n/d=∏pibi .显然若存在bi>1则这个d没 ...
- JAVA ACM 基础
java ACM Java做ACM-ICPC的特点: (1) 在一般比赛中,Java程序会有额外的时间和空间,而实际上经过实验,在执行计算密集任务的时候Java并不比C/C++慢多少,只是IO操作较慢 ...
- Linux编程中 #define _XOPEN_SOURCE的作用
[误解]#define _XOPEN_SOURCE决不是简单的宏定义它是使程序符合系统环境的不可缺少的部分 [概念]Glibc 所实现全部或部分规范下的功能有:1.ISO C: C语言国际标准. 2. ...
- poi导出word表格详解 超详细了
转:非常感谢原作者 poi导出word表格详解 2018年07月20日 10:41:33 Z丶royAl 阅读数:36138 一.效果如下 二.js代码 function export_word( ...
- SPOJ BALNUM Balanced Numbers (数位dp)
题目:http://www.spoj.com/problems/BALNUM/en/ 题意:找出区间[A, B]内所有奇数字出现次数为偶数,偶数字出现次数为计数的数的个数. 分析: 明显的数位dp题, ...