羅 佩,袁景凌,陳旻騁,盛德明
(武漢理工大學 計算機科學與技術學院,武漢 430070)
隨著互聯網技術的迅猛發展,在線教育受到越來越多人的關注.在線教育是以網絡為介質的教學方式,相較于傳統教育,在線教育是更方便學生的學習方式.教學資源需求具有及時性,根據用戶使用標簽、關鍵字、內容等對資源進行請求來計算不同資源的實時請求量,從而及時調整不同資源的內存分配或頁面占比及頁面位置,智能改善頁面,提高用戶的個性化體驗.這種資源的及時性多由資源請求點擊數據以時間序列的形式表現出來,因此對面向教學資源進行時序預測是一項有價值的任務.目前已有多種成熟的模型方法來對時序數據進行時序規律推理[1-4],如廣為采用的支持向量機模型[5]、自回歸移動平均模型(ARMA)[6]、差分自回歸滑動平均模型(ARIMA)[7,8]、貝葉斯模型(Bayesian)[9]、長短期記憶模型(LSTM)[10,11]、門循環單元模型(GRU)[11]、循環神經網絡模型(RNN)[12]等.然而大部分是基于時序穩定的前提.其中長短期記憶模型具有建模簡單,實現簡單的優點,但同時存在著速度緩慢,并行差不好落地的缺點,即便是在對序列建模有優勢的情況下,對周期性不明顯的非穩定時序數據預測偏向滑動平均,效果較差.差分自回歸滑動模型雖然是統計模型中最常見的一種用來進行時間序列預測的模型,且建模簡單,僅需要內生變量,然而其要求時序數據必須平穩,若非平穩需要先通過差分化穩定數據,對于波動大的數據無法捕捉其規律,且本質僅能捕捉線性關系,而不能捕捉非線性關系.決策樹也是時間序列預測的主流算法之一[13].但其在建樹時需要把所有屬性讀入內存,使得無法對大規模數據進行處理,而且容易出現過擬合,從而使得對測試數據集分類或回歸效果不佳.實際生活中由于受到許多不確定因素的影響,大部分時序都表現了強烈的非平穩性.傳統的模型方法在非平穩時序預測上無法達到較優的預測效果,因而非平穩時間序列的預測始終是一個具備挑戰性的任務.
針對這個挑戰,我們引入均值懲罰機制來對時間序列數據進行處理,使得時間序列數據在輸入到模型之前就降低了不穩定性和隨機性.同時選擇隨機森林作為預測模型方法,隨機森林是一種集成學習方法[14].該方法擁有預測準確率高、訓練時間短、設置參數少和泛化誤差較小等優勢,可以有效避免發生過擬合現象.加之隨機森林對多元共線性不敏感,預測非平衡時序數據時較為穩健,能夠很好地預測上千解釋變量.使用隨機森林模型進行預測在眾多領域都取得了一定的效果[15-17],證明了本文實驗的可行性.本文提出了一種均值懲罰隨機森林非平穩時序預測方法(PMP-RF),針對非平穩時序數據集進行短期預測.本文主要工作如下:
1)針對獲得的時間序列數據集,進行穩定性檢驗,結合時序圖和單位根檢驗(ADF),通過時序圖、顯著性檢驗統計量以及置信度共同判斷篩選非平穩的時間序列.
2)對于非平穩時序的短期預測結果誤差較大的現象,提出均值懲罰機制來預處理數據,根據時序的周期調整原始數據中的過多偏離均值的節點值,提高預測準確度.
3)本文基于隨機森林預測理論和單位根檢測時序平穩性方法以及均值懲罰處理方法對面向教學資源的非平穩時序進行預測.
實驗結果表明,基于均值懲罰的隨機森林模型預測精度優于LSTM模型、SVM模型、ARIMA模型以及原始隨機森林模型,且在原始模型基礎上有0.109662%的精度提升.
本文擬對教學資源非平穩時序進行預測,因此在預測之前需要對教學資源時間序列進行非平穩性檢測.一個時序樣本包含了隨機生成變量的歷史與當下,這個隨機過程的基本特性可以用均值、方差、協方差來表征,如果在未來的時間里這些基本特性能保持不變,這個時序則是平穩的.本文采用常用的時序圖和最嚴格的統計檢測方法擴充迪基-富勒(Augmented Dickey—Fuller)方法,簡稱ADF方法,檢測時序的平穩性.一個平穩時序在時序圖上離散點會表現出一種圍繞其均值不斷波動的過程,而非平穩時序在不同的時間段則表現出具有不同的均值.
設給定的時間序列表示如下:
T={(x1,y1),(x2,y2),…(xi,yi),…,(xn,yn)}∈(X,Y)l
(1)
其中xi表示時刻,yi表示隨機變量.則該時序的回歸模型的函數為:
yi=byi-1+a+i
(2)
ADF單位根檢測首先令原假設為存在單位根,得到顯著性檢驗統計量以及置信度.其步驟具體為:
假設拒絕原假設,檢驗時間趨勢項系數的顯著性;
a.若時間趨勢項的假設檢驗值結果明顯小于3個置信度,則認為該序列為趨勢平穩;
b.若時間趨勢項的假設檢驗值結果并不完全小于3個置信度,則觀察檢驗結果是否趨于零,若趨于零則認為該序列為趨勢平穩,否則是非平穩的.
表1為本文采用來自于ClarkNet WWW服務器的教學資源訪問日志的時序數據集進行ADF單位根檢測,由于數據的缺失我們采用了均值替換的方法,因此時序是無滯后的,ADF檢測中最大滯留數取0值.圖1為該時序數據集連續3條時序圖,表1是采取對這3條時序進行ADF單位根檢測的結果,數字保留小數點后6位.

