Computational Advertising

广告结算形式

结算形式 场景
CPT, cost per time 广告位合约,某一时间段内、在某些广告位上独占投送该广告主的广告
CPM, cost per mille 展示量合约,是约定(一系列重要的广告位)在某种受众条件(定向标签)下的展示量,然后按事先约定的单位展示量价格来结算
受众定向典型方法:地域;精确位置;人口属性;频道->上下文->行为(多上下文关联);老顾客重定向->根据老用户搜索潜在用户
CPC, cost per click 竞价广告:搜索广告,广告主就某标的物(在这里是关键词)的广告展示机会展开拍卖式的竞争,并根据竞争结果依次占据该广告展示的若干位置。排序依据,不能只考虑竞价(如果高出价没人点击,则无法获取收入),可使用“(预估)点击率 $\times$ 竞价”。竞价广告网络 ADN, ad network,将各种媒体的不同广告位聚合在一起售卖,按照人群标签或(网站)上下文标签的流量切割方式售卖给广告主。广告交易平台 ADX, ad exchange对比ADN,ADN静态预设关注的用户/网站标签,及出价;ADX则拿本次场景(标签),每次动态问一下广告主,本次是否出价(实时竞价)。
CPS, cost per sale; CPA, cost per action 多适用于广告主自家广告平台,完全考虑广告主利益,平台利益不容易保障

平台(媒体与广告平台,内部划分暂不考虑)收益预期eCPM,曝光出价、点击出价、转化出价,由广告主设定:

  • CPM:eCPM = 曝光出价
  • CPC:eCPM = pCTR $\times$ 点击出价
  • CPA:eCPM = pCTR $\times$ pCVR $\times$ 转化出价
  • oCPC:eCPM = pCTR $\times$ 由平台估算的点击出价 = pCTR $\times$ (pCVR $\times$ 转化出价)
    • 广告主只会填写预期的转化出价,平台根据转化出价反推点击出价估计
    • oCPC是以广告主填写的“预期转化出价”为限制,按CPC进行收费,兼顾了广告主的利益(关注转化)和平台利益(点击数据可由平台直接获取;另外稍微不符广告主要求时——转化不太好,也能收上来费——有点击即可收费,当然长此以往广告主就不来了)
    • 若pCVR整体高估或低估,会造成eCPM升高或降低。但实际上的CVR不变,即同样的转化数,用户的付费(相较于其填写的预期)上升或下降,使得用户或平台吃亏

比率指标

指标 含义
CTR, click through rate 点击数/展示数,描述广告内容的相关性(吸引人点击的程度)
CVR, conversion rate 转化次数/到达次数
ROI, return on investment 投入产出比,总产出/总投入,评价回报效果

数据维度

参与方 获取信息 考察方面
用户 用户描述 人口属性、设备属性、兴趣爱好、历史广告
媒体 上下文环境描述 媒体质量、上下文内容、浏览环境
广告主 广告描述 广告样式、广告内容、广告热度
客观条件 外部环境 时间、空间、天气

AIC BIC

模型选择问题是在“模型复杂度”与“模型对数据集描述能力”(即似然函数)之间寻求最佳平衡。
常用的AIC、BIC,信息准则 = 复杂度惩罚 + 精度惩罚,值越小越好。
复杂度惩罚:对应“参数数量”、“训练数据量”,数值变大表明模型复杂度增加,容易过拟合
精度惩罚:对应“负log-似然函数”,数值变大表明似然函数降低,模型对数据集的描述能力下降

AIC

Akaike Information Criterion

$k$为参数数量,$L$为似然函数。

当两个模型之间存在较大差异时,差异主要体现在似然函数项,当似然函数差异不显著时,上式第一项,即模型复杂度则起作用,从而参数个数少的模型是较好的选择。一般而言,当模型复杂度提高($k$增大)时,似然函数$L$也会增大,从而使$AIC$变小,但是$k$过大时,似然函数增速减缓,导致$AIC$增大,模型过于复杂容易造成过拟合现象。目标是选取$AIC$最小的模型,$AIC$不仅要提高模型拟合度(极大似然),而且引入了惩罚项,使模型参数尽可能少,有助于降低过拟合的可能性。

回归问题计算方法:

$n$为样本数量,$RSS$为残差平方和(or SSE, Sum of Squared Errors)。

BIC

Bayesian Information Criterion

$n$为样本数量,$k$为参数数量,$L$为似然函数。

$\ln(n)k$惩罚项在维数$k$过大且训练样本数$n$相对较少的情况下,可以有效避免出现维度灾难现象。
与AIC相似,用于模型选择。训练模型时,增加参数数量,也就是增加模型复杂度,会增大似然函数,但是也会导致过拟合现象,针对该问题,AIC和BIC均引入了与模型参数个数相关的惩罚项,BIC的惩罚项比AIC的大,考虑了样本数量,样本数量过多时,可有效防止模型精度过高造成的模型复杂度过高。

