楊思思 王琢玉
摘? 要: 數(shù)字圖書館流量預(yù)測是數(shù)字圖書館管理的基礎(chǔ),直接影響數(shù)字圖書館管理效率。當(dāng)前數(shù)字圖書館流量預(yù)測算法存在預(yù)測精度低、時間長等局限性,為了提高數(shù)字圖書館流量預(yù)測結(jié)果,提出基于大數(shù)據(jù)的數(shù)字圖書館流量預(yù)測算法。收集數(shù)字圖書館流量歷史數(shù)據(jù),用大數(shù)據(jù)分析技術(shù)對數(shù)字圖書館流量歷史數(shù)據(jù)進行建模,構(gòu)建數(shù)字圖書館流量預(yù)測模型,并對數(shù)字圖書館流量預(yù)測模型的相關(guān)參數(shù)采用蟻群算法進行優(yōu)化。在Matlab 2017平臺上進行數(shù)字圖書館流量預(yù)測的仿真對比測試實驗,結(jié)果表明,所提算法的數(shù)字圖書館流量預(yù)測精度超過95%,相較其他對比算法預(yù)測建??倳r間最短。所提算法的數(shù)字圖書館流量預(yù)測精度、建模效率均得到了明顯的提升,可以應(yīng)用于實際數(shù)字圖書館管理系統(tǒng)中。
關(guān)鍵詞: 大數(shù)據(jù)分析; 歷史數(shù)據(jù); 數(shù)字圖書館; 流量預(yù)測; 仿真測試; 執(zhí)行效率
中圖分類號: TN911.1?34; TP391? ? ? ? ? ? ? ? ? ?文獻標(biāo)識碼: A? ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2020)11?0120?05
Digital library flow forecast algorithm based on big data
YANG Sisi1, WANG Zhuoyu2
(1. Library of Wuhan University of Science and Technology, Wuhan 430081, China;
2. Journalism and Information Communication School, Huazhong University of Science and Technology, Wuhan 430070, China)
Abstract: The flow forecast of digital library is the foundation of digital library management, which directly affects the management efficiency of digital library. The current digital library flow forecast algorithm has the limitations of low prediction accuracy and long prediction time. To improve the flow forecast result of digital library, the digital library flow forecast algorithm based on big data is proposed. The historical data of digital library flow are collected for modeling with big data analysis technology, so as to construct the flow prediction model of digital library. Furthermore, the relevant parameters of the flow prediction model of digital library are optimized with ant colony algorithm. The simulation comparison tests for digital library flow prediction is performed on the Matlab 2017 platform. The results show that the flow prediction accuracy of digital library of the proposed algorithm is above 95%. The total time for modeling is the shortest, compared with other algorithms. Both the prediction accuracy and modeling efficiency of the proposed algorithm have been significantly improved. Therefore, it can be applied to the actual digital library management system.
Keywords: big data analysis; historical data; digital library; flow prediction; simulation test; execution efficiency
0? 引? 言
隨著網(wǎng)絡(luò)、通信技術(shù)及數(shù)字閱讀技術(shù)的快速發(fā)展和不斷融合,許多高校建立了自己的數(shù)字圖書館,學(xué)生可以通過數(shù)字圖書館搜索和找到自己需要的數(shù)字圖書資源,如何對數(shù)字圖書館有效利用,提高數(shù)字圖書館的管理水平十分重要[1?3]。學(xué)生訪問數(shù)字圖書館的時間點、時間長短都不一樣,使得數(shù)字圖書館流量具有較大的時變性和隨機性,數(shù)字圖書館流量的建模與預(yù)測可以幫助管理人員提前知道數(shù)字圖書館流量變化態(tài)勢,從而更好地提升數(shù)字圖書館利用率,所以數(shù)字圖書館流量的預(yù)測成為當(dāng)前高校數(shù)字圖書館中的一個重要研究方向[4?6]。
數(shù)字圖書館流量預(yù)測采用時間分析技術(shù),認(rèn)為數(shù)字圖書館流量之間具有一定的時間相關(guān)性,可以根據(jù)時間相關(guān)性發(fā)現(xiàn)數(shù)字圖書館變化規(guī)律。最初采用多元線性回歸算法對數(shù)字圖書館流量進行建模與分析,根據(jù)數(shù)字圖書館流量歷史數(shù)據(jù)找到預(yù)測模型的參數(shù),從而對未來一段時間的數(shù)字圖書館流量進行估計,但是由于其是一種線性分析技術(shù),局限性十分明顯,如無法對數(shù)字圖書館流量的隨機變化特點進行描述等,使得對于現(xiàn)代數(shù)字圖書館流量預(yù)測錯誤比較大[7?9]。
隨后出現(xiàn)了基于人工神經(jīng)網(wǎng)絡(luò)的數(shù)字圖書館流量預(yù)測算法,相對于多元線性回歸算法,人工神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力更強,可以更好地反映數(shù)字圖書館流量變化態(tài)勢,使得數(shù)字圖書館流量預(yù)測效果得到了有效改善[10?11]。但是人工神經(jīng)網(wǎng)絡(luò)算法同樣存在不足,如數(shù)字圖書館流量預(yù)測結(jié)果不穩(wěn)定、預(yù)測精度時高時低、建?;ㄙM時間相當(dāng)長、預(yù)測速度比較慢等。最近幾年,出現(xiàn)了基于支持向量機的數(shù)字圖書館流量預(yù)測算法[11?14],其建模與預(yù)測的穩(wěn)定性要優(yōu)于人工神經(jīng)網(wǎng)絡(luò),數(shù)字圖書館流量效果更優(yōu),但是其數(shù)字圖書館流量建模時參數(shù)優(yōu)化是一個難題,當(dāng)前還沒有找到有效的解決方法,使數(shù)字圖書館流量結(jié)果有待進一步改善[15?17]。
為了提高數(shù)字圖書館流量預(yù)測結(jié)果,本文提出了基于大數(shù)據(jù)的數(shù)字圖書館流量預(yù)測算法,結(jié)果表明,本文算法的數(shù)字圖書館流量預(yù)測精度超過95%,而對比算法的數(shù)字圖書館流量預(yù)測錯誤率高,而且本文算法的數(shù)字圖書館流量預(yù)測建??倳r間少,數(shù)字圖書館流量預(yù)測建模效率得到了明顯的提升,具有更好的應(yīng)用價值。
1? 基于大數(shù)據(jù)的數(shù)字圖書館流量預(yù)測算法
1.1? 數(shù)字圖書館流量歷史數(shù)據(jù)的處理
數(shù)字圖書館流量的歷史數(shù)據(jù)通常包括一些無效的數(shù)據(jù),這些數(shù)據(jù)以噪聲的形式出現(xiàn),為此,本文采用去噪算法對數(shù)字圖書館流量的歷史數(shù)據(jù)進行處理,去除其中的一些無用信息,從而改善數(shù)字圖書館流量的歷史數(shù)據(jù)質(zhì)量,有利于數(shù)字圖書館流量預(yù)測。
設(shè)[yt]表示數(shù)字圖書館流量的歷史數(shù)據(jù),那么連續(xù)小波變換可描述為:
[W(a,b)=1aytψt-badt] (1)
預(yù)處理后的數(shù)字圖書館流量的歷史數(shù)據(jù)重構(gòu)為:
[y′t=1Cψ0+∞-∞+∞W(a,b)aψt-badadb] (2)
在實際應(yīng)用中,數(shù)字圖書館流量的歷史數(shù)據(jù)具有一定離散性,因此引用離散形式的去噪技術(shù),即:
[cj+1(m)=mh(m-2k)cj(m)] (3)
[dj+1(m)=mg(m-2k)cj(m)] (4)
1.2? 數(shù)字圖書館流量歷史數(shù)據(jù)的重構(gòu)
當(dāng)前數(shù)字圖書館流量建模沿用時間分析技術(shù),而原始數(shù)字圖書館流量的歷史數(shù)據(jù)為一維,無法直接對其進行建模與預(yù)測。結(jié)合數(shù)字圖書館流量的歷史數(shù)據(jù)的隨機性和混沌性,引入混沌算法將一維的數(shù)字圖書館流量的歷史數(shù)據(jù)變?yōu)橐粋€多變的數(shù)字圖書館流量的歷史數(shù)據(jù),更好地挖掘隱藏于數(shù)字圖書館流量的歷史數(shù)據(jù)中的變化特點。原始數(shù)字圖書館流量的歷史數(shù)據(jù)為:[xi,i=1,2,…,n],[n]表示數(shù)字圖書館流量的歷史數(shù)據(jù)數(shù)量,通過引入混沌算法得到的多維數(shù)據(jù)為:
[Xt={xi,xi+τ,…,xi+m-1τ}] (5)
式中:[τ]為數(shù)字圖書館流量的歷史數(shù)據(jù)延遲時間;[m]為數(shù)字圖書館流量的歷史數(shù)據(jù)嵌入維。從式(5)可以看出,嵌入維和延遲時間決定了數(shù)字圖書館流量的歷史數(shù)據(jù)重構(gòu)好壞,它們具體確定步驟如下。
1.2.1? 延遲時間的確定
延遲時間的確定步驟如下:
Step1:數(shù)字圖書館流量歷史數(shù)據(jù)的相鄰兩個樣本點為[X(i)]和[X(j)],兩者的距離[rij(m)]為:
[rij(m)=X(i)-X(j)] (6)
Step2:重構(gòu)后數(shù)字圖書館流量的歷史數(shù)據(jù)為:[Xt={xi,xi+τ,…,xi+m-1τ}],其關(guān)聯(lián)積分計算方式具體如下:
[C(m,N,r,τ)=2M(M-1)1≤i≤j≤MH(r-X(i)-X(j))] (7)
式中:[r]為鄰域的半徑;[M=(m-1)?τ]。
Step3:將全部數(shù)字圖書館流量的歷史數(shù)據(jù)數(shù)量劃分為[t]個子集,這樣可以得到:
[S(m,r,τ)=1tl=1t{Cl(m,r,τ)-Cl(l,r,τ)m}] (8)
Step4:[S(m,r,τ)]極小值點計算公式為:
[ΔS(t)=14m=25max[S(m,rj,t)]-min[S(m,rj,t)]] (9)
Step5:當(dāng)[ΔS(t)]達到最小值時,可以得到數(shù)字圖書館流量的歷史數(shù)據(jù)的最優(yōu)延遲時間值。
1.2.2? 嵌入維的確定
嵌入維的確定步驟如下:
Step1:[Xi(m+1)]為重構(gòu)后的數(shù)字圖書館流量的歷史數(shù)據(jù)第[i]個樣本,其距離最近的樣本為[Xn(i,m)(m+1)],建立如下等式:
[α(i,m)=Xi(m+1)-Xn(i,m)(m+1)Xi(m)-Xn(i,m)(m)]? ?(10)
Step2:當(dāng)[E(m)=1N-mτi=1N-mτα(i,m)]值達到最大時,可以得到數(shù)字圖書館流量的歷史數(shù)據(jù)的最優(yōu)嵌入維值。
1.3? 數(shù)字圖書館流量預(yù)測算法設(shè)計
本文采用大數(shù)據(jù)分析技術(shù)中的最小二乘支持向量機作為數(shù)字圖書館流量預(yù)測算法,因為其建模速度要快于支持向量機,同時,建模精度要好于人工神經(jīng)網(wǎng)絡(luò)。對于數(shù)字圖書館流量歷史數(shù)據(jù),最小二乘支持向量機目標(biāo)優(yōu)化函數(shù)可以表示為:
[J1w,e=12wTw+12γi=1Ne2is.t.? ? yi=wTφxi+b+ei] (11)
式中[γ]表示正則化參數(shù)。
構(gòu)造式(11)的拉格朗日函數(shù),具體為:
[L=Jw,e-i=1NαiwTφxi+b+ei-yi] (12)
對式(11)求偏導(dǎo),可以得到:
[?L?w=0→w=i=1Nαiφxi?L?b=0→i=1Nαi=0?L?ei=0→αi=γei?L?αi=0→wTφxi+b+ei-yi] (13)
消掉[w]和[e],得到一個線性方程,具體如下:
[01Tv1vΩ+1γIN×bα=0y] (14)
式中:[y=[y1,y2,…,yN]];[1v=1,…,1];[α=[α1,][α2,…,αN]];[Ω=φxφxi=Kx,xi]。
數(shù)字圖書館流量預(yù)測結(jié)果可以表示為:
[yx=i=1NαiKx,xi+b] (15)
其中:
[K(x,xi)=exp-x-xi2σ22]? ? ? (16)
式中[σ]表示核寬度參數(shù)。核寬度參數(shù)和正則化參數(shù)直接影響數(shù)字圖書館流量預(yù)測效果,為此,本文采用蟻群算法確定它們的最優(yōu)值。
1.4? 蟻群算法
有[m]只螞蟻,[n]個節(jié)點,[dij]是節(jié)點[i]和[j]間的距離,[ηij]是節(jié)點[i]和[j]間邊[(i,j)]的能見度,[τij]是[(i,j)]上的信息素強度,[Δτkij]是第[k]只螞蟻在[(i,j)]上留下的信息素量,[pkij]為狀態(tài)轉(zhuǎn)移概率,其具體計算公式為:
[pkij=ταijtηβijts∈allowedkταijtηβijt,? ? ? j∈allowedk0,? ? ? ?otherwise]? (17)
式中[allowedk={0,1,2,…,n-1}]為沒有經(jīng)過的節(jié)點集合。
螞蟻信息素增量的局部更新規(guī)則為:
[τij(t+1)=(1-ρ)τij(t)+Δτij(t,t+1)] (18)
[Δτij(t,t+1)=k=1mΔτkijt,t+1] (19)
式中:[ρ]為信息素衰減程度;[Δτkij]的計算公式為:
[Δτkij=QLk,? ? ? (i,j)∈Lk0,? ? ? ? ?其他] (20)
式中:[Q]為一常數(shù);[Lk]為第[k]只螞蟻爬行的長度。
1.5? 大數(shù)據(jù)的數(shù)字圖書館流量預(yù)測算法工作原理
基于大數(shù)據(jù)的數(shù)字圖書館流量預(yù)測算法工作原理為:收集數(shù)字圖書館流量歷史數(shù)據(jù),引入去噪算法對其進行處理;采用混沌算法得到多維的圖書館流量歷史數(shù)據(jù);通過大數(shù)據(jù)分析技術(shù)對數(shù)字圖書館流量歷史數(shù)據(jù)進行建模,構(gòu)建數(shù)字圖書館流量預(yù)測模型,并對數(shù)字圖書館流量預(yù)測模型的相關(guān)參數(shù)采用蟻群算法進行優(yōu)化,具體如圖1所示。
2? 數(shù)字圖書館流量預(yù)測算法性能測試與分析
2.1? 數(shù)字圖書館流量的歷史數(shù)據(jù)
為驗證基于大數(shù)據(jù)的數(shù)字圖書館流量預(yù)測算法,選擇10所高校的數(shù)字圖書館流量歷史數(shù)據(jù)作為實驗對象,將數(shù)字圖書館流量歷史數(shù)據(jù)劃分為兩部分:一部分作為數(shù)字圖書館流量預(yù)測建模的訓(xùn)練樣本集合;另一部分作為分析數(shù)字圖書館流量預(yù)測效果的驗證樣本集合。大數(shù)據(jù)的數(shù)字圖書館流量預(yù)測算法采用Matlab 2019編程實現(xiàn),采用人工神經(jīng)網(wǎng)絡(luò)中的BP神經(jīng)網(wǎng)絡(luò)、支持向量機進行數(shù)字圖書館流量預(yù)測對照實驗。10所高校的數(shù)字圖書館流量歷史數(shù)據(jù)如表1所示。
2.2? 混沌算法確定數(shù)字圖書館流量數(shù)據(jù)的延遲時間和嵌入維數(shù)
采用1.2節(jié)的方法確定10所高校的數(shù)字圖書館流量歷史數(shù)據(jù)的延遲時間和嵌入維數(shù),具體如表2所示。根據(jù)表2的結(jié)果得到相應(yīng)的多維數(shù)字圖書館流量歷史數(shù)據(jù),用于后期數(shù)字圖書館流量建模與預(yù)測。
2.3? 數(shù)字圖書館流量預(yù)測模型的參數(shù)
采用蟻群算法確定數(shù)字圖書館流量預(yù)測模型的核寬度參數(shù)和正則化參數(shù),結(jié)果如表3所示。從表3可以看出,不同的高校數(shù)字圖書館流量歷史數(shù)據(jù),有不同的核寬度參數(shù)和正則化參數(shù),這樣建立的高校數(shù)字圖書館流量預(yù)測模型不一樣,可以適合不同類型的高校數(shù)字圖書館流量建模。
2.4? 高校數(shù)字圖書館流量的預(yù)測精度對比
所有數(shù)字圖書館流量預(yù)測算法的精度如圖2所示。
從圖2的實驗結(jié)果可以得到如下結(jié)論:
1) BP神經(jīng)網(wǎng)絡(luò)的數(shù)字圖書館流量的預(yù)測精度最低,低于88%,其數(shù)字圖書館流量的預(yù)測錯誤差大于10%,無法滿足數(shù)字圖書館管理的實際應(yīng)用要求。這主要是由于BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)性能比較差,無法建立最優(yōu)的數(shù)字圖書館流量的預(yù)測模型。
2) 支持向量機的數(shù)字圖書館流量的預(yù)測精度高于BP神經(jīng)網(wǎng)絡(luò)的數(shù)字圖書館流量的預(yù)測精度,預(yù)測精度處于90%左右,數(shù)字圖書館流量的預(yù)測錯誤率得到了降低。這主要是由于支持向量機的學(xué)習(xí)性能要優(yōu)于BP神經(jīng)網(wǎng)絡(luò),得到了更優(yōu)的高校數(shù)字圖書館流量的預(yù)測模型。
3) 在所有算法中,本文算法的數(shù)字圖書館流量的預(yù)測精度最高,超過了95%,數(shù)字圖書館流量的預(yù)測錯誤率遠(yuǎn)小于BP神經(jīng)網(wǎng)絡(luò)和支持向量機,克服了BP神經(jīng)網(wǎng)絡(luò)和支持向量機在數(shù)字圖書館流量的預(yù)測過程中存在的局限性,建立了理想的數(shù)字圖書館流量預(yù)測模型。
2.5? 高校數(shù)字圖書館流量的預(yù)測效率對比
為全面描述數(shù)字圖書館流量預(yù)測算法的性能,計算三種算法的數(shù)字圖書館流量預(yù)測建模時間,結(jié)果如圖3所示。
對圖3的數(shù)字圖書館流量建模時間進行對比和分析可以發(fā)現(xiàn):支持向量機的數(shù)字圖書館流量預(yù)測建模時間最長,BP神經(jīng)網(wǎng)絡(luò)的數(shù)字圖書館流量預(yù)測建模時間次之,而本文的數(shù)字圖書館流量預(yù)測建模時間最短,這主要是由于最小二乘支持向量機的學(xué)習(xí)效率更高,而且對數(shù)字圖書館流量歷史數(shù)據(jù)進行了去噪和混沌處理,提高了數(shù)字圖書館流量預(yù)測建模效率,可以用于大規(guī)模數(shù)字圖書館流量預(yù)測與建模,實際應(yīng)用價值更高。
3? 結(jié)? 語
為了解決當(dāng)前數(shù)字圖書館流量預(yù)測結(jié)果不穩(wěn)定、建模時間長等缺陷,以獲得更優(yōu)的數(shù)字圖書館流量預(yù)測結(jié)果為目標(biāo),本文設(shè)計提出了基于大數(shù)據(jù)的數(shù)字圖書館流量預(yù)測算法。采用去噪算法對數(shù)字圖書館流量歷史數(shù)據(jù)進行預(yù)處理,然后引入混沌算法重構(gòu)數(shù)字圖書館流量歷史數(shù)據(jù),最后引入大數(shù)據(jù)分析技術(shù)構(gòu)建數(shù)字圖書館流量預(yù)測模型,并采用蟻群算法確定圖書館流量預(yù)測模型的參數(shù)。在Matlab 2017平臺上的數(shù)字圖書館流量預(yù)測的仿真測試實驗結(jié)果表明,本文算法是一種精度高、速度快的數(shù)字圖書館流量預(yù)測算法,數(shù)字圖書館流量預(yù)測整體效率明顯優(yōu)于當(dāng)前其他數(shù)字圖書館流量預(yù)測算法,具有更加廣泛的實際應(yīng)用范圍。
參考文獻
[1] 馬東.高校圖書館網(wǎng)絡(luò)異常流量分析與研究[J].現(xiàn)代情報,2012,32(12):149?151.
[2] 費巍,徐軍.公共圖書館讀者流量影響因素研究[J].山東圖書館學(xué)刊,2012(2):56?58.
[3] 王家勝,牟肖光.基于時間序列高校圖書館借閱流量分布統(tǒng)計分析[J].農(nóng)業(yè)圖書情報學(xué)刊,2011,23(4):72?75.
[4] 楊佳.以上海圖書館為例的到館讀者流量分析[J].圖書館界,2010(6):36?38.
[5] 夏玲,張揚.黃岡師范學(xué)院圖書館紙質(zhì)圖書流量統(tǒng)計分析[J].黃岡師范學(xué)院學(xué)報,2009,29(6):89?91.
[6] 王靜,李丕仕.基于Lyapunov指數(shù)的高校圖書館圖書借閱流量混沌預(yù)測[J].現(xiàn)代情報,2009,29(9):7?10.
[7] 吳紅艷.高校數(shù)字圖書館圖書流量的時間序列分布趨勢及預(yù)測分析[J].中原工學(xué)院學(xué)報,2008(4):3?7.
[8] 鐘克吟.圖書館數(shù)字資源訪問流量統(tǒng)計分析系統(tǒng)的設(shè)計與實現(xiàn)[J].圖書館研究與工作,2007(4):25?28.
[9] 尹志強.基于數(shù)據(jù)挖掘的高校圖書館圖書借閱流量建模與分析[J].微電子學(xué)與計算機,2018,35(11):95?99.
[10] 趙惠,劉芳.湖南圖書館網(wǎng)站訪問流量分析研究報告[J].圖書館,2006(5):97?100.
[11] 左麗.基于大數(shù)據(jù)分解的數(shù)字圖書館訪問流量預(yù)測[J].自動化技術(shù)與應(yīng)用,2018,37(10):43?46.
[12] 周靜晴.公共圖書館智能讀者流量系統(tǒng)大數(shù)據(jù)分析研究:以深圳圖書館為例[J].圖書館研究,2018,48(4):116?122.
[13] 陳越華.神經(jīng)網(wǎng)絡(luò)在高校圖書館圖書借閱流量預(yù)測中的應(yīng)用[J].現(xiàn)代電子技術(shù),2017,40(19):115?118.
[14] 張振華,梅江林.高校圖書館引進英文數(shù)據(jù)庫的成本效益研究:以鹽城工學(xué)院圖書館為例[J].鹽城工學(xué)院學(xué)報(社會科學(xué)版),2016,29(4):85?88.
[15] 張嵐.數(shù)字圖書館訪問流量預(yù)測方法研究[J].河南科技,2014(12):280?281.
[16] 張明霞.GM(1,1)模型在大開間圖書館流量預(yù)測中的應(yīng)用[J].數(shù)學(xué)的實踐與認(rèn)識,2013,43(23):80?84.
[17] 李靜.基于蝙蝠算法優(yōu)化LSSVM的圖書館訪問流量預(yù)測[J].信息技術(shù),2018,42(12):5?8.
[18] 杜慧敏.基于數(shù)據(jù)挖掘的讀者流量與圖書館開放能力分析系統(tǒng)[J].情報探索,2009(7):30?32.