摘 ?要: 本文以量子遺傳SVM為核心,構(gòu)建數(shù)學(xué)模型,對(duì)公共圖書館每日讀者流通人次(借還書人次)進(jìn)行預(yù)測(cè)。模型以上海市嘉定區(qū)圖書館為數(shù)據(jù)實(shí)例,考察各種影響因素后,以若干量化特征數(shù)據(jù)為輸入,每日讀者流通人次為輸出目標(biāo),在此基礎(chǔ)之上成功地訓(xùn)練并獲取了預(yù)測(cè)模型。實(shí)驗(yàn)表明,在全程貼近實(shí)際目標(biāo)預(yù)測(cè)系統(tǒng)構(gòu)建的指導(dǎo)思想下(適用、穩(wěn)定、準(zhǔn)確),此方法建立的相應(yīng)短期預(yù)測(cè)系統(tǒng)取得了較好的預(yù)測(cè)效果,系統(tǒng)的應(yīng)用將有效地提升圖書館智慧服務(wù)的層級(jí)。
關(guān)鍵詞: 量子遺傳算法;SVM;公共圖書館;智慧服務(wù);每日讀者流通人次;量化特征
中圖分類號(hào): TP181;G251.5 ? ?文獻(xiàn)標(biāo)識(shí)碼: A ? ?DOI:10.3969/j.issn.1003-6970.2019.12.042
本文著錄格式:鄭戍嘉. 基于量子遺傳SVM的公共圖書館每日讀者流通人次預(yù)測(cè)模型[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 ?引言
公共圖書館的每日讀者流通人次(借還書人次),是一個(gè)極有業(yè)務(wù)參考價(jià)值的指標(biāo)式數(shù)據(jù),它是在多種復(fù)雜因素共同作用下產(chǎn)生的。
目前國內(nèi)對(duì)圖書館流通人次(冊(cè)次)時(shí)間序列的預(yù)測(cè),粒度多集中在月度、學(xué)期的時(shí)間跨度上,而預(yù)測(cè)每日流通人次的嘗試,則較為少見,有個(gè)別文獻(xiàn)使用基于某型神經(jīng)網(wǎng)絡(luò)的算法模型對(duì)高校圖書
館的每日流通人次進(jìn)行了成功的短期預(yù)測(cè),但對(duì)公共圖書館的每日流通人次的高精度預(yù)測(cè)模型則未曾見諸公開發(fā)表。
高校圖書館與公共圖書館流通人次的時(shí)間序列模型,雖看則相似,但實(shí)際存在著很大的不同。這主要是因?yàn)椋瑑烧咴诹魍J?、讀者特征、借閱行為模式、服務(wù)內(nèi)容、交通方式乃至天氣因素影響等方面存在著較大差異,簡單地套用模型將會(huì)導(dǎo)致不甚理想的結(jié)果。
公共圖書館流通人次時(shí)間序列,相對(duì)于高校圖書館而言,其影響因素更復(fù)雜多變、隨機(jī)性更強(qiáng),因而預(yù)測(cè)難度更大,在建立預(yù)測(cè)模型時(shí),就不能單單以模型精度為唯一追求目標(biāo),造成預(yù)測(cè)精度偽高(模型實(shí)際應(yīng)用時(shí)效果變差)或魯棒性差的問題,而應(yīng)以適用、穩(wěn)定、準(zhǔn)確的指導(dǎo)思想,恰當(dāng)?shù)貥?gòu)建可實(shí)際應(yīng)用的模型。在這里,對(duì)于隨機(jī)性相對(duì)較強(qiáng)的小樣本時(shí)間序列而言,大規(guī)模的深度神經(jīng)網(wǎng)絡(luò)固然不適用,輕型神經(jīng)網(wǎng)絡(luò)的穩(wěn)定性又較差(即使采用了PSO等優(yōu)化算法),因此神經(jīng)網(wǎng)絡(luò)算法不能說是一個(gè)最佳的選擇。經(jīng)對(duì)比,本文最終采用量子遺傳SVM作為模型的核心算法,并著重關(guān)注了天氣因素對(duì)每日流通人次的影響。
本文的核心是關(guān)于如何在全程貼近實(shí)際目標(biāo)預(yù)測(cè)系統(tǒng)構(gòu)建的指導(dǎo)思想下,建立一個(gè)基于量子遺傳SVM的數(shù)學(xué)模型,對(duì)公共圖書館的每日讀者流通人次進(jìn)行短期預(yù)測(cè)。文章將以上海市嘉定區(qū)圖書館為例,對(duì)公共圖書館讀者流通人次的影響因素進(jìn)行探討,引入天氣因素對(duì)讀者到館影響,隨之選擇若干因素的量化特征為模型輸入,以預(yù)測(cè)日(未來三日內(nèi))的讀者流通人次為輸出目標(biāo)并進(jìn)行模型訓(xùn)練,嘗試獲取實(shí)用的高精度的預(yù)測(cè)模型。
選取影響因素,一是要與預(yù)測(cè)目標(biāo)關(guān)聯(lián)性強(qiáng)且注意本模型短期預(yù)測(cè)的目的;二是一定要保證能夠量化并能獲得真實(shí)、有效且足夠數(shù)量的數(shù)據(jù)。本文最終選擇的表征因素為:每日讀者流通人次數(shù)據(jù)、天氣(最高氣溫、最低氣溫、降水量)、雙休日標(biāo)志。所對(duì)應(yīng)的模型原始數(shù)據(jù)見下一節(jié)數(shù)據(jù)準(zhǔn)備。
2.2 ?數(shù)據(jù)準(zhǔn)備
本實(shí)驗(yàn)所使用的嘉定區(qū)圖書館每日讀者流通人次(借還書人次)數(shù)據(jù),由上海市中心圖書館相關(guān)系統(tǒng)平臺(tái)獲取,去除了節(jié)日前后等特殊時(shí)間段的數(shù)據(jù)。歷史天氣(最高氣溫、最低氣溫、降水量)數(shù)據(jù),由某氣象記錄網(wǎng)站獲取。
經(jīng)數(shù)據(jù)檢驗(yàn)、清洗后,得到了近3年內(nèi)共840組每日數(shù)據(jù),分為12個(gè)字段,先將T+1預(yù)測(cè)日(明日)的讀者流通人次為模型訓(xùn)練、預(yù)測(cè)的目標(biāo):
① 預(yù)測(cè)日的雙休日標(biāo)志
② 預(yù)測(cè)日的最高氣溫
③ 預(yù)測(cè)日的最低氣溫
④ 預(yù)測(cè)日開放時(shí)間段的降水量
⑤-? 預(yù)測(cè)日前1日到前7日的流通人次
? 預(yù)測(cè)日的讀者流通人次
值得指出的是,本實(shí)驗(yàn)的目標(biāo)序列極大值點(diǎn)呈周期性分布,占比較小而與均值之間的相對(duì)距離卻較大,因此在模型測(cè)試集的檢驗(yàn)過程中,測(cè)試數(shù)據(jù)數(shù)量不宜太少,這樣才能更貼近長期預(yù)測(cè)的真實(shí)效果,否則將可能出現(xiàn)預(yù)測(cè)精度偽高(預(yù)測(cè)模型精度高、實(shí)際預(yù)測(cè)系統(tǒng)精度低)的情況。同時(shí),如能確保較多組的跨季的測(cè)試集數(shù)據(jù),則可以檢驗(yàn)?zāi)承┲?/p>
長期(季節(jié))因素少量變化后預(yù)測(cè)模型的適應(yīng)能力,若日后構(gòu)建實(shí)際應(yīng)用的預(yù)測(cè)系統(tǒng),模型中長期的預(yù)測(cè)穩(wěn)定性是至關(guān)重要的。為此,本文選用數(shù)據(jù)集的前740組作SVM模型訓(xùn)練用,而(近期的)后100組作為模型測(cè)試數(shù)據(jù)。
2.3 ?數(shù)據(jù)歸一化
因數(shù)據(jù)集中存在奇異樣本數(shù)據(jù),為消除其量綱影響,使計(jì)算結(jié)果能較好地回歸,必須進(jìn)行歸一 ? 化操作。數(shù)據(jù)集進(jìn)行歸一化操作的數(shù)值范圍限定 ? 為[1,3]。圖1為每日讀者流通人次數(shù)據(jù)的歸一化 ?圖形。
圖1 ?每日讀者流通人次數(shù)據(jù)歸一化后圖像
Fig.1 ?Normalized image of daily reader circulation data
2.4 ?特征選擇
本文采用遞歸特征消除[7][8](RFE:Recursive Feature Elimination)來對(duì)數(shù)據(jù)集的特征進(jìn)行重要性的排序。方法如下:首先選定一個(gè)算法,以此算法訓(xùn)練模型,去掉得分最小的特征,再用剩余的特征再訓(xùn)練模型,如此重復(fù),最終給出特征重要性的排序。
根據(jù)經(jīng)驗(yàn),相對(duì)于特征數(shù),本實(shí)驗(yàn)的數(shù)據(jù)組數(shù)足夠多而質(zhì)量較好,則無須經(jīng)過正則化處理也可獲得很好的RFE穩(wěn)定性,只是可能要注意關(guān)聯(lián)特征的問題。
經(jīng)過RFE計(jì)算,得到數(shù)據(jù)集11個(gè)特征變量重要性的排序(從大到?。姳?。
如表1所示,影響流通人次的各項(xiàng)因素中,預(yù)測(cè)日的氣溫狀況、當(dāng)日是否為雙休日是兩個(gè)主要因素,而當(dāng)日最低氣溫的影響比最高氣溫更大。因?yàn)榇嬖谥芷谛砸蛩兀?天前的讀者流通人次數(shù)據(jù)是一個(gè)很重要的參考指標(biāo)。預(yù)測(cè)日之前1到6天的讀者流通人次數(shù)據(jù)的重要性則較低。而預(yù)測(cè)日開放時(shí)間段降水量的影響最小,這表明至少對(duì)嘉定區(qū)圖書館而言,一般情況下,開放日是否下雨對(duì)讀者會(huì)否到圖書館來借還書的影響性不大。
表1 ?數(shù)據(jù)集特征的重要性排序
Tab.1 ?Sorting the importance of data set features
RFE排序 特征
1 預(yù)測(cè)日7天前的流通人次
2 預(yù)測(cè)日的最低氣溫
3 預(yù)測(cè)日的雙休日標(biāo)志
4 預(yù)測(cè)日的最高氣溫
5 預(yù)測(cè)日2天前的流通人次
6 預(yù)測(cè)日1天前的流通人次
7 預(yù)測(cè)日6天前的流通人次
8 預(yù)測(cè)日4天前的流通人次
9 預(yù)測(cè)日3天前的流通人次
10 預(yù)測(cè)日5天前的流通人次
11 預(yù)測(cè)日開放時(shí)間段的降水量
在之后進(jìn)一步的模型運(yùn)算中,嘗試對(duì)特征消減后的預(yù)測(cè)效果進(jìn)行了多次分段實(shí)際檢驗(yàn),發(fā)現(xiàn)去除預(yù)測(cè)日之前1到6天的流通人次及降水量的特征會(huì)使預(yù)測(cè)效果略有下降,而保留所有11項(xiàng)特征時(shí),預(yù)測(cè)效果更佳,對(duì)此判斷在這7個(gè)次要特征中,存在某種形態(tài)的隱變量對(duì)模型發(fā)生輕微作用(可能隱含某些中長期影響模式)。引入這7個(gè)特征,并不損傷或可增加模型的魯棒性,故此最終決定在模型的數(shù)據(jù)集中保留所有11項(xiàng)特征。
2.5 ?量子遺傳算法(QGA)對(duì)SVM超參數(shù)的尋優(yōu)
QGA[9-10]的具體算法如下:
(1)生成包含一定數(shù)量個(gè)體的初始種群,每個(gè)個(gè)體有一串染色體,染色體的表達(dá)采用量子位的方式。
(2)種群采用概率幅的形式繁衍下一代(染色體),并用評(píng)價(jià)函數(shù)保留最優(yōu)個(gè)體,如滿足停止條件則停止計(jì)算,否則采用量子旋轉(zhuǎn)門對(duì)種群進(jìn)行更新后循環(huán)這一步。
量子遺傳算法的參數(shù)選擇:
本實(shí)驗(yàn)在經(jīng)驗(yàn)參數(shù)附近、對(duì)數(shù)據(jù)集進(jìn)行了多種分段,在此基礎(chǔ)上又進(jìn)行了多次計(jì)算,以排除小概率的早熟或停滯現(xiàn)象及確定最佳參數(shù)。
最終選定的QGA參數(shù)為:最大遺傳代數(shù):200,種群大?。?60,單個(gè)變量的二進(jìn)制長 [40 40]。
采用以上參數(shù)構(gòu)造的QGA模型的進(jìn)化過程見圖2。
QGA為SVM的超參數(shù)C、g尋優(yōu)的最終計(jì)算結(jié)果如下:
最優(yōu)解C = 0.99658,g = 0.11421
2.6 ?SVM模型訓(xùn)練及測(cè)試
將QGA超參數(shù)尋優(yōu)獲取到的最優(yōu)C、g數(shù)值代入SVM算法,使用訓(xùn)練集740組數(shù)據(jù)進(jìn)行訓(xùn)練后,擬合情況如圖3。
圖2 ?進(jìn)化曲線
Fig.2 ?Evolution curve
圖3 ?SVM訓(xùn)練集擬合圖形
Fig.3 ?SVM training set fitting graphics
之后,使用訓(xùn)練得到的SVM模型進(jìn)行測(cè)試集100組數(shù)據(jù)的實(shí)際檢驗(yàn)。
測(cè)試集的預(yù)測(cè)效果如圖4和圖5。
模型訓(xùn)練集、測(cè)試集總的回歸計(jì)算檢驗(yàn)結(jié)果如表2。
可以看到,此次基于量子遺傳SVM模型的預(yù)測(cè)實(shí)驗(yàn),在實(shí)際影響因素復(fù)雜、目標(biāo)數(shù)據(jù)波動(dòng)幅度較大、測(cè)試時(shí)間序列較長的情況下,仍獲得了較好的預(yù)測(cè)效果。如圖5所示,81%的預(yù)測(cè)點(diǎn)的百分 ? ?比誤差在15%以內(nèi)。此次實(shí)驗(yàn)測(cè)試集數(shù)據(jù)的預(yù)測(cè) ? 準(zhǔn)確率(1-MAPE)為90.44%,平方相關(guān)系數(shù)R為96.07%。
圖4 ?測(cè)試集回歸驗(yàn)證圖形
Fig.4 ?Test set regression verification graphics
圖5 ?測(cè)試集預(yù)測(cè)結(jié)果的百分比誤差
Fig.5 ?Percentage error of test set prediction results
表2 ?訓(xùn)練集與測(cè)試集的擬合結(jié)果
Tab.2 ?Fitting results of training set and test set
平均絕對(duì)百分誤差 MAPE(%) 平方相關(guān)系
數(shù)R(%)
訓(xùn)練集 9.25 95.47
測(cè)試集 9.56 96.07
以上是對(duì)T+1預(yù)測(cè)日(明日)的讀者流通人次建模的預(yù)測(cè)結(jié)果。之后重新以相似方法建模,對(duì)預(yù)測(cè)日為T+2(后天)、T+3(大后天)的讀者流通人次進(jìn)行預(yù)測(cè)(此時(shí),預(yù)測(cè)日的前一至二日的讀者流通人次為未知數(shù),而預(yù)測(cè)日的天氣狀況視為已知)。實(shí)驗(yàn)結(jié)果表明,訓(xùn)練后得到的模型,預(yù)測(cè)準(zhǔn)確率并未明顯降低,均接近90%,見表3,顯示采用此方法建構(gòu)的預(yù)測(cè)模型適應(yīng)性較強(qiáng),預(yù)測(cè)效果較為穩(wěn)定。
表3 ?三日預(yù)測(cè)效果對(duì)照表
Tab.3 ?Contrast table of three-day prediction effect
平均絕對(duì)百分
誤差MAPE(%) 平方相關(guān)系
數(shù)R(%)
T+1 訓(xùn)練集 9.25 95.47
測(cè)試集 9.56 96.07
T+2 訓(xùn)練集 9.08 95.74
測(cè)試集 10.08 95.86
T+3 訓(xùn)練集 9.40 95.63
測(cè)試集 10.16 95.65
3 ?結(jié)語
本文在全程貼近實(shí)際目標(biāo)預(yù)測(cè)系統(tǒng)構(gòu)建的指導(dǎo)思想下(適用、穩(wěn)定、準(zhǔn)確),以量子遺傳SVM算法為核心,構(gòu)建數(shù)學(xué)模型,對(duì)公共圖書館的每日讀者流通人次進(jìn)行短期預(yù)測(cè),獲得了較好的預(yù)測(cè)效果。
模型的數(shù)據(jù)實(shí)例來源于上海市嘉定區(qū)圖書館。建模步驟如下:首先對(duì)影響嘉定區(qū)圖書館每日讀者流通人次的因素進(jìn)行分析和篩選,而后采集、量化、清洗選定的因素?cái)?shù)據(jù),獲得近3年內(nèi)840組可用數(shù)據(jù)(包含11個(gè)特征字段),劃分為訓(xùn)練集和測(cè)試集。接著將所獲數(shù)據(jù)集進(jìn)行歸一化操作,使用RFE進(jìn)行特征選擇,而后使用量子遺傳算法(QGA)對(duì)支持向量機(jī)(SVM)的超參數(shù)C、g進(jìn)行尋優(yōu)。模型以預(yù)測(cè)日(三日內(nèi))的讀者流通人次作為訓(xùn)練目標(biāo),使用訓(xùn)練集數(shù)據(jù)進(jìn)行SVM模型訓(xùn)練,訓(xùn)練完成后,加載此SVM模型對(duì)測(cè)試集數(shù)據(jù)進(jìn)行了預(yù)測(cè)效果的檢驗(yàn)。結(jié)果表明,采用此方法建立的模型,預(yù)測(cè)未來三日內(nèi)讀者流通人次,其總體預(yù)測(cè)準(zhǔn)確率可達(dá)90%左右,有著較好的預(yù)測(cè)效果。
從模型選擇、影響因素分析、數(shù)據(jù)采集、特征篩選到預(yù)測(cè)效果的評(píng)價(jià),本文從始至終保持貼近實(shí)際預(yù)測(cè)系統(tǒng)的構(gòu)建。如預(yù)測(cè)模型所使用特征數(shù)據(jù),均為可獲取或提前獲知的數(shù)據(jù):讀者流通人次的歷史數(shù)據(jù)一般可由相關(guān)流通系統(tǒng)的數(shù)據(jù)庫獲取、預(yù)測(cè)日的天氣數(shù)據(jù)(最高氣溫、最低氣溫、降雨量)可從天氣預(yù)報(bào)中獲取。節(jié)假日等特殊時(shí)間段的預(yù)測(cè)雖然不在本文論及范圍之內(nèi),但可以本模型預(yù)測(cè)數(shù)據(jù)為基準(zhǔn),輔以傳統(tǒng)統(tǒng)計(jì)學(xué)方法,分析、考量其變動(dòng),便可進(jìn)一步對(duì)特殊時(shí)間段的流通人次進(jìn)行自動(dòng)化預(yù)測(cè)。
一個(gè)全自動(dòng)的、穩(wěn)定且高精度的以機(jī)器學(xué)習(xí)算法為核心的每日讀者流通人次短期預(yù)測(cè)系統(tǒng)的建立,將有效地提升圖書館智慧服務(wù)的層級(jí),是人工智能深入?yún)⑴c到圖書館智慧服務(wù)中去的一個(gè)典型的范例。
參考文獻(xiàn)
[1]張學(xué)工. 關(guān)于統(tǒng)計(jì)學(xué)習(xí)理論與支持向量機(jī)[J]. 自動(dòng)化學(xué)報(bào), 2000, 26(1): 32-42.
[2]祁亨年. 支持向量機(jī)及其應(yīng)用研究綜述[J]. 計(jì)算機(jī)工程, 2004, 30(10): 6-9.
[3]丁世飛, 齊丙娟, 譚紅艷. 支持向量機(jī)理論與算法研究綜述[J]. 電子科技大學(xué)學(xué)報(bào), 2011, 40(1): 1-10.
[4]馮振華, 楊潔明. SVM回歸的參數(shù)選擇探討[J]. 機(jī)械工程與自動(dòng)化, 2007, (3): 17-18, 22.
[5]潘妍, 孫立民, 馬曉燕. 一種支持向量機(jī)的動(dòng)態(tài)自適應(yīng)加權(quán)算法[J]. 煙臺(tái)大學(xué)學(xué)報(bào)(自然科學(xué)與工程版), 2009, 22(4): 282-285
[6]費(fèi)巍, 徐軍. 公共圖書館讀者流量影響因素研究[J]. 山東圖書館學(xué)刊, 2012, (2): 56-58, 64.
[7]游偉, 李樹濤, 譚明奎. 基于SVM-RFE-SFS的基因選擇方法[J]. 中國生物醫(yī)學(xué)工程學(xué)報(bào), 2010, 29(1): 93-99.
[8]吳紅霞, 吳悅, 劉宗田, 等. 基于Relief和SVM-RFE的組合式SNP特征選擇[J]. 計(jì)算機(jī)應(yīng)用研究, 2012, 29(6): 2074- 2077.
[9]葛繼科, 邱玉輝, 吳春明, 等. 遺傳算法研究綜述[J]. 計(jì)算機(jī)應(yīng)用研究, 2008, 25(10): 2911-2916.
[10]梁昌勇, 柏樺, 蔡美菊, 等. 量子遺傳算法研究進(jìn)展[J]. 計(jì)算機(jī)應(yīng)用研究, 2012, 29(7): 2401-2405.