APP下载

基于ε-SVR的用户视听在线人数预测

2016-09-21顾纯栋上海大学计算机工程与科学学院上海200444

关键词:线性向量样本

顾纯栋(上海大学计算机工程与科学学院,上海200444)

基于ε-SVR的用户视听在线人数预测

顾纯栋
(上海大学计算机工程与科学学院,上海200444)

预测视听在线人数能够帮助厂商提供有价值的信息,获取更大效益.从时间序列分析出发,经过特征调整,利用支持向量回归对用户视听在线人数进行准确预测.首先,对数据进行时间序列分析建模并预测;然后,将模型视为线性回归对用户视听在线人数作进一步改进,结合时间与实际生活中的特征进行调整,并添加了新的特征;接着,对新特征组成的样本进行支持向量回归,通过社会认知优化寻找径向基函数中的最优参数;最后,得到比较理想的预测效果.

自回归滑动平均模型;线性回归;支持向量回归

多媒体视听点播是现今生活中主流的娱乐方式之一,也是非常重要的一种信息传播媒介.与传统电视台串行连续流(serial continuous flow)不同,观众可以通过点播自由选择需要观赏的视听节目,而不受播出时间的限制,并通过机顶盒等设备记录此类多媒体视听点播数据.

点播平台在线人数和传统收视率调查数据相比,受众的偏好等主观因素已经反映在其主动选择点播的节目内容中,因而在线人数的记录已经不再含有主观偏好因素.主要原因在于此类视听内容已经不再是连续流播放模式,而是以数据库的形式存储并播放,可默认视听内容在数据库中保持较恒定的状态,即单一用户的选择不受时间限制,在机顶盒打开的前提下,用户在线时长较少受到其对节目内容喜好变化的影响.相比节目内容,在线人数的数据变化更加依赖时间走势,因此在线人数数量能从一定程度上反映出人们的生活作息、点播平台活跃情况等有价值的信息.预测未来的在线人数能为厂商提供有效的商业决策依据,调整点播内容,并且对当前平台流量占用情况及时侦测并预警,合理控制拥塞风险,以更好地为用户提供服务,从而获取更大效益.

同时,若需评估基于用户偏好的收视趋势,则可以基于某个特定收视内容的数据记录,通过横向比较,以及从此类海量数据入手挖掘相应的时间段、年龄段、地域段等的潜在关系,最终得出不同收视内容对用户吸引力的评价指数(evaluation index,EI),从而为制作商提高节目质量提供参考依据.因而,通过机顶盒等设备记录此类多媒体视听点播数据,比传统收视率调查更具主动性、准确性和多样性.

本研究以上海某公司机顶盒对上海市全市用户在一定时间段内的记录数据为样本,对基于时间轴的在线人数数据进行处理.首先,对原始数据进行清理并获得每一时刻的在线人数,对在线人数进行时间序列分析建模并预测;然后,将模型视为线性回归作进一步改进,结合时间与实际生活中的特征进行调整,并添加新的特征;接着,对新特征组成的样本进行支持向量回归,通过社会认知优化寻找径向基函数中的最优参数;最后,得到比较理想的预测效果.

1 模型与方法

1.1时间序列分析

自回归滑动平均(auto-regressive and moving average,ARMA)模型适用于对平稳序列的预测.ARMA模型把时间序列看作白噪声残差与滞后时间序列的线性组合.随着时间的推移,线性方程中的参数不变,一段连续的白噪声残差和数据随时间向后滑动更新.p阶滞后自回归与q阶滑动组合的ARMA(p,q)模型表达式[1]如下:

文献[2]就使用ARMA模型预测了某电视台的收视率.针对具有明显周期性的数据,在ARMA模型上增加季节s滞后时间点就演变成了乘法季节ARMA(seasonal autoregressive and moving average,SARMA)模型,这些时间点具有周期性且可以不连续.乘法季节ARMA(p,q)×(P,Q)S模型表达式如下:

1.2线性回归

线性回归(linear regression,LR)是监督式机器学习中的一种基本方法.线性回归是一组线性方程,数据中的样本值被视为多个变量的加权和.这些指定的变量被称为特征向量,线性回归认为样本值的大小与这些特征向量有关.从几何意义上看,这些数据对应的样本点都在某个多维平面上,通过线性回归要找到一组与变量对应的最佳参数,使得方程能够尽可能拟合该多维平面,匹配样本值.拟合线性回归可以通过对代价函数求导取极小值,从而得到一个最优解作为参数,具体步骤如下[3].