回归问题计算方法:

$AIC$和$BIC$的公式中后半部分是一样的,前半部分是惩罚项,当$n \ge 8n \ge 8$时,$k\ln(n) \ge 2k kln(n)\ge 2k$,所以$BIC$相比$AIC$在大数据量时对模型参数惩罚得更多,导致BIC更倾向于选择参数少的简单模型。

ARMA ARIMA

平稳

AR/MA/ARMA用于分析平稳时间序列,ARIMA通过差分可以用于处理非平稳时间序列。

平稳的直观理解:
平稳时间序列围绕一个常数上下波动的;
而一般具有长期趋势的时间序列都是非平稳时间序列。根据趋势的不同,可以使用差分将具有长期趋势的时间序列转换成平稳时间序列。例如,时间序列的数值为线性增长的$(1,2,3,4,5,6,7,8)$,经过一阶差分以后,新的时间序列的数值为$(1,1,1,1,1,1,1)$,就成为稳定的时间序列了。

ARMA

AR (AutoRegressive)

自回归模型描述的是当前值与历史值之间的关系。
利用历史值与当前值的相关关系(自相关),用之前的$p$个历史值的线性组合($p$阶)来预测当前值。
$c$为常数项。
$\varepsilon_t$为当前时刻的白噪声干扰项。白噪声可以理解为时间序列值的随机波动,这些随机波动的总和会等于0。

AR模型思想很简单,该模型认为通过时间序列过历史时刻点的线性组合加上白噪声即可预测当前时刻点。

MA (Moving Average)

$\mu$是$X_t$的均值(often assumed to equal 0), $\varepsilon _{t}, \varepsilon _{t-1}, …$是白噪声。
MA模型和AR大同小异,它并非是历史时刻点的线性组合,而是历史白噪声的线性组合(q阶)。与AR最大的不同之处在于,AR模型中历史白噪声的影响是间接影响当前预测值的(通过影响历史时序值)。

移动平均过程其实可以作为自回归过程的补充,解决自回归方程中白噪声的求解问题,两者的组合就成为自回归移动平均过程,称为ARMA模型。

ARMA

将AR和MA模型混合可得到ARMA模型,AR(p)和MA(q)共同组成了ARMA(p,q)。

$c$为常数项。
$\varepsilon _{t}, \varepsilon _{t-1}, …$是白噪声。
AR可以解决当前数据与后期数据之间的关系,MA则可以解决随机变动也就是噪声的问题(不只是白噪声,噪声由白噪声MA来估算)。

那么在建模过程中应该如何选择ARMA模型的最佳超参数p和q呢?
最常用的技术是采用循环在p和q各自0到5(或者更大)的范围内搜索最小AIC或BIC的(p,q)组合。

(忽略常数项$c$),滞后算子表示法:

其中$L$是滞后算子(Lag operator),$L^iX_t = X_{t-i}$。

ARIMA

AR/MA/ARMA模型适用于平稳时间序列的分析,当时间序列存在上升或下降趋势时,这些模型的分析效果就大打折扣了,这时差分自回归移动平均模型也就应运而生。
ARIMA模型能够用于齐次非平稳时间序列的分析,这里的齐次指的是原本不平稳的时间序列经过d次差分后成为平稳时间序列。

ARIMA(p,d,q),在d阶差分后进行ARMA:

在ARIMA模型的基础上可以衍生出SARIMA模型,SRIMA模型能够刻画季节效应,如商品价格的周期性变动。

指数平滑

在做时序预测时,一个显然的思路是:认为离着预测点越近的点,作用越大。
例如某人体重,去年某个月120斤,本月100斤,显然对于预测下个月体重而言,本月的数据影响力更大些。由此,假设随着时间的前推,权重以指数方式下降:最近为$0.8$,然后之前依次为$0.8^2$,$0.8^3$…,最终时间久远的数据,权重将接近于0。
这种将前推时刻的权重,按照指数级进行衰减的思想,这就是指数平滑法的核心思想。

指数平滑法有几种不同形式:

  • 一次指数平滑法针对没有趋势和季节性的序列;
  • 二次指数平滑法针对有趋势但没有季节性的序列;
  • 三次指数平滑法(Holt-Winters)针对有趋势也有季节性的序列。

趋势 -> 线性;季节性 -> 周期性。

所有的指数平滑法,更新平滑值时,都使用上一时刻的平滑值,并使用当前时刻的实际值。
它们通过混合新旧信息来实现,而相关的新旧信息的权重由一个可调整的参数来控制。

一次指数平滑

一次指数平滑法的递推关系如下:

