基于量子遗传SVM的公共图书馆每日读者流通人次预测模型
2019-01-02郑戍嘉
摘 要: 本文以量子遗传SVM为核心,构建数学模型,对公共图书馆每日读者流通人次(借还书人次)进行预测。模型以上海市嘉定区图书馆为数据实例,考察各种影响因素后,以若干量化特征数据为输入,每日读者流通人次为输出目标,在此基础之上成功地训练并获取了预测模型。实验表明,在全程贴近实际目标预测系统构建的指导思想下(适用、稳定、准确),此方法建立的相应短期预测系统取得了较好的预测效果,系统的应用将有效地提升图书馆智慧服务的层级。
关键词: 量子遗传算法;SVM;公共图书馆;智慧服务;每日读者流通人次;量化特征
中图分类号: TP181;G251.5 文献标识码: A DOI:10.3969/j.issn.1003-6970.2019.12.042
本文著录格式:郑戍嘉. 基于量子遗传SVM的公共图书馆每日读者流通人次预测模型[J]. 软件,2019,40(12):188194
Prediction System of “Public Library Daily Readers Throughput”
Based on Quantum Genetic SVM
ZHENG Shu-jia
(Jiading District Library of Shanghai, Shanghai 201800, China)
【Abstract】: Based on the Quantum Genetic SVM, this paper constructs mathematical models to predict “public library daily readers throughput”, i.e. the amount of daily library users who borrow/return books. The model is taking Jiading District Library of Shanghai as data source. After investigating and analyzing various potential influencing factors, the model takes several quantitative characteristic data as input and sets “public library daily throughput” as target output, on the basis of which the prediction model is trained and successfully obtained. Experiments show that the corresponding short-term forecasting system established by this method has achieved good forecasting results under the guidance of the construction of the forecasting system which is close to the actual target (applicable, stable and accurate). The application of the system will effectively improve the level of library intelligent service.
【Key words】: Quantum genetic algorithm; SVM; Public library; Intelligent service; Daily readers throughput; Quantitative characteristics
0 引言
公共图书馆的每日读者流通人次(借还书人次),是一个极有业务参考价值的指标式数据,它是在多种复杂因素共同作用下产生的。
目前国内对图书馆流通人次(册次)时间序列的预测,粒度多集中在月度、学期的时间跨度上,而预测每日流通人次的尝试,则较为少见,有个别文献使用基于某型神经网络的算法模型对高校图书
馆的每日流通人次进行了成功的短期预测,但对公共图书馆的每日流通人次的高精度预测模型则未曾见诸公开发表。
高校图书馆与公共图书馆流通人次的时间序列模型,虽看则相似,但实际存在着很大的不同。这主要是因为,两者在流通模式、读者特征、借阅行为模式、服务内容、交通方式乃至天气因素影响等方面存在着较大差异,简单地套用模型将会导致不甚理想的结果。
公共图书馆流通人次时间序列,相对于高校图书馆而言,其影响因素更复杂多变、随机性更强,因而预测难度更大,在建立预测模型时,就不能单单以模型精度为唯一追求目标,造成预测精度伪高(模型实际应用时效果变差)或鲁棒性差的问题,而应以适用、稳定、准确的指导思想,恰当地构建可实际应用的模型。在这里,对于随机性相对较强的小样本时间序列而言,大规模的深度神经网络固然不适用,轻型神经网络的稳定性又较差(即使采用了PSO等优化算法),因此神经网络算法不能说是一个最佳的选择。经对比,本文最终采用量子遗传SVM作为模型的核心算法,并着重关注了天气因素对每日流通人次的影响。
本文的核心是关于如何在全程贴近实际目标预测系统构建的指导思想下,建立一个基于量子遗传SVM的数学模型,對公共图书馆的每日读者流通人次进行短期预测。文章将以上海市嘉定区图书馆为例,对公共图书馆读者流通人次的影响因素进行探讨,引入天气因素对读者到馆影响,随之选择若干因素的量化特征为模型输入,以预测日(未来三日内)的读者流通人次为输出目标并进行模型训练,尝试获取实用的高精度的预测模型。
选取影响因素,一是要与预测目标关联性强且注意本模型短期预测的目的;二是一定要保证能够量化并能获得真实、有效且足够数量的数据。本文最终选择的表征因素为:每日读者流通人次数据、天气(最高气温、最低气温、降水量)、双休日标志。所对应的模型原始数据见下一节数据准备。
2.2 数据准备
本实验所使用的嘉定区图书馆每日读者流通人次(借还书人次)数据,由上海市中心图书馆相关系统平台获取,去除了节日前后等特殊时间段的数据。历史天气(最高气温、最低气温、降水量)数据,由某气象记录网站获取。
經数据检验、清洗后,得到了近3年内共840组每日数据,分为12个字段,先将T+1预测日(明日)的读者流通人次为模型训练、预测的目标:
① 预测日的双休日标志
② 预测日的最高气温
③ 预测日的最低气温
④ 预测日开放时间段的降水量
⑤-? 预测日前1日到前7日的流通人次
? 预测日的读者流通人次
值得指出的是,本实验的目标序列极大值点呈周期性分布,占比较小而与均值之间的相对距离却较大,因此在模型测试集的检验过程中,测试数据数量不宜太少,这样才能更贴近长期预测的真实效果,否则将可能出现预测精度伪高(预测模型精度高、实际预测系统精度低)的情况。同时,如能确保较多组的跨季的测试集数据,则可以检验某些中
长期(季节)因素少量变化后预测模型的适应能力,若日后构建实际应用的预测系统,模型中长期的预测稳定性是至关重要的。为此,本文选用数据集的前740组作SVM模型训练用,而(近期的)后100组作为模型测试数据。
2.3 数据归一化
因数据集中存在奇异样本数据,为消除其量纲影响,使计算结果能较好地回归,必须进行归一 化操作。数据集进行归一化操作的数值范围限定 为[1,3]。图1为每日读者流通人次数据的归一化 图形。
图1 每日读者流通人次数据归一化后图像
Fig.1 Normalized image of daily reader circulation data
2.4 特征选择
本文采用递归特征消除[7][8](RFE:Recursive Feature Elimination)来对数据集的特征进行重要性的排序。方法如下:首先选定一个算法,以此算法训练模型,去掉得分最小的特征,再用剩余的特征再训练模型,如此重复,最终给出特征重要性的排序。
根据经验,相对于特征数,本实验的数据组数足够多而质量较好,则无须经过正则化处理也可获得很好的RFE稳定性,只是可能要注意关联特征的问题。
经过RFE计算,得到数据集11个特征变量重要性的排序(从大到小),见表1。
如表1所示,影响流通人次的各项因素中,预测日的气温状况、当日是否为双休日是两个主要因素,而当日最低气温的影响比最高气温更大。因为存在着周期性因素,7天前的读者流通人次数据是一个很重要的参考指标。预测日之前1到6天的读者流通人次数据的重要性则较低。而预测日开放时间段降水量的影响最小,这表明至少对嘉定区图书馆而言,一般情况下,开放日是否下雨对读者会否到图书馆来借还书的影响性不大。
表1 数据集特征的重要性排序
Tab.1 Sorting the importance of data set features
RFE排序 特征
1 预测日7天前的流通人次
2 预测日的最低气温
3 预测日的双休日标志
4 预测日的最高气温
5 预测日2天前的流通人次
6 预测日1天前的流通人次
7 预测日6天前的流通人次
8 预测日4天前的流通人次
9 预测日3天前的流通人次
10 预测日5天前的流通人次
11 预测日开放时间段的降水量
在之后进一步的模型运算中,尝试对特征消减后的预测效果进行了多次分段实际检验,发现去除预测日之前1到6天的流通人次及降水量的特征会使预测效果略有下降,而保留所有11项特征时,预测效果更佳,对此判断在这7个次要特征中,存在某种形态的隐变量对模型发生轻微作用(可能隐含某些中长期影响模式)。引入这7个特征,并不损伤或可增加模型的鲁棒性,故此最终决定在模型的数据集中保留所有11项特征。
2.5 量子遗传算法(QGA)对SVM超参数的寻优
QGA[9-10]的具体算法如下:
(1)生成包含一定数量个体的初始种群,每个个体有一串染色体,染色体的表达采用量子位的方式。
(2)种群采用概率幅的形式繁衍下一代(染色体),并用评价函数保留最优个体,如满足停止条件则停止计算,否则采用量子旋转门对种群进行更新后循环这一步。
量子遗传算法的参数选择:
本实验在经验参数附近、对数据集进行了多种分段,在此基础上又进行了多次计算,以排除小概率的早熟或停滞现象及确定最佳参数。
最终选定的QGA参数为:最大遗传代数:200,种群大小:160,单个变量的二进制长 [40 40]。
采用以上参数构造的QGA模型的进化过程见图2。
QGA为SVM的超参数C、g寻优的最终计算结果如下:
最优解C = 0.99658,g = 0.11421
2.6 SVM模型训练及测试
将QGA超参数寻优获取到的最优C、g数值代入SVM算法,使用训练集740组数据进行训练后,拟合情况如图3。
图2 进化曲线
Fig.2 Evolution curve
图3 SVM训练集拟合图形
Fig.3 SVM training set fitting graphics
之后,使用训练得到的SVM模型进行测试集100组数据的实际检验。
测试集的预测效果如图4和图5。
模型训练集、测试集总的回归计算检验结果如表2。
可以看到,此次基于量子遺传SVM模型的预测实验,在实际影响因素复杂、目标数据波动幅度较大、测试时间序列较长的情况下,仍获得了较好的预测效果。如图5所示,81%的预测点的百分 比误差在15%以内。此次实验测试集数据的预测 准确率(1-MAPE)为90.44%,平方相关系数R为96.07%。
图4 测试集回归验证图形
Fig.4 Test set regression verification graphics
图5 测试集预测结果的百分比误差
Fig.5 Percentage error of test set prediction results
表2 训练集与测试集的拟合结果
Tab.2 Fitting results of training set and test set
平均绝对百分误差 MAPE(%) 平方相关系
数R(%)
训练集 9.25 95.47
测试集 9.56 96.07
以上是对T+1预测日(明日)的读者流通人次建模的预测结果。之后重新以相似方法建模,对预测日为T+2(后天)、T+3(大后天)的读者流通人次进行预测(此时,预测日的前一至二日的读者流通人次为未知数,而预测日的天气状况视为已知)。实验结果表明,训练后得到的模型,预测准确率并未明显降低,均接近90%,见表3,显示采用此方法建构的预测模型适应性较强,预测效果较为稳定。
表3 三日预测效果对照表
Tab.3 Contrast table of three-day prediction effect
平均绝对百分
误差MAPE(%) 平方相关系
数R(%)
T+1 训练集 9.25 95.47
测试集 9.56 96.07
T+2 训练集 9.08 95.74
测试集 10.08 95.86
T+3 训练集 9.40 95.63
测试集 10.16 95.65
3 结语
本文在全程贴近实际目标预测系统构建的指导思想下(适用、稳定、准确),以量子遗传SVM算法为核心,构建数学模型,对公共图书馆的每日读者流通人次进行短期预测,获得了较好的预测效果。
模型的数据实例来源于上海市嘉定区图书馆。建模步骤如下:首先对影响嘉定区图书馆每日读者流通人次的因素进行分析和筛选,而后采集、量化、清洗选定的因素数据,获得近3年内840组可用数据(包含11个特征字段),划分为训练集和测试集。接着将所获数据集进行归一化操作,使用RFE进行特征选择,而后使用量子遗传算法(QGA)对支持向量机(SVM)的超参数C、g进行寻优。模型以预测日(三日内)的读者流通人次作为训练目标,使用训练集数据进行SVM模型训练,训练完成后,加载此SVM模型对测试集数据进行了预测效果的检验。结果表明,采用此方法建立的模型,预测未来三日内读者流通人次,其总体预测准确率可达90%左右,有着较好的预测效果。
从模型选择、影响因素分析、数据采集、特征筛选到预测效果的评价,本文从始至终保持贴近实际预测系统的构建。如预测模型所使用特征数据,均为可获取或提前获知的数据:读者流通人次的历史数据一般可由相关流通系统的数据库获取、预测日的天气数据(最高气温、最低气温、降雨量)可从天气预报中获取。节假日等特殊时间段的预测虽然不在本文论及范围之内,但可以本模型预测数据为基准,辅以传统统计学方法,分析、考量其变动,便可进一步对特殊时间段的流通人次进行自动化预测。
一个全自动的、稳定且高精度的以机器学习算法为核心的每日读者流通人次短期预测系统的建立,将有效地提升图书馆智慧服务的层级,是人工智能深入参与到图书馆智慧服务中去的一个典型的范例。
参考文献
[1]张学工. 关于统计学习理论与支持向量机[J]. 自动化学报, 2000, 26(1): 32-42.
[2]祁亨年. 支持向量机及其应用研究综述[J]. 计算机工程, 2004, 30(10): 6-9.
[3]丁世飞, 齐丙娟, 谭红艳. 支持向量机理论与算法研究综述[J]. 电子科技大学学报, 2011, 40(1): 1-10.
[4]冯振华, 杨洁明. SVM回归的参数选择探讨[J]. 机械工程与自动化, 2007, (3): 17-18, 22.
[5]潘妍, 孙立民, 马晓燕. 一种支持向量机的动态自适应加权算法[J]. 烟台大学学报(自然科学与工程版), 2009, 22(4): 282-285
[6]费巍, 徐军. 公共图书馆读者流量影响因素研究[J]. 山东图书馆学刊, 2012, (2): 56-58, 64.
[7]游伟, 李树涛, 谭明奎. 基于SVM-RFE-SFS的基因选择方法[J]. 中国生物医学工程学报, 2010, 29(1): 93-99.
[8]吴红霞, 吴悦, 刘宗田, 等. 基于Relief和SVM-RFE的组合式SNP特征选择[J]. 计算机应用研究, 2012, 29(6): 2074- 2077.
[9]葛继科, 邱玉辉, 吴春明, 等. 遗传算法研究综述[J]. 计算机应用研究, 2008, 25(10): 2911-2916.
[10]梁昌勇, 柏桦, 蔡美菊, 等. 量子遗传算法研究进展[J]. 计算机应用研究, 2012, 29(7): 2401-2405.