已知n×1维样本向量y,n×d维特征矩阵X,1×d维参数向量θ,n×1维拟合向量y′,则线性回归方程为

代价函数为

求代价函数E(θ)关于参数向量θ的导数:

进一步换算可得

从而得到参数向量θ的最优解为

1.3ε-支持向量回归

支持向量回归结合支持向量机(support vector machine,SVM)与线性回归对数据进行拟合.SVM分类器是支持向量的线性组合,通过训练出的参数来指定哪些向量为支持向量,以及这些支持向量的线性组合方式.由于样本可能会有噪声而难免产生误差,因此在多维拟合平面允许出现一个上下浮动的范围ε,此模型就称为ε支持向量回归(ε support vector regression,ε-SVR)[4].

与仅最小化现有样本的误差不同,支持向量回归尝试最小化泛化误差,以达到更佳的泛化效果.支持向量回归的思想基于高维特征空间内的线性回归计算,高维特征空间可以把输入样本映射到非线性方程,具体表达式如下:

当所有样本拟合在一个超平面上时,SVM从这些样本中找到离超平面最近的样本作为支持向量,并使得支持向量与超平面的距离保持最大.由此可得参数w的优化表达式如下:

参数w的表达式由L2正则化岭回归模型演变而来,通过参数C来调整对误差的惩罚程度.参数w实质是样本x的线性组合,将参数w分解为βTx,其中x高维度映射的内积可由核函数K(x,x′)完成,转换后变为最小二乘支持向量机(least-squares SVM,LSSVM),其训练优化表达式如下:

为了稀疏化参数β,由ξ∧和ξ∨表示样本与超平面的上下偏离程度,从而软化边界,并加入宽容度为ε的管道结合KKT(Karush-Kuhn-Tucker)条件来进一步提高容错,转换后的模型成为ε-SVR,其训练优化表达式如下:

1.4社会认知优化

目前常见的集群智能算法有蚁群算法、遗传算法、粒子群优化(particle swarm optimization,PSO)算法等.2002年,Xie等[5]设计了一种基于社会认知理论的群集智能优化算法——社会认知优化(social cognitive optimization,SCO).

SCO算法的步骤如下.

(1)初始化:建立公共知识库L(library),将nl个随机生成的待优化样本作为知识点,另建立ns个社会代理SA(social agent),社会代理拥有自身的知识点.

(2)进入学习周期:每个SA从知识库L中随机选取n个知识点进行竞争选择.

(3)选出的知识点再和SA自身的知识点进行比较,将较好的知识点作为基准点xb,将另一个知识点作为参考点xr.SA基于二者重新生成新知识点xn,生成规则如下:

(4)将SA更新的新知识点放回知识库L.

(5)学习周期完成:更新知识库L,淘汰掉末尾最差的若干个知识点,一般淘汰的数量与SA的数量相同,然后进入下一轮学习周期.

经过数次循环更新后,知识库中最优的知识点便是所求最优解.对于一些优化问题的求解,SCO算法在效率与收敛稳定性上比蚁群算法、遗传算法、PSO算法等都有一定的提高[6].

2 预测步骤

2.1数据清理

原始数据记录了每秒用户的操作日志,并按日期保存在若干文本文件中.数据内容包含用户设备MAC地址、点播流文件、租看时间、过期时间等信息.数据时间跨度为从2013年1月起的170天.将日志载入数据库内进行整理,剔除空记录乱码等无效数据.将最终数据以每10 min为一组,对此时间段内在线的用户计数,时间段内无记录的以零补齐.经过处理后输出的最终样本为n×1维向量y,时间跨度为5个月.

2.2模型建立

2.2.1SARMA模型定阶

观察时间序列是否平稳,通过样本自相关函数(auto correlation function,ACF)检验拒绝不存在单位根的零假设,拒绝样本不平稳假设,由此判断样本是平稳的,可以无需拆分而直接使用ARMA模型.观察样本的自相关和偏相关系数,根据前300个时间点的样本ACF(见图1)可知,样本拖尾明显.每隔144个时间点,样本就会出现一次明显的强相关,这里假定季节s为144.

图1 前300个时间点的样本ACFFig.1 Sample ACF for 300 time points in front