其中,$s_i$是$i$时刻的平滑值,$x_i$是$i$时刻的数据实际值。$\alpha$取值0到1之间,它控制着新旧信息之间的平衡:当$\alpha$接近1,就只保留当前数据点;当$\alpha$接近0时,就只保留前面的平滑值(整个曲线都是平的)。

展开递推关系式:

可以看出,在指数平滑法中,所有先前的观测值都对当前的平滑值产生了影响,但它们所起的作用随着参数$\alpha$的幂的增大而逐渐减小。即,那些相对较早的观测值所起的作用相对较小。因此,称$\alpha$为记忆“衰减因子”可能更合适:因为$\alpha$的值越大,模型对历史数据“遗忘”的就越快。从某种程度来说,指数平滑法就像是拥有无限记忆(平滑窗口足够大)且权值呈指数级递减的移动平均法。

一次指数平滑所得的计算结果可以在数据集及范围之外进行扩展,因此也就可以用来进行预测。
预测时:

$s_i$是最后一个已经算出来的平滑值。$x_{i+1}$代表预测的下一个值。
即,将当前时刻的平滑值,作为对下一时刻值的预测。

二次指数平滑

在介绍二次指数平滑前介绍一下趋势的概念。
趋势,或者说斜率的定义很简单:$b = \Delta y / \Delta x$,其中$\Delta x$为两点在X坐标轴的变化值,而对于一个序列而言,相邻两个点$\Delta x = 1$,因此$b = \Delta y = y_x - y_{x-1}$。
除了用点的增长量表示,也可以用二者的比值表示趋势。比如可以说一个物品比另一个贵20块钱,等价地也可以说贵了5%,前者称为可加的(addtive),后者称为可乘的(multiplicative)。在实际应用中,可乘的模型预测稳定性更佳,但是为了便于理解,我们在这以可加的模型为例进行推导。

指数平滑考虑的是数据的baseline,二次指数平滑在此基础上将趋势作为一个额外考量,保留了趋势的详细信息。即我们保留并更新两个量的状态:平滑后的信号和平滑后的趋势。公式如下:

第二个等式描述了平滑后的趋势。当前的未平滑趋势,是当前平滑值($s_i$)和上一个平滑值($s_{i-1}$)的差;也就是说,当前趋势告诉我们,在上一个时间步长中,平滑信号改变了多少。要想使趋势平滑,我们用一次指数平滑法对趋势进行处理,并使用参数$\beta$(地位类似$\alpha$)。

为获得平滑信号,我们像上次那样进行一次混合,但要同时考虑到上一个平滑信号及趋势。假设单个步长时间内保持着上一个趋势(增加一些),那么第一个等式的最后那项就可以对当前平滑信号进行估计。

预测时:

取最后平滑值,然后每增加一个时间步长,就在该平滑值上增加一次最后那个平滑趋势。

三次指数平滑 Holt-Winters

当一个序列在每个固定的时间间隔中都出现某种重复的模式,就称之具有季节性特征,而这样的一个时间间隔称为一个季节。
一个季节的长度$L$为它所包含的序列点个数。

二次指数平滑考虑了序列的baseline和趋势,三次就是在此基础上增加了一个季节分量。类似于趋势分量,对季节分量也要做指数平滑。

预测时:

上述公式为加法模型。当季节变化在该时间序列中大致保持不变时,通常选择加法模型;而当季节变化与时间序列的水平成比例变化时,通常选择乘法模型。

多模型融合方法

融合方式

各个classifier好而不同

  • summing
  • voting (futhermore, use the correct classification ratios as weights)
  • cascading
    • give the solved record final result, pass the unsolved record to the next classifier
      • all classifiers for one class, eg: rule based method (cbr, association rule mining, …) + …
      • one classifier for each class
  • stacking: previous model outputs as latter model inputs (多模型结果做特征)
    • lr: linar regression, logistic regression
  • multi stages: process design for steps focusing on different problems
    • predicting a feature
    • clustering source data
      • 同质化,去除noise、unrepresentative,数据集更representative、更纯净
        • a two-stage clustering method consisting of a hierarchical model, such as Ward’s minimum variance method (or self-organizing map), followed by a non-hierarchical method, such as K-means method, can provide a better solution. The key is that hierarchical methods can determine the candidate number of clusters and starting point of each cluster, and non-hierarchical methods can provide better clustering result with the specified information.
        • 直接删除isolated clusters、进一步处理inconsistent clusters
      • different models、as a feature、switch labels
        • switch labels(面向分类): For the applicants in the inconsistent cluster, the good credit applicants would have more of an opportunity to delay future payments than other good credit applicants, and the bad credit applicants would have more of an opportunity to repay the delayed payments than the other bad credit applicants. To indicate this behavioral trend in the built credit scoring model, cluster-2 was further divided into cluster-21 and cluster-22 according to their original credit status.