圖1 時序圖
從圖1時序圖可以看出,本文使用的教學資源29-31選段時序呈現了明顯的周期性且在不同的時間段表現出具有不同的均值,因此粗測可得兩段時序都是非平穩的.
從表1ADF單位根檢驗結果可以看出,對第29時序進行ADF單位根檢驗中,t檢驗與1%、5%、10%不同程度拒絕原假設的比較是同時大于1%、5%、10%的,即未拒絕原假設,即單位根不存在,這個第29時序是非平穩時序;同樣在對第30和第31時序進行ADF單位根檢驗中,t檢驗與1%、5%、10%不同程度拒絕原假設的比較也是同時大于1%、5%、10%的,且Pvalue遠大于0.05,即未拒絕原假設,說明同樣存在單位根,即為非平穩時序,綜合可知29-31選段時序數據也是非平穩時序.結合圖表說明本文采用該方法證明選定的教育資源時序數據集是非平穩時序數據集成立.
通過了ADF單位根檢測的教學資源數據集即非平穩時序數據集,此時的數據集周期性明顯,不夠平穩,易導致預測的結果誤差較大,因此我們提出采用均值懲罰機制來預處理經過ADF檢測為非平穩時序的數據,形成最大化保留原本特性同時提高時序平穩性的訓練集以及保持原狀的測試集.
采用公式(3)和公式(4)對一組(m條)需要實驗的時序數據進行預處理.
yi_avg=(y1i+y2i+…+ymi)/m
(3)
(4)
其中,yi表示時間序列中每天第i(0

表2 訓練集中部分原始數據

表3 經過均值懲罰后的訓練集數據(pf=1)
由于時序的平穩性表現在數據圍繞著一個不變的均值上下波動,因此相比于波動較小的非平穩時序,波動較大的非平穩時序有更多的節點數據與均值偏離較大,即存在大量的噪聲節點數據(偏離期望值的數據).此時就體現了PMP-RF中均值懲罰預處理數據的優勢,在閾值的把關下,這些通過了ADF檢測的非平穩時序噪聲節點數據都會被懲罰修正,降低非平穩性.而由于波動較大,需要被均值懲罰的噪聲節點數據較波動較小的非平穩時序更多,就能更大幅度降低非平穩性來提高預測精度.
隨機森林算法是一種裝袋算法(bagging算法),其應用于分類和回歸任務的步驟類似,主要區別在于預測階段的方法就是bagging的策略,分類采用投票,回歸采用均值.本文模型對每個樣本建立一棵回歸決策樹,最后取均值得到預測結果.隨機森林算法預測的基本步驟如下:
步驟1.給定樣本集d、特征集F,最大葉子結點數p,決策樹棵數K,樹深h.
步驟2.采用bootstrap取樣方法有放回地隨機從原始樣本集中抽取K輪,每輪抽取等規模訓練樣本集,作為單棵決策樹的訓練樣本集.
由于是有放回的重復抽樣,對于每一棵決策樹,樣本集d中幾乎有37%的數據不出現在該樹的訓練樣本集中,這些數據被稱作袋外估計樣本.
步驟3.遍歷K份等規模訓練樣本集以構造回歸決策樹,每棵決策樹樣本集的每個結點根據參數隨機從特征集F中選取由f個特征變量,該棵決策樹根節點由該樣本集和f個特征變量生成.
步驟4.從這f個特征變量中選擇一個導致最優劃分的變量來分裂結點,直到葉子結點數目達到閾值即最大葉子結點數p.通過前文的定理得知,該步驟是為了控制隨機森林的泛化誤差,泛化誤差計算公式如下:
E^*=P_(X,Y)(mg(X,Y)<0)
(5)
根據大樹定理可知,無論決策樹的數量如何增長,泛化誤差總是收斂于:
(6)
步驟5.K棵決策樹遍歷構造完成后組成隨機森林,輸入一組測試數據test={(x1,y1),(x2,y2),…(xi,yi),…,(xn,yn)}到隨機森林中,每棵樹進行預測,最終預測集由每棵決策樹預測的結果取均值所得.
隨機森林預測的算法表示如下:
算法1.RF Prediction
輸入:樣本集d,特征集F,決策樹數量K,最大葉子結點數p,測試集test={(x1,y1),(x2,y2),…(xi,yi),…,(xn,yn)}

1.Begin
2.fori ← 1 to Kdo//構建決策樹
3.bi←bootstrap(d,N); //bootstrap隨機從d中抽樣大小為N的樣本集
4.ti←treeNode(bi);//在樣本上建樹
5.whilenode size != pdo
6.f←selectRandomVar(F,m); //從F中隨機選擇f個預測變量的m個子集
7.forvjin fdo
8.ifsplitCriterion(vj)==Truethen//分裂結點
9.vj1,vj2←splitNode(vj);
10.endif
11.endfor
12.endwhile
13.endfor

15.End
由相關工作可知,在時序預測工作中,RF算法有其獨特的優勢,然而時序不平穩時,預測精度會隨之下降.本文建立基于均值懲罰的隨機森林預測模型,通過將通過了ADF檢測的教學資源非平穩時序數據轉換成均值懲罰后的時序數據,然后再采用隨機森林算法對數據進行建模.在均值懲罰的過程中,設置懲罰因子對原始數據點中的異常值(相對于均值過高或過低的數據點)增加懲罰項,均值懲罰后的訓練數據相對于原始數據要平穩很多,同時單一的懲罰處理也最大限度保留原始數據的特性.最后將均值懲罰處理后的樣本集輸入隨機森林回歸模型中,得到最終的預測結果.
均值懲罰隨機森林預測算法表示如下:
算法2.PMP-RF
輸入:原始樣本集d1={T1,T2,…Tm},預測值數量n,訓練集樣本數m

1.Begin
2.forTjin d1do//遍歷樣本集檢測非平穩性
3.ifadf(Tj)==true and j≥mthen
4.fori←1 to ndo//遍歷時序的點

6.ifABS(yji-yi_avg)/yji>6%then
7.yji←yji-(yji-yi_avg)×pf; //均值懲罰
8.endif
9.endfor
10.endif
11.endfor

13.End
由算法1隨機森林預測算法可知,當每棵決策樹的樣本大小為N,特征集數量為F,樹深為D時,決策樹生長將特征集內所有的特征變量都作為分裂候選,并為其計算一個評價指標,所以決策樹遍歷每層的時間復雜度為O(N×F),樹深D,則一次決策的時間復雜度O(N×F×D),K棵決策樹組成的隨機森林遍歷復雜度為O(K×N×F×D).同樣,平均每個特征變量的切分點數量為split,隨機森林的空間復雜度為O(N+F×split×K).由于PMP-RF模型需要先進行ADF檢測以及均值懲罰,當樣本集內時序數量為m,一條時序對應變量數為n時,PMP-RF的時間復雜度為O(n×m+K×N×F×D),而由于ADF檢測和均值懲罰后的樣本集維數時無變動地輸入進隨機森林模型中,因此空間復雜度和隨機森林模型的相通,為O(N+F×split×K).
圖2展示了教學資源非平穩時序數據預測流程,對時序進行劃分后輸入PMP-RF模型中進行均值懲罰數據預處理和預測,將預測后的結果反饋回在線教育平臺,使其可以針對性地重分配資源,實現教育資源更好的及時性和交互性.

圖2 教學資源非平穩時序預測流程圖
本文所使用非平穩時序數據集來自于ClarkNet WWW服務器的教學資源訪問日志數據集,按4天為一組對其進行分段,取其中08.28-08.31這4天作為28-30選段時序以及08.29-09.01這4天作為29-31選段時序數據進行處理得到每天的24小時訪問教學資源的次數頻度數據.以08.28-08.30這3天和08.29-08.31這3天的24小時預測08.31和09.01一天24小時作為兩次獨立實驗,每天數據中的前3天數據作為對歷史分析的數據集合,后一天的數據作為測量結果分析的集合.對于數據集中部分數據的缺失我們采用了均值替換的方法.
3.2.1 Rootmeansquare error(RMSE)
資源需求預測結果的評價指標采用均方根誤差,計算公式為:
(7)

3.2.2 Mean absolute percentage error(MAPE)
資源需求預測結果的評價指標采用平均絕對百分比誤差,計算公式為:
(8)

基于相關工作部分,本文采用長短期記憶模型(LSTM)、支持向量機模型(SVM)、差分自回歸平均模型(ARIMA)以及隨機森林(RF)對教學資源非平穩時序數據集進行預測,作為對論文中提出的面向教學資源的均值懲罰隨機森林預測模型(PMP-RF)的對比,采用兩組非連續緊密段非平穩時序,第1組波動較大,第2組波動較小.圖3、圖4是兩次實驗5種模型對該教學資源請求時序數據集預測結果與真實數據的曲線擬合圖.

圖3 28-30選段預測結果圖

圖4 29-31選段預測結果圖
對以上兩次實驗計算得出有關LSTM、SVM、ARIMA、RF以及PMP-RF這5個預測模型的評價指標結果,如表4所示.

表4 模型預測評價指標對比
由時序非平穩性檢測部分可知28-30選段非平穩時序相對29-31組波動較大,針對28-30選段時序的預測未經均值懲罰預處理的RF模型和經過均值懲罰預處理的PMP-RF模型都表現出了很大的優勢,證明我們選擇使用隨機森林模型作為基本模型的正確性,且PMP-RF均方誤差和平均絕對誤差較RF模型分別低了17.2737和0.131069%,證明均值懲罰對非平穩時序數據進行預處理的可行性.觀察有LSTM和ARIMA的預測結果則有著較大的不穩定性和誤差,PMP-RF均方誤差和平均絕對誤差較同樣表現優異的SVM分別低了72.9953和0.928065%,證明我們的PMP-RF模型明顯提高了相對波動較大的28-30選段非平穩時序的預測精度.
而相對波動較小的29-31選段非平穩時序的預測,該選段時序有著較強的周期性,非平穩性也更明顯,從而導致較大的均方誤差以及平均絕對百分比誤差.但PMP-RF仍舊表現出了優異的預測效果,其均方誤差和平均絕對誤差較效果較優的SVM高了134.0914和0.934477%,可以看出PMP-RF模型仍有著較高的預測精度,且其誤差均高于LSTM、SVM、ARIMA、RF 4個模型.結合波動較大的28-30選段時序預測可知,在對非平穩性時序預測上,PMP-RF表現最好.且在非平穩性更大的選段非平穩時序上也能提高預測精確度,本文實驗波動較大的28-30選段時序,在3天72個時間節點中有24個節點數據被懲罰處理,而波動較小的29-31選段時序,在3天72個時間節點中僅有15個節點數據被懲罰處理.更大幅度地降低了非平穩性,因此PMP-RF算法對于波動較大的非平穩時序也能夠提高預測精度.綜合兩組實驗可以看出PMP-RF模型具有較高的預測精準度和預測穩定性.
本文研究了面向教學資源的非平穩時序預測,了解了時序數據非平穩性檢測、均值懲罰方法以及隨機森林在時序預測中的性質,在此基礎上提出了一種非平穩時序的預測方法,即基于均值懲罰的隨機森林非平穩時許預測方法.通過對服務器訪問日志請求量的預測結果表明,該方法較傳統的預測方法更為穩定,較純粹的RF預測方法更為精確,在非平穩性相對較差的時序預測上表現優異,在波動偏大的非平穩時序預測上也有穩定的精確度.
本文采用的預測方法應用在教學資源服務器的訪問日志請求數據集,取得了預想的效果.但不同的教學平臺仍有大量大教學資源非平穩時序,這些非平穩時序也根據其復雜度分為單一變量時序和多變量時序,如何將本文的方法普遍應用于非平穩時序的預測甚至是多變量非平穩時序的預測中,提升在波動較大導致非平穩性較小的非平穩時序上預測的精度,在PMP-RF的參數選取方面、同單一隨機森林模型參數關系研究等方面,都還需要進一步研究.