如图2所示,每7个假设季节段(1 008个时间点)中,强相关的幅度遵循由高到低再由低到高的周期性变化,每一个周期的起始点由符号“X”标出,由此推断还存在一个更加广泛的季节周期,从而得到季节s为1 008.

图2 前10 000个时间点的样本ACFFig.2 Sample ACF for 10 000 time points in front

根据样本偏自相关分析函数(partial auto correlation function,PACF)(见图3)可知,当时间滞后超过5个时间点时,后续样本的偏自相关系数均不再显著超过指定阈值,由此可见时间滞后长度为5时PACF值出现了明显截尾.结合ACF明显拖尾的情况,给出自回归(auto-regressive,AR)的阶数p为5,滑动平均(moving average,MA)的阶数q为0[2].由此得到定阶后的ARMA(5,0)×(1,0)1008模型.

图3 样本PACFFig.3 Sample PACF

2.2.2线性回归模型特征选取

为了更准确地预测数据走势,除了使用理论模型,还需要与实际情况相结合.ARMA模型只适合平稳数据,所预测的数据只会依照某种规律发生机械性变化,不会考虑到实际情况下的一些不具有明显时间规律性的因素.而且如果预测时间跨度过大,准确度会出现较大偏差,使用范围有限.通过观察发现,可将SARMA模型视为某种线性回归模型,含有特征向量et,Yt-i,Yt-1 008-i(i∈[0,5]).增加有效特征向量后,线性回归的拟合度会明显上升,可以根据实际情况再添加某些特征向量.这里根据时间特性分别添加了当前数据的日期、时间、节假日信息、每段时间影响因子等特征,具体涵义如下.

x1:日期,当前数据在某月中的第几天;

x2:小时,24小时制,当前数据在一天中的几点;

x3:分钟,时间最小以每10 min为一段;

x4:样本所在这天是星期几;

x5:样本所在这天的属性,1为正常工作日,2为节假日调整工作日,3为正常双休日,4为节假日调整休息日;

x6:对应x1影响因子,每月同一天总人数样本均值;

x7:对应x2影响因子,每天同一小时总人数样本均值;

x8:对应x3影响因子,每小时同一时间段总人数样本均值;

x9:对应x4影响因子,每周同一天总人数样本均值;

x10:对应x5影响因子,同一属性的时间里总人数样本均值;

x11:每天变化均值;

x12:每周变化均值.

为提高计算效率,时间序列特征仅保留季节一阶滞后Yt-1008,在实际中对准确率造成的影响有限,整个线性回归模型的特征数为13.

2.2.3ε-SVR模型参数选定

支持向量回归相比线性回归有更强的泛化能力来拟合任意函数.本研究选用ε支持向量回归,核函数K(x,x′)选择径向基函数(radical basis function,RBF)对特征向量进行无穷高次幂映射.RBF表达式如下:

指定惩罚因子C,通过SCO算法寻找最优RBF参数γ[7],参数γ的优劣评价准则由SVR模型2-fold交叉验证得到的误差平方和来决定.在实验中调整SVR模型参数时发现,虽然惩罚系数C越大,拟合效果越好,但时间代价呈几何级数增长,拟合度提高程度却非常有限.参数γ在给定的一个足够广的范围内具有凸优化性质,能够通过SCO算法在这个范围内找到全局最优解.但系数C不同,最优参数γ也会不同.最后,通过实验将参数C确定为1.0×104,模糊边界ε的上下浮动范围各为50,将选定模型通过SCO算法优化后得到最优参数γ约为1.7737×10-7.

3 实验结果

处理后的数据为2013年1月至5月每10 min用户在线人数的训练样本,样本数约为23000条.通过这些样本预测2013年6月前7天的在线人数,预测数据量约为1000.原2013 年6月的数据用以检验预测结果.在线性回归和支持向量回归中,训练和检测样本的特征向量x6,x7,···,x12均只通过训练样本产生.已知实际结果y和预测结果y′,模型预测准确度(精确到小数点后两位)为

通过ARMA(5,0)×(1,0)1008模型、线性回归、ε-SVR预测的结果如图4所示.

图4 用ARMA(5,0)×(1,0)1 008模型、线性回归和ε-SVR预测未来一周在线人数Fig.4 Prediction number of online users in next week by ARMA(5,0)×(1,0)1 008model,LR and ε-SVR

