基于特征工程的网络广告收益转化精准度研究
2019-01-09赵又霖张慧敏
赵又霖,张慧敏
(河海大学 商学院,江苏 南京 211100)
网络广告收益是互联网企业最主要的变现手段。互联网广告根据收费方式主要可以分为按展示量收费(cost per mille,CPM)、按展示时长收费(cost per time,CPT)、按点击次数收费(cost per click,CPC)、按展示效果收费(cost per action,CPA)4种。其中,CPA最接近广告主的利益诉求,在最大程度上避免了广告主的投资风险,因此CPA成为广告主的最佳选择。在CPA收费模式下,最受广告主青睐的效果评估指标是收益转化率,此情况下的广告平台只有提高广告收益转化率才能有效提高平台广告收入。由于精准投放是广告提高收益转化率的关键手段,而精准的收益转化率预估是精准投放中的关键环节,因此收益转化率预估成为了网络广告变现过程中的核心问题。当广告收益转化率预测值远高于真实值时,广告平台由于向某些用户展示了不合适的广告信息而导致实际收益转化率偏低,广告平台无法取得预期的广告收入。当预测值远低于真实值时,由于广告平台减少了某条广告的展示量,使得转化率低于预期值,广告主的利益受到损害。无论预测值是远高于或远低于真实值都会使用户无法获得其最佳匹配的广告信息,因此精准的广告收益转化率预测方案对于广告投放过程中的所有相关利益者皆十分重要。
但在广告收益转化率预测研究中主要存在以下两个难点:①真实数据正负样本极端不平衡。若不对数据集进行处理,算法训练的结果会向多数类样本偏移。目前多使用抽样的方法来解决数据偏移问题,但是抽样会改变数据分布,使样本分布与真实情况产生偏差,对偏差的纠正主要依赖于经验参数,而经验参数却较难获得。因此如何在保持训练样本分布与真实数据分布一致的情况下,减少数据不平衡带来的影响是收益转化率研究的难点之一。②网络广告的数据过于全面以致冗余,并包含错误或无关的信息,这些信息会对算法产生干扰。
特征工程(feature engineering)是一项将原始数据转换成能被计算机算法所理解的特征体系的工程活动,其目的是从原始数据中提取尽可能多的有用信息供算法使用,从而提高模型准确度。针对广告收益转化率预测中存在的两个难点,笔者将特征工程融入网络广告收益转化率的目的为:①探索数据不平衡情况下使用特征工程方法的有效性。②通过特征构造将数据中的隐藏信息变换为算法可理解的工程特征,从而提高信息的利用率。
总体上来说,精准的广告收益转化率预估有助于广告精准投放的实施,从而提高真实的广告收益转化率。精准的收益转化率预估在提高广告主效用、增加广告平台收入的同时,还可以提高用户的满意度和广告平台的美誉度。为了使广告投放过程中所有利益相关者的总体效用达到最大,精准的广告收益转化率预测值得人们进行深入的研究。
1 研究现状
近年来互联网行业的快速兴起带来了网络广告市场的飞速发展,精准投放在网络广告传播中需要精准的数据计算。精准投放又称为定向投放,其概念最早于20世纪90年代由美国网络广告服务商DoubleClick公司提出。DoubleClick提出的“动态广告报告与目标定位(dynamic advertising reporting targeting,DART)”这一技术标志着互联网早期精准计算与精准投放需求的出现。精准投放领域的计算应用是对广告学知识的一种量化应用。在这个过程中,广告学逐渐成为一门科学,并且衍生出了一门新的交叉学科即计算广告学,其核心问题在于寻找给定情境下与特定用户匹配程度最高的广告信息。自计算广告学概念诞生以来,许多专家学者对广告收益转化率预测相关的一系列问题做了探索性研究,并提出了相应的解决方案。
在算法模型选择方面,逻辑回归(logistic regression,LR)是最常用的算法模型,该模型基于逻辑回归的机器学习框架来处理TB级的广告数据,适合用于点击率和收益转化率预测研究。如LI等[1]融入用户历史数据和广告投放过程中各个利益相关者的属性,通过实验证明了LR模型在面对极度稀疏的数据时也有良好的性能表现。除了LR模型外,贝叶斯模型也常用于广告收益转化率预测。如纪文迪[2]结合广告归因分析构建了基于排序和贝叶斯框架的时间敏感收益转化率预测算法模型,并提出广告收益转化率与用户收益相关,模型预测效果良好,但是该模型部署复杂且训练所需数据量极大。吴英[3]使用贝叶斯方法对广告的图模型进行描述,但是此方法主要针对搜索广告,与笔者所研究的展示广告相关度较低。在算法选择上,逻辑回归和贝叶斯模型存在以下两点不同:①两者的应用领域有一定的差异。贝叶斯模型主要用于搜索广告领域,而逻辑回归主要用于展示广告领域。②与逻辑回归相比,贝叶斯模型的构建需要大量的历史数据来提供足够准确的先验概率,并且贝叶斯模型的部署更为复杂。
关于如何通过特征工程提高收益转化率预测效果,也有学者进行了相应的研究。如CHAPELLE等[4]通过ID类特征来进行特征选择,通过哈希技巧(hashing trick)来进行特征压缩,从而实现了简单轻量级的算法。GHOSE等[5]提到数据层次(data hierarchies)有助于避免过拟合情况的发生。CHE等[6]采用层次贝叶斯模型来探索与收益转化率高度相关的影响因素,并提出广告内容标签是最关键的影响因素。RUTZ等[7]通过以用户为中心的算法模型来进行收益转化率预测,提出用户特性是最关键的影响因素。ZHAO等[8-12]将时间信息加入特征体系中,从而有效地提高了用户偏好分析的准确性。FAY等[13]通过实验证明了用户特性、广告创意与广告展示位置等特征有助于提高收益转化率的预测效果。广告收益转化率预测常常因为转化延迟的问题而使得监测到的值较低,如ZHU等[14]利用基于梯度下降的对数似然算法降低因转化延迟而带来的转化预测偏差等问题。
虽然较多学者针对网络广告收益转化率的预测问题进行了研究,但是已有研究还存在以下几点缺陷:①目前参与此项探索的学者大多属于计算机科学领域,缺少从商业、心理学和新闻传播学视角开展的研究,且研究重心大多为机器学习算法的组合优化方面,而对于特征的构建与选择,缺乏系统性的研究。②计算广告学是网络广告收益转化率预测的理论基础,目前计算广告学的两大应用是广告点击率预估与收益转化率预估。计算广告学兴起至今不到30年,尚未形成一个成熟完整的学科。计算广告学起源于西方,国外的研究成果相对较多,但我国关于计算广告学的研究尚处于起步阶段,并且国内多数学者的研究内容主要集中在点击率预估方面,鲜有学者涉及收益转化率预估领域。③无论是国内还是国外,关于广告收益转化率预估问题的研究内容皆缺乏针对特征工程方面的系统研究。
因此,笔者基于以上问题,从特征工程的角度进行网络广告收益转化率预估研究:针对特征构造所形成的特征集,提出综合使用过滤式和嵌入式特征选择法进行多层特征选择;针对网络广告数据存在的正负样本不平衡、特征矩阵稀疏等问题,提出改良方差选择法来解决数据不平衡状态下无关特征的过滤问题。
2 数据源及数据预处理
2.1 数据源
互联网行业的腾讯在网络社交领域积累了大量的优质用户身份数据和广告点击数据,这些数据为广告收益转化率预测提供了数据保障。笔者使用的训练集来自于腾讯社交广告系统中某个月17日至30日共计两周的移动设备广告点击数据以及其对应用户的属性数据。训练样本中共有3 749 528条点击记录,交互的用户(userID)数量为2 595 627个,涉及的广告素材(creativeID)数量为6 315个,广告位置(positionID)数量为7 219个。每条记录的字段及描述如表1所示。
表1 训练集样本字段
训练集中每一条样本对应用户的一次广告点击行为,其中creativeID、userID、positionID所包含的具体信息由广告特征文件、app类型文件、广告位特征文件和用户身份信息文件提供,该4种数据文件名称与大小如表2所示。
表2 数据文件描述
广告收益转化率预测问题是在给定用户、广告和上下文(即情境)的状况下预测广告点击之后产生进一步转化行为的概率,如式(1)所示。
PCVR=P(label=1|user,ad,context)
(1)
式中:PCVR为转化概率;label=1表示转化成功;user表示用户类特征;ad表示广告类特征;context表示上下文类特征。
将数据集给定的属性按照式(1)划分为用户特征、广告特征和上下文特征3类,分别如表3~表5所示。
表3 用户特征
表4 广告特征
表5 上下文特征
2.2 数据预处理
2.2.1 数据清洗
该数据集在公布之前预先进行了脱敏处理,并已将数据全部数值化,因此非空值类型均为整型。针对在数据探查过程中发现的数据问题,对数据进行以下清洗操作:
(1)去除冗余数据。对原始数据集的63 081条完全重复的点击记录数据进行了去重。
(2)去除错误数据。原始数据集包括5 658条数据,除样本正负属性不同外,其余字段值包括点击时间(clicktime)均相同,因为此部分样本具有详细的转化回流时间值,所以笔者认为其属于正样本。采取的操作是删除错误的负样本数据。
(3)缺失值处理。为避免人为地添加干扰,基于“不处理”的思想对缺失值进行填充。考虑到取值“0”对于所使用的逻辑回归算法不会产生有偏影响,因此采用零值来填充缺失值。
原始数据集经过清洗后,剩余样本数为3 686 447条,约占原始数据量的98.32%,其中正样本数为92 187条,数据清洗后正样本数在总样本数中所占比例为2.5%,正负样本较清洗前基本未发生变化。清洗后的数据中所涉及的用户数、广告数较原数据集均未减少,基本保留了全部信息。
2.2.2 样本选取
根据数据集正负样本的设立规则:如果用户在发生广告点击行为后的5天内产生转化行为,那么此条点击样本为正样本(即label=1),否则为负样本(即label=0)。统计所有正样本的转化回流时间间隔,具体结果如表6所示。从表6可以看出,90.0%的回流发生在一天之内,99.0%的回流发生在两天之内,99.9%的回流发生在三天之内。
表6 正样本转化回流时间间隔
由于29日和30日的数据尚且存在部分的点击行为未转化回流完毕,因此这两日的数据并不适合用作训练。而19日数据又存在异常状况,因此17日—19日的数据亦不适合加入训练集。为使模型效果得到更充分的验证,笔者对20—28日的数据采用基于滑动窗口的思想构造了3组样本,并且对所有样本组的数据按日期与app类别进行分组,每组随机抽取80%的数据,取样示意如图1所示。然后,分别选取第26日、27日、28日的数据作为测试集,并把测试日期前6天的数据作为训练集。关于验证集选取,采用交叉验证的方式来选取验证集,即随机抽取训练集中的90%数据用作训练,余下的10%作为验证。
图1 取样示意图
3 特征工程
笔者采用特征工程的目的在于利用改良的方法解决数据不平衡问题,同时探索网络广告业务中不同性质数据的适用方法。在对已清洗的数据进行特征工程构造的过程中,主要包括特征构造、区间缩放与特征选择两个阶段。
3.1 特征构造
笔者根据特征的不同性质采取不同的特征构造方法,目的在于充分发掘数据的隐藏信息,使算法能够更好地解释数据。具体的构造方法如下:①对于多级编码的字段,进行按级拆分,构建细粒度特征。②对于取值粒度过细特征,进行基于肘部法则与K-means聚类的分箱处理。③对于用户历史行为数据,进行基于用户标识(userID)的特征统计,以计数值、均值作为新特征。④对于具有广告业务内在联系的特征,进行特征交叉(笛卡尔积)处理。⑤对于线性特征,使用GBDT将线性特征分类别向树形特征映射,通过设置最小叶子节点权重来控制叶子节点的最少样本数,避免生成区分度过小的类别。
3.2 特征选择
笔者主要采用过滤式和嵌入式选择法进行特征选择,主要分为以下两个阶段:
(1)使用过滤式选择法初步过滤特征阶段。首先,对特征进行标准化处理以避免极端数值的负面影响,数据标准化可以增强方差较小特征的稳定性。选择使用区间缩放法将数据标准化至[0,1]区间,这样设定是由于原始数据矩阵中的数据均为非负实数且使用零值来表示未知项,将标准化的区间最小值设置为0可以维持数据中的零值,使得未知项可以继续保持不影响算法学习的状态。在传统的方差选择法上进一步考虑了特征与目标字段的相关性,选用特征在不同取值下目标字段均值(label字段均值)的方差作为评价函数,这种方法对样本的正负比例并不敏感,适用于广告收益转化率预测研究。
(2)使用嵌入式选择法选取高评分特征阶段。使用GBDT对特征进行特征贡献度计算。GBDT算法能够自动地进行多组特征之间的非线性交互,并且能直接输出特征的贡献度得分,是一种非常理想的特征选择算法。
4 实验设计
一共设计了6组实验,通过使用不同的算法组合来检验笔者所提出的特征工程流程对网络广告收益转化率预测准确度的提升效果。关于评价指标最终值的确定,对每组实验都使用图1中的3组样本来进行3次反复试验,最后取3次试验评价指标的均值作为算法效果评价指标的最终值。实验设计与实验效果如表7所示。
表7 实验设计与实验效果
经过特征工程构造形成的特征体系如表8所示,特征体系共有ID类特征、线性类别特征、统计类特征、非线性类别特征和时间类特征5种特征。
表8 特征类别
在第3组和第6组实验中,GBDT模型参数设置如表9所示。通过设置树的最大深度、叶子节点再分裂所需最少样本数这两个参数来控制树的复杂度,从而控制特征维数,避免不可控维度情况的出现。
表9 GBDT模型参数设置
在第4、第5、第6组实验中,XGBoost模型参数设置如表10所示,将logistic回归作为基函数内嵌于XGBoost算法框架中,并设定迭代器类型为树型。设置训练所用线程数为4,使用多线程来训练模型以缩短模型训练时长,并通过设定合适的叶子节点最少样本数和树的最大深度来避免模型过度拟合。
表10 XGBoost模型参数设置
5 实验结果及分析
各组实验的结果如表11所示,对数损失(Logloss)和曲线下面积(the area under the roc curve,AUC)的值均为3次实验效果的均值,使用均值可在一定程度上避免偶然性错误。
表11 实验结果
笔者共设计了3组对比实验,通过两组对比实验来验证特征工程方法能否有效提升广告收益转化率预测的准确率,其中实验1与实验2、实验4与实验5分别为两组对比实验,实验2与实验3所组成的对比实验组用来检验非线性特征对于预测算法的提升效果。对比实验组结果如表12所示。
由表12可知,在实验组1和实验组2中,控制模型算法组合和其他特性均不变,实验组中两次实验唯一的不同在于其中一次实验使用的是原始的特征集,另一次实验使用的是经过特征工程处理之后的特征集。对比实验1与实验2的预测效果,实验2的Logloss较实验1的Logloss下降了0.041 089,AUC提升了0.265 171,这说明经过特征工程后预测效果大大提升。与此同时,实验4与实验5的效果对比也体现出特征工程的有效性。实验组1和实验组2的对比结果表明,笔者所描述的特征工程方法能有效提高网络广告收益转化率的预测效果。
表12 对比实验组结果
而关于非线性特征对于广告收益转化率预测准确度的贡献,可以通过对比实验2和实验3的算法效果看出,使用了非线性特征的实验3预测效果明显优于仅使用简单线性特征的实验2。这说明在特征工程中使用树模型构建非线性特征能有效提高网络广告收益转化率的准确度。
通过对比全部6组实验还可以发现,真正实现预测准确率飞跃的关键点在于模型是否使用了特征工程所构造的特征集。数据在经过特征工程处理之后,无论怎样对算法的组合和参数进行调优,Logloss也只能下降2%左右。这说明好的特征工程比好的算法组合能更大幅度地提升模型的预测效果。
实验结果表明,特征工程方法可以有效提高网络广告收益转化率预测的精准度,并且加强了算法的鲁棒性。特征工程方法的优越性来源于:①特征工程方法通过改良传统的方差选择法,设定了对数据平衡状态完全不敏感的指标计算方法,使得改良后的方差选择法能在数据不平衡的状态下,也能有效地去除无关信息,达到有效减少算法干扰的目的。②重视各参与者的属性信息,这些信息能有效地应对冷启动状况,以往的研究中往往过于重视历史特征而忽视原有的参与者属性信息,历史特征对于老用户、老广告来说确实是算法预测的关键,但是对于冷启动状况明显的网络广告领域,参与者的属性信息是不可忽视的。③非线性特征的引入填补了简单特征体系中非线性信息的空白,在实际问题中,大部分问题的决策边界都是非线性的,因此大量使用非线性特征能够获得更好的算法表达效果。④优质的研究数据是效果的保证,数据对应的产品为移动端app,该产品为线上产品且转化路径透明,转化数据真实可靠。
6 结论
自互联网行业诞生以来,网络广告尤其是针对非有形互联网产品的网络广告,因具有变现速度快、实现方式灵活的特点,成为了互联网企业最青睐的变现模式。近年来随着大数据技术的兴起,使得网络广告收益转化率的精准预测成为了可能。笔者针对网络广告中较为普遍的以展示效果计费的广告收益转化率预测问题,给出了一种进行特征工程的系统方法,并得到以下几方面的研究成果。
(1)详细介绍了网络广告点击数据的数据分布特点、字段特征,并在此基础上描述了全面系统的特征构造方法。
(2)针对特征构造所形成的特征集,笔者提出了结合使用过滤式特征选择法和嵌入式特征选择法来进行多层特征选择的特征选择流程。
(3)针对网络广告数据由于业务特性而存在的正负样本不平衡、特征矩阵稀疏等问题,对一般性的特征构造和特征选择方法进行了细节改进,提出了改进版本的特征构造和特征选择方法,其中改良的方差选择法可针对性地解决数据不平衡状态下无关特征的过滤问题。
笔者所提出的特征工程流程在提高广告转化率预测精准度的同时,降低了算法复杂度,减少了用于算法调参及算法预测所需时间,从而大幅缩短了预测项目所需周期。精准的转化率预测有助于企业业务部门制定广告推荐策略,有助于算法部门制定推荐算法约束条件。尽管笔者对网络广告收益转化率预测问题的特征工程过程进行了系统的研究,但是,研究仍存在一些不足,还需要进行进一步的研究和探索。
(1)时序特征是广告收益转化率预测中的一个重要影响因素,由于数据集的选择限制,笔者并未重点探究时序特征的构建与选择。
(2)笔者研究仅使用百万级数据对特征工程方法的有效性进行了验证,如果要进一步验证特征工程方法对大数据时代工业界应用的可扩展性,还需要千万级甚至亿级的数据来进行进一步的探究。