李林
(福建省經(jīng)濟(jì)信息中心 福建省福州市 350003)
政務(wù)服務(wù)中心已日益成為各地方政府面向群眾提供政務(wù)服務(wù)的重要平臺。政務(wù)服務(wù)應(yīng)更加關(guān)注群眾體驗(yàn)感,服務(wù)水平績效應(yīng)該由群眾來評判??茖W(xué)合理地預(yù)測到政務(wù)服務(wù)中心的辦事業(yè)務(wù)量,能夠有效地輔助政務(wù)服務(wù)中心管理人員進(jìn)行決策,科學(xué)高效地調(diào)派窗口工作人員。通過彈性的增減辦事窗口工作人員,能夠有效降低群眾辦事現(xiàn)場等待時(shí)間,提高辦事效率,進(jìn)而提升辦事群眾的體驗(yàn)感,節(jié)約行政資源。
從政務(wù)服務(wù)中心大廳業(yè)務(wù)量的周期性、隨機(jī)性出發(fā),結(jié)合業(yè)務(wù)量數(shù)據(jù)變化的非線性和非平穩(wěn)的統(tǒng)計(jì)特征,預(yù)測問題本質(zhì)上是運(yùn)用機(jī)器學(xué)習(xí)方法,對數(shù)據(jù)回歸問題進(jìn)行研究,因此可以采用回歸算法進(jìn)行數(shù)據(jù)處理。利用算法模型來解決問題,需要通過實(shí)驗(yàn)數(shù)據(jù)論證不同算法的預(yù)測效果。即從文件中讀取出某一個部門每一天辦理的業(yè)務(wù)數(shù)量,利用回歸根據(jù)日期來預(yù)測當(dāng)天的業(yè)務(wù)辦理數(shù)量,從而使相關(guān)部門可以提前進(jìn)行人力部署。結(jié)合客流預(yù)測分析特點(diǎn),以及當(dāng)前常用回歸算法,選用多項(xiàng)式回歸算法、KNN 回歸算法、GBRT回歸算法、Bagging 回歸算法這四種進(jìn)行擬合比較。
回歸算法是一種預(yù)測性的建模技術(shù),它研究的是因變量(目標(biāo))和自變量(預(yù)測器)之間的關(guān)系。通過計(jì)算能夠完成新數(shù)據(jù)自變量與因變量的關(guān)系推導(dǎo),因此回歸算法能夠?qū)崿F(xiàn)預(yù)測操作,在數(shù)據(jù)預(yù)測方面具有良好表現(xiàn)。利用算法模型來解決問題,需要通過實(shí)驗(yàn)數(shù)據(jù)論證不同算法的預(yù)測效果。[1]適合客流預(yù)測的回歸算法包括多項(xiàng)式回歸、KNN 回歸、GBRT 回歸、Bagging 回歸等。
機(jī)器學(xué)習(xí)的處理過程為:首先數(shù)據(jù)預(yù)處理,提取數(shù)據(jù)庫中的數(shù)據(jù)標(biāo)簽或初始數(shù)據(jù),并將數(shù)據(jù)分為訓(xùn)練集和測試集;其次模型學(xué)習(xí),利用訓(xùn)練集數(shù)據(jù)運(yùn)用學(xué)習(xí)算法進(jìn)行訓(xùn)練;再次評估模型,經(jīng)過訓(xùn)練建立最終模型Final Model,使用測試集數(shù)據(jù)對最終算法模型進(jìn)行測試,根據(jù)測試結(jié)果對最終模型進(jìn)行評估,依據(jù)評估結(jié)果再調(diào)整最終模型;最后新樣本測試,最終模型通過新樣本再進(jìn)行訓(xùn)練后,通過對模型進(jìn)行調(diào)整最終達(dá)到最佳判定效果。如圖1所示。
以某大型城市中進(jìn)駐當(dāng)?shù)卣?wù)服務(wù)中心大廳的某區(qū)市場監(jiān)管局2019年的每日業(yè)務(wù)量為例,選取該局2019年全年辦件情況數(shù)據(jù),采取五折交叉驗(yàn)證的形式進(jìn)行訓(xùn)練及模型性能評估。即將整個數(shù)據(jù)集平均劃分成五等份,選取其中四份作為訓(xùn)練集,一份測試集,循環(huán)執(zhí)行五次并記錄結(jié)果。
訓(xùn)練環(huán)境選擇上,操作系統(tǒng)使用Intel(R) Core(TM) i7-6700 CPU @ 3.40,內(nèi)存16.0 G,軟件工具為pycharm,編程語言使用python,工具包包括Numpy、Pandas、Scikit-learn 和Matplotlib。
圖1:機(jī)器學(xué)習(xí)原理流程圖
圖2
處理過程首先讀取文件,取某區(qū)市場監(jiān)管局辦件數(shù)據(jù),將申報(bào)時(shí)間只保留日期,然后保存為新增一列為日期;按照日期統(tǒng)計(jì)事件數(shù),統(tǒng)計(jì)每日申請事件數(shù)量,過濾掉節(jié)假日,導(dǎo)入scikit-learn 相應(yīng)的包以及maplotlib.pyplot,再進(jìn)行特征處理,從而定義回歸模型;最后訓(xùn)練模型并畫圖,然后計(jì)算指標(biāo)。
多項(xiàng)式回歸即用一個含有多項(xiàng)式的曲線去擬合數(shù)據(jù)集中特征和預(yù)測值成非線性關(guān)系的數(shù)據(jù)點(diǎn),從而訓(xùn)練得到這條多項(xiàng)式曲線進(jìn)行相應(yīng)的預(yù)測,表達(dá)式如下[2]:
圖3
圖4
結(jié)合給定的數(shù)據(jù)集采用最小二乘法對該多項(xiàng)式進(jìn)行訓(xùn)練,獲取其參數(shù)從而對未知的數(shù)據(jù)進(jìn)行預(yù)測。通過五折交叉驗(yàn)證的形式,得出五次多項(xiàng)式擬合驗(yàn)證圖如圖2所示。
圖5
某區(qū)市場監(jiān)察管理局五折交叉驗(yàn)證結(jié)果MAE 誤差分別是7.639113,6.479720,6.087571,5.789480,5.384119。以平均絕對誤差MAE 為準(zhǔn),調(diào)整多項(xiàng)式次數(shù)實(shí)驗(yàn)結(jié)果對比如表1所示。
根據(jù)多項(xiàng)式的性質(zhì),選擇5 次多項(xiàng)式到10 次多項(xiàng)式。1-4 次曲線擬合的效果較差,10次以上容易造成嚴(yán)重的過擬合現(xiàn)象,所以5-10次效果較為客觀。結(jié)合以上實(shí)驗(yàn)結(jié)果可知,在七次多項(xiàng)式時(shí)誤差達(dá)到最小,為5.33655,表示實(shí)際結(jié)果比預(yù)測結(jié)果平均每天會有5 左右辦理件數(shù)的差距。
Knn 算法全稱是k 近鄰算法,就是指最接近的k 個鄰居(數(shù)據(jù)),即每個樣本都可以由它的k 個鄰居來表達(dá)。表達(dá)式如下:
Knn 算法的核心思想是在一個含未知樣本的空間,可以根據(jù)離這個樣本最近鄰的k 個樣本的數(shù)據(jù)值來確定樣本的數(shù)據(jù)值。[3]Knn算法應(yīng)用于回歸算法,一般采取平均值法。即假設(shè)要預(yù)測一個樣本的值,首先觀察目標(biāo)樣本周圍的其他樣本的平均值,通常認(rèn)為平均值就是目標(biāo)樣本的值。所以Knn 算法一個比較重要的點(diǎn)是k 值的選擇,k 值選擇過小,容易導(dǎo)致過擬合,k 值選擇過大會導(dǎo)致模型簡單,預(yù)測失誤。
選擇某區(qū)市場監(jiān)管局2019年數(shù)據(jù)進(jìn)行Knn 回歸預(yù)測,在k=5的情況下5 折交叉驗(yàn)證情況下的擬合情況圖如圖3所示。
使用5 折交叉驗(yàn)證對數(shù)據(jù)進(jìn)行回歸預(yù)測,得到的MAE 值分別為:11.48、12.096、6.15599、6.596、11.96,平均值為9.6576,表示實(shí)際結(jié)果比預(yù)測結(jié)果平均每天會有9 到10 件辦理件數(shù)的差距。以下為在不同k 值設(shè)置下的MAE 值的結(jié)果比較,通過不同k 值的取值得到的效果來看,對于k 值取得3 至5 的效果是較好的。如表2所示。
表1:多項(xiàng)式次數(shù)誤差表
表2:KNN 回歸誤差表
表3:GBRTmax_depth 取值誤差表
表4:Bagging 基學(xué)習(xí)器誤差表
GBRT 全稱是梯度提升回歸樹,是對于任意的可微損失函數(shù)的提升算法的泛化。GBRT 是一種集成方法,通過合并多個決策樹來構(gòu)建一個更為強(qiáng)大的模型。與隨機(jī)森林方法不同,梯度提升采用連續(xù)的方式構(gòu)造樹,每棵樹都試圖糾正前一棵樹的錯誤。默認(rèn)情況下,梯度提升回歸樹中沒有隨機(jī)化,而是用到了強(qiáng)預(yù)剪枝。梯度提升樹通常使用深度很小的數(shù),這樣模型占用內(nèi)存更少,預(yù)測速度也更快。其優(yōu)點(diǎn)在于對異構(gòu)特性數(shù)據(jù)的自然處理,強(qiáng)大的預(yù)測能力以及在輸出空間中對異常點(diǎn)的魯棒性。[4]其表達(dá)式如下:
以下為GBRT 最高樹高為3 的情況下5 折交叉驗(yàn)證情況下的擬合情況圖。使用隨機(jī)5 折交叉驗(yàn)證對數(shù)據(jù)進(jìn)行回歸預(yù)測,得到的MAE 值分別為:3.153299、3.615895、3.346077、3.395009、3.301559,平均值為3.362368。如圖4所示。
以下為在不同最高樹高值設(shè)置下的MAE 值的結(jié)果比較。通過對5 折交叉驗(yàn)證的MAE 值來看,其MAE 值能夠達(dá)到2.2704,表示實(shí)際結(jié)果比預(yù)測結(jié)果平均每天僅有2 件左右辦理件數(shù)的差距。綜合不同max_depth 值所消耗的資源與所得到的效果來看,較大的max_depth 會在一定程度上增加時(shí)間開支和導(dǎo)致過擬合問題。因此對于max_depth 的取值,在3~5 的效果是較好的。如表3所示。
Bagging 是最常見的集成學(xué)習(xí)框架之一。假設(shè)有一個數(shù)據(jù)集D,使用Bootstrap sample(有放回的隨機(jī)采樣)的方法取了k 個數(shù)據(jù)子集(子集樣本數(shù)都相等)作為新的訓(xùn)練集,對于回歸來說,新的觀測值可以通過眾多決策樹得到很多預(yù)測值,最終結(jié)果就是這些預(yù)測值的簡單平均。因?yàn)锽agging 僅僅是作為一種集成學(xué)習(xí)框架,因此就本質(zhì)而言Bagging 回歸算法的原理取決于其所采用的基學(xué)習(xí)器。這里使用的基學(xué)習(xí)器為決策樹。回歸決策樹主要指CART(classification and regression tree)算法,內(nèi)部結(jié)點(diǎn)特征的取值為“是”和“否”,為二叉樹結(jié)構(gòu)。所謂回歸,就是根據(jù)特征向量來決定對應(yīng)的輸出值。回歸樹就是將特征空間劃分成若干單元,每一個劃分單元有一個特定的輸出。因?yàn)槊總€結(jié)點(diǎn)都是“是”和“否”的判斷,所以劃分的邊界是平行于坐標(biāo)軸的。對于測試數(shù)據(jù),只要按照特征將其歸到某個單元,便得到對應(yīng)的輸出值。[5]CART 回歸樹表達(dá)式如下:
選擇某區(qū)市場監(jiān)督管理局進(jìn)行Bagging 的回歸預(yù)測,以下為5折交叉驗(yàn)證情況下的擬合情況圖。使用隨機(jī)5 折交叉驗(yàn)證對數(shù)據(jù)進(jìn)行回歸預(yù)測,得到的MAE 值分別為:3.0176,2.82,2.96,2.6612,2.858,平均值為2.86336。如圖5所示。
在不同基學(xué)習(xí)器設(shè)置下的三個部分的MAE 值的結(jié)果比較。通過5 折交叉驗(yàn)證的MAE 值得結(jié)果來看,其MAE 值達(dá)到2.8244,表示實(shí)際結(jié)果比預(yù)測結(jié)果平均每天會有2 到3 件左右辦理件數(shù)的差距。如表4所示。
MAE(平均絕對誤差)越小越好,越小說明預(yù)測的結(jié)果越準(zhǔn)確。從表1、表2、表3、表4 實(shí)驗(yàn)結(jié)果可以得到:MAE 依次為5.33655、9.6576、2.2704、2.8244。由于業(yè)務(wù)量數(shù)據(jù)受到許多不確定性因素的影響,因此預(yù)測出來的辦事量數(shù)據(jù)不可能和真實(shí)的數(shù)據(jù)完全一致,這時(shí)就需要進(jìn)行誤差分析,分析預(yù)測后的業(yè)務(wù)量數(shù)據(jù)是否在允許的誤差范圍內(nèi),本實(shí)驗(yàn)采用絕對誤差分析的方法。通過表1、表2、表3、表4 中的誤差結(jié)果計(jì)算得出,辦事流量預(yù)測的平均絕對誤差在2 件到10 件之間。尤其通過建立GBRT 回歸模型,預(yù)測數(shù)據(jù)已經(jīng)非常接近實(shí)際情況,可以對辦事流量進(jìn)行預(yù)測,并且具有較好的可參考性。
數(shù)據(jù)實(shí)驗(yàn)結(jié)果表明,GBRT 回歸算法能夠有效地對政務(wù)服務(wù)中心大廳業(yè)務(wù)量進(jìn)行預(yù)測,為實(shí)際應(yīng)用中的客流預(yù)測問題提供了良好的方法。本文對四種模型進(jìn)行了構(gòu)建,并進(jìn)行學(xué)習(xí)和訓(xùn)練,利用進(jìn)駐大廳的某區(qū)市場監(jiān)管局2019年每日辦件數(shù)量對預(yù)測模型進(jìn)行檢驗(yàn)。通過多項(xiàng)式回歸、KNN 回歸、GBRT 回歸、Bagging 回歸這4種預(yù)測模型進(jìn)行仿真,結(jié)果表明,基于GBRT 回歸的辦事業(yè)務(wù)量模型的預(yù)測誤差最小。因此,該預(yù)測模型可為政務(wù)服務(wù)中心大廳業(yè)務(wù)量的預(yù)測提供較好的參考,有助于政務(wù)服務(wù)中心效能提升。此外,為了更好地提高預(yù)測準(zhǔn)確性,需要對殘差進(jìn)行詳細(xì)分析,對于最大深度max_depth 的利用將是GBRT 回歸算法下一步要研究的問題。