从图4可以看出,3种模型都可以对未来的数据走向作出预测,部分时间段内每个模型的预测值与实际值的差异各有优劣.为了能够明确作出比较,分别通过平均绝对误差、准确率等指标计算3种模型预测的准确度(见表1).

表1 3种模型预测准确度比较Table 1 Comparison of prediction accuracy of three methods

经过计算对比得出,ε-SVR预测出的结果无论在误差范围还是准确率上都要优于其他两种模型.

4 结束语

下面对3种模型进行对比分析.从表达式上不难看出,ARMA模型是一类有着特定特征向量的线性回归方程.ARMA模型中的预测数据将被作为新样本特征值,而误差会成为噪声存在于新样本中,随着时间的推移,噪声越来越强.虽然一开始有不错的预测效果,但之后的预测准确度明显降低,数据的走势非常机械化.所以,时间序列分析中的ARMA模型只能根据已有数据的走势来预测短期趋势[8].为了减少预测数据和残差对新样本的噪声影响,本研究对原有ARMA模型作出改进,将其视为线性回归模型,在去除残差和部分滞后时间序列的基础上,结合实际情况中的节假日、影响因子等因素增加新的特征向量,而不再拘束于时间序列本身.尽管线性回归比ARMA模型更能结合实际情况进行预测,但其泛化能力有限.支持向量回归是一种理想的非线性模型,通过核函数将特征向量映射到高维度空间,结合模糊边界提高样本容错度,在实际应用中取得了较为理想的效果.

对比3种预测方法,除了模型选择,特征向量的选取也会影响预测效果.虽然本研究基于原始数据对在线人数进行预测,较为充分地考虑了多种与时间有关的变化因素,但部分时间段的预测准确度仍然有比较大的提升空间,推测还可能存在其他原始数据中未能记录的环境特征变化因素.

[1]CRYER J D,CHAN K S,潘红宇.时间序列分析及应用:R语言[M].北京:机械工业出版社,2011.

[2]刘辉,杜秀华.基于ARMA模型的电视台收视率预测方法设计和实现[J].控制工程,2009(S1):9-11.

[3]CHERKASSKY V,MULIER F M.Learning from data:concepts,theory,and methods[M].NY:John Wiley&Sons,2007.

[4]SMOLA A J,SCH¨OLKOPF B.A tutorial on support vector regression[J].Statistics and Computing,2004,14(3):199-222.

[5]XIE X F,ZHANG W J,YANG Z L.Social cognitive optimization for nonlinear programming problems[C]//Proceeding of the First International Conference on Machine Learning and Cybernetics.2002:779-783.

[6]XIE X F,ZHANG W J.Solving engineering design problems by social cognitive optimization[C]// Genetic and Evolutionary Computation—GECCO 2004.2004:261-262.

[7]李童,毛力,吴滨.基于改进PSO优化SVR的交通事故预测模型[J].计算机与现代化,2014(5):28-32.

[8]潘红宇.时间序列分析[M].北京:对外经济贸易大学出版社,2006.

Predicting number of online users by ε-SVR

GU Chundong
(School of Computer Engineering and Science,Shanghai University,Shanghai 200444,China)

Predicting the number of online audio-visual users can provide valuable information to help manufacturers get more profits.Based on time series analysis,support vector regression is used to make accurate prediction with adjusted feature.The time series is first modeled and predicted,a linear regression model used to make further improvement,and then,by combining time and real-life characteristics,adding a new feature.Samples of the new feature are trained with support vector regression.Optimal parameters of the radial basis function are sought using the social cognitive optimization.A good prediction result can be obtained using the proposed method.

auto-regressive and moving average(ARMA);linear regression;support vector regression

TP274;O212

A

1007-2861(2016)01-0097-08

10.3969/j.issn.1007-2861.2015.05.001

2015-11-30

国家自然科学基金青年资助项目(11501352)

顾纯栋(1990—),男,硕士研究生,研究方向为数据分析.E-mail:gcd9073@163.com

猜你喜欢

线性向量样本
渐近线性Klein-Gordon-Maxwell系统正解的存在性
向量的分解
线性回归方程的求解与应用
用样本估计总体复习点拨
聚焦“向量与三角”创新题
二阶线性微分方程的解法
推动医改的“直销样本”
随机微分方程的样本Lyapunov二次型估计
向量垂直在解析几何中的应用
村企共赢的样本