自适应话务预测方法研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【摘 要】文章通过傅里叶变换对历史话务进行数字信号分析,得到了话务信号的主要波动特征,在此基础上对话务数据建立了三种不同的线性描述模型,提出了平日和节假日条件下的自适应话务预测方法,利用历史话务对各种预测方法进行了验证分析。
【关键词】话务预测 历史话务数据 机器学习法 增幅线性加权修正法 傅里叶变换
收稿日期:2010-11-24
刘丹月 陈光明 中国移动通信集团广东有限公司吕晓峰 广州瀚信通信科技股份有限公司
目前广东省无线网容量紧张,无线利用率在80%以上。
随着业务种类的不断增多,业务总量呈现爆发性增长的趋势,无线网络容量面临着更大的挑战,这对平日及节假日保障的话务预测工作提出了更高的要求。
本文通过对历史数据的分析挖掘,总结话务数据的主要波动特征,在此基础上建立话务线性描述模型,提出了平日及节假日保障两种条件下的三种自适应话务预测方法。
1 历史话务特征
历史话务数据中存在大量的波动信息,可作为一种数字信号进行处理,通过离散傅里叶变换(DFT)研究话务数字信号在频域上的特点,提取主要能量的波动特征,以此来指导话务预测模型建立工作。
通过DFT变换,可将话务信号序列表示为若干个不同振幅和频率的正弦波叠加。
特定频率的正弦波体现了以该频率出现的周期波动成分,其周期成分的影响能量由该正弦波的振幅决定,因此可从DFT变换的频域波形中分析话务信号的主要波动成分特征。
快速傅里叶变换(FFT)是DFT变换的一种快速算法,通过FFT变换可在
频域上展现出24小时话务信号的各种周期成分及其对应的频域幅值。
2007年1月1日~2010年6月30日,广东全省24小时话务的FFT变换后的频域波形如图1所示:
图1 广东全省24小时话务FFT变换后的频域波形
图1中横坐标为信号频率“次/天”。
24小时话务信号的采样频率fs为24次/天,根据采样定律,变换后的频域波形能反映波动频率小于等于12次/天的信号特征。
可以看到图中方框内的频域特征十分明显,对应的波动频
率均大于1次/天,即为一天24小时内的话务波动特征。
自适应话务预测方法研究
将波动频率小于1次/天的频域波形放大后如图2所示:
图2 波动频率小于1次/天的频域波形
对话务信号时域和频域波形采取截取平移等多种方法进行挖掘分析,得到话务信号中最主要的影响成分,包括:24小时特征、博彩日特征、一周波动特征等,为话务描述模型的建立提供了重要依据。
图3 话务信号中的影响成分
2 话务线性描述模型
2.1 机器学习模型
根据对话务数据特征的挖掘分析,话务量与各种特征属性之间存在线性的表征关系;可通过对各种特征属性的定义,建立关于话务量的线性描述模型,从而应用机器学习方法进行话务预测。
根据各特征属性与预测话务量之间的相关度,经优化后的机器学习模型构造如下:traffic=K1*date
+K2*week=[WD1,WD2,WD3,WD4,WD5,WD6,WD7]
+K3*gamble=[gam,ord]
+K4*holiday=[yuandan,chunjie,wuyi,…,zhongqiu] +K5*holiday-seq=[hseq-1,hseq0,hseq1,…,hseq6]
+K6*hour=[hr00,hr01,hr02,……,hr23]
+K7*pre28-pre15_gam
+K8*pre28-pre15_ord (1)
◆traffic:数值型,当天该时刻的话务量,对于预测数据样本即为所需预测的结果;
◆date:数值型,数据样本的对应日期,体现出话务数据随时间的长期增长趋势;
◆week:字符型,星期一~星期日用WD1~WD7表示,体现出数据样本对应的一周特征因素;
◆gamble:字符型,表示数据样本对应日期的博彩日属性,体现博彩特征;
◆holiday:字符型,用对应节日的全拼表示,体现数据样本对应的节日名称,对于平日话务预测本属性统一取值为“nor”;
◆holiday-seq:字符型,表示数据样本对应日期处于该节日范围内的顺序,用于将各年同一节日的重点关注日期对应起来,对于平日话务预测本属性统一取值为“nor0”;
◆hour:字符型,表示数据样本对应的时间点,体现24小时话务特征;
◆pre28-pre15_gam:数值型,前15天至前28天共两周内博彩日对应时刻的平均话务量;
◆pre28-pre15_ord:数值型,前15天至前28天共两周内非博彩日对应时刻的平均话务量。
机器学习模型建立后,在训练预测的过程中主要经过分类建树和线性模型预测两个步骤,从给定的样本集中训练得到对应的K值。
为了提高分树准确度,holiday/ holiday-seq/hour属性需通过人工建树方式进行分类,其余属性则由机器学习算法自动完成分树。
2.2 博彩叠加节日增幅模型
利用博彩话务的可叠加性和多年节日效应话务增幅
的一致性,将节日话务量描述为博彩话务、节前参考话务和节日效应增幅之间的线性模型。
图4 节日话务量预测
具体模型公式描述如下:
当年博彩话务=节前平日博彩日话务均值-节前平日非博彩日话务均值(2)若节日当天为博彩日:
节日增幅=(节日话务-当年博采话务)/节前平日非博彩日话务均值-1(3)若节日当天为非博彩日:
节日增幅=节日话务/节前平日非博彩日话务均值-1
(4)根据历史节日增幅数据得出今年的节日增幅预测值后,即可根据今年的预测节日是否为博彩日反算得到预测话务量。
2.3 用户数及每用户话务量模型
本模型的基本思路是将节日话务量分解为节日用户数和节日每用户话务量相乘,对节日用户数和节日每用户话务量进行独立预测。
线性描述模型如下:
节日用户数增幅=节日当天用户数/节前平日用户数均值-1(5)节日预测用户数=节前平日用户数均值*(节日预测用户数增幅+1)(6)每用户话务量的短期波动特征与总话务量的波动特征相似,主要的影响因素有博彩效应和节日效应。
节日每用户话务量的预测方法与总话务量的预测方法一致,即采用了博彩叠加节日增幅模型。
最后,节日预测话务traffic=节日预测用户数*节日预测每用户话务量。
3 自适应话务预测方法
3.1 平日话务预测方法
平日话务具有相对平稳的变化特性,其主要的影响因素包括:随时间变化的长期增长趋势、博彩日特性以及一周7天的波动特性等,这些因素适合于采用机器学习法来挖掘各种相关数据之间的内在关系。
如前所述,采用机器学习法的话务模型主要属性包括:date、week、holiday、holiday -seq、gamble、h o u r、p r e28-p r e15_g a m、p r e28-p r e15_o r d和traffic。
对于平日话务预测,其中的holiday和holiday-seq属性取为定值,其他属性的定义和取值范围不变。
同样,hour属性需通过人工建树方式进行分类,话务量的线性预测模型不变。
traffic=K1*date
+K2*week=[WD1, WD2,WD3,WD4,WD5,WD6,WD7]
+K3*gamble=[gam,ord]
+K4*pre28-pre15_gam
+K5*pre28-pre15_ord (7)3.2 节日话务预测方法
(1)机器学习法
节日话务预测模型树的分类建立过程和叶子节点的线性预测模型与平日话务预测方法一致,只是对于holiday与holiday-seq属性的定义和取值范围不同。
节日话务预测的每个叶子节点对应于某地市、某一天节日、某一小时上的多年样本集合,再通过训练构造出线性预测模型。
(2)增幅线性加权修正法
在“博彩叠加节日增幅”模型基础上引入了自适应的预测方法,根据以往多年的节日增幅进行线性预测,将预测的节日增幅表述为关于日期的线性表达式。
例如,根据节日增幅计算公式可得到2004~2009年某一节日的节日增幅分别为A
04
、A
05
、…、A
09
,对应日期分别
为Date
04
、Date
05
、…、Date
09。
通过线性回归,节日增
幅可描述为关于日期的线性方程:A=m*Date+n,根据待预测的节日日期可得到线性预测节日增幅A 10。
同时,计算历史节日增幅的加权修正值:
A 10’
=w 04*A 04+w 05*A 05+…+w 06*A 09 (8)w 04~w 09分别为历史各年节日增幅的权重值,其中离今年越近的年份赋予越高的权值,而越久远的年份权值越低,且有w 04+w 05+…+w 09=1。
根据话务预测经验,最近一年的话务数据具有最为重要的参考意义,经过对不同权重值设置方案的测试分析,最终选取最为合适的方案为:最近一年节日增幅权重值为0.5,而其余历史年份的权重则根据参考年份数量比例分摊余下的0.5权重值,即:
A 10’
=0.5*(1/15*A 04+2/15*A 05+3/15*A 06+4/15*A 07+5/15*A 08)+0.5*A 09 (9)
最后,根据A 10和A 10’
得到待预测节日增幅的最终预测值A 10”
,然后根据之前定义的节日增幅模型公式反算得到待预测节日的预测话务量。
具体算法如下:
Case1:若线性预测增幅A 10在历史增幅最大值和最小值之间,则取MAX[A 10,A 10’]作为今年的节日增幅预测值A 10”
;Case2:若线性预测增幅A 10大于历史增幅最大值,则取加权修正值A 10’
作为今年的节日增幅预测值A 10”;Case3:若线性预测增幅A 10小于历史增幅最小值,则取加权修正值A 10’
作为今年的节日增幅预测值A 10”。
图5 节日增幅预测值的取定
对于春节预测,从历史节日话务的增幅数据看,全省及各大城市均有单向下降的趋势,这使得对于春节的话务增幅预测修正场景存在特殊性。
因此,采用加权平均修正算法进行春节的话务预测时,只对增幅线性模型
预测值的上限进行加权平均修正,即不进行Case3的线性预测修正。
(3)分步预测法
该方法采用了“用户数及每用户话务量模型”进行话务线性描述。
第一步:节日用户数预测,采用VLR开机用户数进行预测。
选取节日前的相对参考平日范围,如节前的28天至节前的15天,分别计算今年和过往各年的参考平日VLR 开机用户数平均值:
Users_pre28~pre15=AVERAGE(Users_pre28,Users_p r e 27,…,U s e r s _p r e 15) (10)
计算过往各年节日期间的VLR开机用户数相对当年参考平日VLR开机用户数平均值的节日用户数增幅:Users_amp=Users_节日当天/Users_pre28~pre15-1 (11)
历史各年的节日用户数增幅分别为Users_amp 08、Users_amp 09,今年节日期间的VLR开机用户数增幅的预测值:
User_amp predict =AVERAGE(Users_amp 08,Users_amp 09) (12)
从而得出今年节日期间的VLR开机用户数预测值:Users predict =Users_pre28~pre15*(User_amp predict +1) (13)
第二步:节日每用户话务量预测,与总话务量的增幅线性加权修正法相似,只是所平移叠加的博彩话务和节日效应增幅由原来的总话务量变为了每用户博彩话务
和每用户节日效应增幅。
图6 节日每用户话务量预测
第三步:节日预测话务=节日预测用户数*节日预测每用户话务量。
4 话务预测方法验证
4.1 平日话务预测
分别按参考日范围提前7天、提前15天和提前30天三种情况,对广东全省、广州、深圳、东莞、佛山2010年7月25日~2010年8月30日的平日话务进行预
测验证,测试集均为一周的样本滚动预测,训练集均采用测试集前连续30天的样本。
预测验证结果汇总如表1,其中预测误差的定义为:预测误差=(预测值/实际值-1)*100%。
表1 平日话务预测误差率绝对值均值
对比三种方案的预测误差率绝对值均值,参考日范围提前30天的方案误差偏大,提前7天和提前15天方案的误差比较接近。
其中参考日范围提前15天的方案表现最为良好,达到了较高的预测准确度。
4.2 节日话务预测
目前采集到的历史节日话务数据包括了2004年至2010年,我们将其分为训练集和测试集两部分,测试集为最近一年的节日话务数据,其余年份的节日话务数据作为训练集,将测试预测结果与实际的话务值进行对比,从而评价本预测方法的误差。
(1)机器学习法
采用机器学习法对全省和广州、深圳的节日话务进行预测验证,结果如表2。
元旦峰值话务预测误差较大,主要受峰值日的博彩叠加效应影响,机器学习算法对于节日期间的博彩效应学习效果欠佳。
清明、端午存在峰值日期没对齐的问题,主要原因是清明、端午期间的节日效应和博彩效应影响相当,机器学习算法对于节日期间的博彩效应学习效果欠佳。
广州的十一预测误差较大,且峰值日期没对齐,与历史样本数据的变动特点有关,本构造模型和机器学习算法对此变动效应的学习效果欠佳。
(2)增幅线性加权修正法
采用增幅线性加权修正法对广东全省和广州、深圳的节日话务进行预测验证,结果如表3:
表3 节日峰值话务预测误差2
增幅线性加权修正法具有较小的预测误差,清明、端午的峰值话务日没有实现对齐,部分是由于实际话务峰值日与次峰值日之间的话务差别并不明显,容易造成预测话务峰值日错位。
(3)分步预测法
由于VLR开机用户数的参考年份从2008年开始,为了保持分步预测的参考年份对应一致,在此对每用户话务量的参考年份也修正为从2008年开始,并采用对年份的加权平均值作为预测的节日增幅输出。
采用分步预测法对广东全省和广州、深圳的节日话务进行预测验证,结果如表4:
表2 节日峰值话务预测误差1
参考文献
[1](加)韩家炜. 数据挖掘概念与技术[M]. 北京: 机械
工业出版社,2007.
[2]Ian H Witten, Eibe Frank. 数据挖掘实用机器学习技
术[M]. 北京: 机械工业出版社,2006.
[3]程佩青. 数字信号处理教程[M]. 北京: 清华大学出版
社,1995.
[4]Alan V Oppenheim. 信号与系统[M]. 西安: 西安交通
大学出版社,1998.★【作者简介】
刘丹月:硕士毕业于北京邮电大学计算机应用技术专业,现任职于中国移
动通信集团广东有限公司,任网络质量分析员。
陈光明:硕士毕业于华南理工大学电子与信息技术专业,现任职于中国移动通信集团广东有限公司,任网络质量分析员。
采用分步预测法时,对节日用户数及每用户话务量的预测已引入了一定误差,再计算得到节日忙时话务预测结果时误差将会被不同程度地放大,使得预测效果变差。
从结果看,分步预测法并没有增幅线性加权修正法的预测效果准确。
可见,对于节日话务的预测,增幅线性加权修正法的总体预测效果最好。
5 总结
本文通过对历史话务数据的特征挖掘,掌握了话务量信号波动的主要特点。
在历史话务特征分析结果的基础上,对话务数据建立了机器学习模型、博彩叠加节日增幅模型和用户数及每用户话务量模型三种线性描述模型。
在话务预测方法上,提出了对平日话务预测采用机器学习法,而对节日话务预测则可采用机器学习法、增幅线性加权修正法和分步预测法三种不同的自适应预测方法。
利用历史话务数据对所提出的各种话务预测方法进行测试验证,得出结论如下:对于平日话务预测,采用参考日范围提前15天的机器学习法效果最好;对于节日话务的预测,增幅线性加权修正法的预测效果最优。