999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Spark計算模型的隨機森林的電話量預測研究

2015-12-02 02:28:36張洪偉
成都信息工程大學學報 2015年5期
關鍵詞:分類模型

王 琪, 張洪偉

(成都信息工程大學計算機學院,四川成都610225)

隨著通信的發展,各種業務的發展,各個中心的話務人員越來越多,按傳統的經驗進行排班,會導致人力資源的浪費或緊缺。電話量是安排話務員資源的前提,各大呼入中心可以針對不同的通話量安排對應數量的話務人員,在服務水平不降低情況下,優化資源配置,合理規劃企業結構。因此需要準確的預測通話量。當前的Spark計算模型在計算,迭代計算的數據挖掘場景下表現優異。以后通話量場景的數據會越來越多,非結構化數據會越來越復雜,所以使用Spark,對于以后的擴展很方便。機器學習算法大多數在內部實現的時候,都需要進行大量的迭代運算,所以Spark特性,使Spark特別適用大量迭代運算的機器學習算法。

1 Spark介紹

1.1 Spark 簡介

Spark是針對大規模數據處理的一種快速和通用的數據引擎[1]。有基于內存計算的特性,可以減少IO操作,大大提高數據處理的速度。以前基于Hadoop的大數據處理架構,針對各種場景,需要使用多套系統,Map Reduce適合于做批量工作,Storm應用于流式計算,Mahout做數據挖掘,hive做數據倉庫。這樣,在多個應用系統之間,必須要進行數據的存儲格式切換,這樣的模式會增加系統的復雜程度和壓力。但Spark基于Resilient Distributed Dataset,能夠適用于各種應用場景的混合計算。且RDD采用了記錄操作日志來實現容錯,避免checkpoint方式的網絡和磁盤開銷。這些特性允許Spark在一個程序中,應用迭代計算、圖型的計算、流式計算等,方式更靈活多變。

1.2 Spark的各個組件

使用Scala編寫算法。因為在解析Scala和實現算法的時候,用Scala速度最快,切合度最好。Spark的生態圈種類繁多[2],如圖1所示。

圖1 Spark的生態系統圖

有用于處理結構化數據的Spark SQL,類似與Hadoop的 hive,把不同數據源數據轉化成統一 SchemalRDD,這樣能夠使用統一的格式,高效率訪問和處理不同的數據源。

有用于數據挖掘的MLlib,在MLlib庫中包含了許多常見的機器學習算法,常見算法包括經典的羅輯回歸、決策樹(是C4.5算法)、貝葉斯等。

GraphX,可以做圖形計算,轉換成RDD,再做一些操作,實現圖算法。

還有做實時流式數據的Spark Streaming,其原理是把流式數據轉化成一小塊RDD,每次只處理這小塊的數據集。

Spark對開發人員提供了3種語言:支持最好的原生Scala,使用廣泛的Java和最近比較火的Python。這里使用Scala,兼容性更好。

1.2 Spark的RDD(彈性分布式數據集)

Spark提出一個高度抽象的概念RDD,相當于一個記錄集合[3]。RDD也可以如HDFS在穩定存儲中讀取數據而創建。Spark把要處理的數據,處理的中間結果和輸出都定義成RDD。且為處理大量的數據,還把RDD內的數據進行分區,分散到多臺節點上,以便之后并行處理數據。RDD默認是存在內存中,只有當數據大于Spark設置的閾值時,才會把數據溢寫到磁盤。Transformation可以看作是一組數據處理到另一個階段的狀態,如flatmap,groupby等操作,并沒有實際產生數據,Action是前面多個狀態到另一狀態的操作,如collect,count等操作。大部分業務邏輯或者數據處理都可以用DAG表示,有不錯的容錯機制。Transformation也叫做Narrow Transformation,窄依賴,Action也叫做Wide Transformation,寬依賴。圖2是Spark的調度情況。

圖2 Spark job的調度

2 通話量預測概述

2.1 通話量概念

通話量是用戶接入到呼叫中心的次數,反映用戶與中心的交互。在網絡發展的背景下,人們越來越愿意通過電話處理自己對應在該公司的服務。公司提供這種人性化的安排,大大滿足用戶對業務的需求,提升用戶在本場景中的體驗,但是也給自己帶來了人員配置、網絡流量等方面的壓力。如果話務員安排過多,會導致資源浪費,如果安排過少會導致用戶體驗下降,甚至流失這部分用戶。所以預測通話量,能優化資源配置,在最大限度滿足用戶需求的同時,實現資源的合理利用。

2.2 常見的預測方法

預測就是對還沒有發生的事物進行預先的估計和判斷,是通過以前發生的事物和現在發生的事物對以后發生的事物的一種探索。根據不同的需求和場景的復雜性,預測分為分析預測法和技術預測法[4]。

分析預測法是制作一個與相關事件的數學模型

假設Tm代表的是第m天的通話量,預測第M天的通話量,C是一個常數,ΔGu是從m+1天到第M天的通話量增長,還有其他因素,人口統計,工業,收費等。國內外有許多場景已經成功使用分析法,取得比較好的成果。分析模型是經營戰略。

技術預測法是把預測這個難題交給機器學習。常見的算法:(1)人工神經網絡[3],是由大量處理單元經廣泛互連而組成的人工網絡,用來模擬腦神經系統的結構和功能。神經網絡模型相當豐富,典型的有感知器模型,多層向前傳播網絡,BP模型,Hopfield模型,ART模型等。在模型中,每一個神經元接受多個輸入,經過函數與閾值,然后產生輸出。(2)支持向量機[5],特點是能夠同時最小化經驗誤差和最大化幾何邊緣。把輸入的向量通過核函數映射到一個高緯空間,在這個空間建立一個最大間隔超平面。適合解決非線性的回歸,分類等問題。但是缺點也很明顯,核函數的確定比較困難。

3 隨機森林算法介紹

談到隨機森林,就要談到組合算法,如圖3所示。現階段常使用的組合算法有2種。Bagging方式是讓挖掘算法訓練的輪數增加,每次的訓練樣本集合是從初始的訓練樣本中隨機取x個樣本和c個屬性出來訓練,某個訓練樣本可能會出現多次。訓練后可以得到r個弱分類器,如果是分類預測問題,那么采用投票方式綜合得出最終預測,如果是回歸預測問題,采用簡單的平均方式或者是加權平均方式。初始化權重時,常用的方式是,對不同的樣本賦予一樣的權重,為了公平,權重統一為1/n,接著用算法對該訓練樣本集訓練,使用部分測試數據測試,對于訓練失敗的樣本(分類出錯或者是回歸值與真實值相差太大)賦予較大的權重,然后對算法下面的訓練集中不好分類的樣本再次進行訓練,就是把分類出錯的樣本再次拿來訓練,從而得到一組弱分類器,其中每個分類器也是有權重的。最終的預測結果對于分類預測使用投票方式,對回歸預測使用加權方式。這兩種思想的不同在于,取樣的方式不同。但是由于Boost要迭代多次,而且Boost的各輪訓練集需要依賴前一次訓練的結果,是一種串行的算法,不能并行化,弱分類器只能按順序產生。如果對于時間耗費比較多的算法,Boost就不適合使用。從以上分析來看,文中采用可以并行化的Bagging方式。

圖3 集成學習法結構圖

隨機森林內部,主要是邏輯回歸樹,也有C4.5,對比于任意單個決策樹,多樹模型效果更好,主要體現在,模型穩定,不容易出現過擬合,準確性也有保障。隨機森林算法基于決策樹,決策樹在研究領域中是一種比較重要的算法模型。決策樹中的核心是純度計算方式,因為要選擇最好的分割點,是根據最后的類的純度來計算,因為是回歸預測,所以加入α這個閾值,如果在預測值和真實值的誤差在α范圍內,就認為是分類正確,在α范圍外就認為是分類錯誤。現在常用的有4種純度計算方式:基于概率的Gini系數,熵,錯誤率和基于波動的方差。定義為這些都表示純度,實際常用的是Gini系數,文中也采用Gini做純度運算。

隨機森林的基本原理[6]。弱分類器是邏輯回歸樹,橫向是采用放回抽樣的方法得到訓練樣本集,縱向是采用無放回隨機抽樣的方式得到訓練樣本的特征。根據劃分,計算純度,尋得最優切分點,這就是隨機森林的基本原理。

隨機森林單個弱分類器的訓練過程如下:(1)取樣方式使用Bag,選出每次的訓練樣本集,假設全訓練樣本集個數為N,有回放的抽取樣本集n來做這個弱分類器的訓練。(2)假設一共有M個特征,那么選擇m個特征作為這個弱分類器的樣本特征拿來訓練,m<=M。(3)讓這棵樹完全生長。(4)輸出結果,分類預測用投票,回歸預測用均值。

降低誤差的方式,在森林中,隨機的兩個弱分類器的相關度要小,降低此相關度可以減小森林的總體誤差率。降低單個分類器的誤差,增加準確性也可以提升隨機森林的效果。為了減少弱分類器的相關度,使用聚類算法,這里使用k-means,得到每個訓練的訓練樣本集,因為聚類算法的簇內相似,簇間最大化的間隔,會減少弱分類器之間的相似度。

隨機森林分為回歸應用與分類應用,通話量預測屬于回歸應用。隨機森林中包含了變量的交互作用,即一個自變量X1的變化會導致另一個自變量的X2對預測值Y的作用發生變化[7]。但是交互作用在其他模型中,如邏輯回歸,經常被忽略。在節假日的通話量中,通話量比較離群,但是隨機森林由于是多顆樹進行組合得出預測模型,對于這種干擾,表現穩定,不容易產生過擬合。

3.1 預測通話量的常用方法

3.1.1 ARMA預測模型

使用統計學中線性差分方差來描述。常用的是算法模型為自回歸滑動平均模型[8-10],常應用于時間序列。模型建立好后,就能用歷史數據和現在數據預測出未來的數據。ARMA模型中有2個重要參數p自然回歸項和q滑動平均項,公式為

其中φ和θ都是模型的參數,u是一個常數,ε是誤差項。在對原始數據處理后,通過數據的殘差序列,得到ARMA模型的各個參數值。在處理原始數據時,用相關性來表示兩個變量間的相似程度。線性相關,表示兩個變量使用線性方程的相關度,非線性相關表示兩個變量使用非線性方程的相關度。當前通話量和前一段時間、后一段時間的通話量存在依賴關系,可以使用相關函數來表達。但是效果不好,精度不高,模型不穩定。

3.1.2 SVM(支持向量機)預測

ARMA是使用統計分析的方法,是基于大數定律的分析方式,但實際生活中有各種情況,樣本數有限,這樣ARMA難以取得較好的結果。SVM的基本思想為[11]:通過核函數,把樣本空間從一個低緯的空間經過核函數映射到高維,把非線性的問題,轉成高維的線性問題來處理。它不但可以應用于分類預測,還可以用于回歸預測。當希望輸出的值為類別時,是分類問題,可以分為二分類和多分類,且SVM的多分類問題是化分為多個二分類處理的。當希望輸出的是連續值時,就是回歸問題,它就可以處理通話量的預測。但是找到適合業務場景的核函數比較困難,且模型效果也不是很高。

3.2 隨機森林預測通話量過程

3.2.1 構建特征

使用歷史的特征來預測將來的通話量,設置要預測的通話量為y。構造特征的方式如下[12]:(1)預測當天往前倒推T天,計算每天的通話量。(2)判斷預測當天具有的日期信息,如上旬,周末和節假日信息。(3)計算預測當前的同比環比。(4)使用線性回歸,得到增益值,也是一個趨勢值。(5)通話中心,當前用戶量和用戶的一些特征。

因為現在還沒有比較好的方法計算每個日期具有的節假日信息,比如春節等,所以日期緯度表是需要人工維護。使用線性回歸計算趨勢值,主要是根據往前推T的每天量,做一元線性回歸得到趨勢值,公式為[13]

3.2.2 建模過程

設置弱分類器個數為K,使用Gini系數作為類別純度計算方式。

以前隨機森林是隨機取每個弱分類的樣本,現在改成使用K-means聚類算法[14],把相似的樣本放在同一個弱分類器中做訓練。最后做組合的時候,使用均值組合方式。在模型訓練完成后,使用另外一組構建好特征樣本,經過模型訓練,最后使用精度、召回率、F[15]、方差和誤差波動評估模型。

數據來源為平安科技電話中心部分測試數據。圖4是日期和通話量的簡單二維關系圖。

圖4 部分通話量與日期關系圖

圖4簡單顯示日期和通話量的關系,這只是部分的數據。可以看出有一部分數據是有序穩定的,有一部分數據是跳躍比較大的,且周末數據和節假日數據明顯異常。所以用常規的線性回歸方式是不能很好地表示規律。

建模過程分為訓練和測試2個部分。在訓練階段,主要是根據計算好特征的樣本,使用o-z歸一化,kmeans劃分好k個弱分類樣本后,再進行隨機森林訓練。在訓練完成后,進入預測階段,測試數據經過剛才訓練好的預測模型得到預測值,然后使用真實值和預測值的殘差的方差、精度、召回率、F值來評估模型,最后根據真實值和預測值的誤差除以真實值來評估。

3.2.3 結果分析

在訓練過程中,分別使用不同簇類個數,來運行多次,其中訓練數據是前5年的數據,測試數據是下一個月的數據。多次運行后,選擇出測試效果最好的模型。圖5是真實值和預測值圖。

圖5 真實值和預測值圖

從圖5可以看出,在周末的時候,數據殘差會稍微大點。測試完后,使用之后幾個月的數據驗證,方差變化不大,在2000范圍內。但是都存在同一個問題,在預測周末與節假日數據時,誤差值會比平時大一點,這應該是表示周末和節假日的特征不夠完善和周末、節假日的突發性情況有關。

圖6是預測數據的誤差偏量圖。

圖6 誤差偏量圖

誤差偏量的平均值為7.1%,從平均偏差量可以看出,整體預測比較準確。把波動誤差在5000內的預測結果歸納為預測正確,5000以外的歸納為預測錯誤,計算得到精度,召回率,F值評價指標。各個算法的效果對比如表1所示。

表1 算法效果對比表

效果顯示改進的隨機森林算法比以前的算法有明顯的提升。尤其是在精度指標上,比沒有改進的算法提高了5%,且隨機森林和改進隨機森林的F值都比以前的單一算法預測效果好。

存在一個問題,可能會出現在某一天,預測值和真實值的誤差很高,但是比單獨使用線性回歸,SVM的誤差低點,可能是因為數據量不夠全,或者出現一種新的規律,在模型訓練的時候,沒有訓練到。這種情況出現后,可以重新進行模型訓練來解決。還有可能是沒有找到可以描述這種情況的特征。

4 結束語

主要對Spark和隨機森林進行研究,引入Kmeans算法作為隨機森林的橫向劃分,引入Bagging思想,并使用在預測通話量業務場景中,提升預測精度約5%。現實情況越來越復雜,很多時間可能會用到在線模型訓練,所以需要引入如Spark這種分布式計算模型來解決問題。隨機森林的功能強大、簡單,相信可以應用在更多的領域。

[1] 程浩,黃杰.Spark大數據處理技術[M].北京:電子工業出版社,2015.

[2] 耿嘉安.深入理解Spark:核心思想與源碼分析[M].北京:機械工業出版社,2015.

[3] 王曉華.Spark MLlib機器學習實踐[M].北京:清華大學出版社,2015.

[4] 陳蓉.話務量分析和多種預測模型的比較研究[M].北京:北京郵電大學,2008.

[5] 蔣盛益,李霞,鄭琪.數據挖掘原理與實踐[M].北京:電子工業出版社,2011.

[6] Yunming Ye,Qingyao Wu,Joshua Zhexue Huang.Stratified Sampling For Feature SubSpace Selection In Random Forests For High Dimensional data[J].Pattern Recognition,2013,46(3):769-787.

[7] 李欣海.隨機森林模型在分類與回歸分析中的應用[J].應用昆蟲學報,2013,50(4):1190-1197.

[8] George Box,Gwilym M,Jenkins et al.Time Series Analysis:Forecasting And Control[J].Journal of the American Statistical Association,2016,68(342):343-344.

[9] Mills,Terence C.Time Series Techniques For E-conomists[M].Cambridge University Press,1990.

[10] Percival,Donald B,Andrew T Walden.Spectral Analysis For Physical Applications[M].Cambridge University Press,1993.

[11] Limeng Cui,Yong Shi.A Method Based On Oneclass SVM For News Recommendation[J].Procedia Computer Science,2014,31:281-290.

[12] 曹國,沈利香,基于案例推理的銀行零售客戶價值細分模型構建[J].財會月刊:理論版,2011,33:18-22.

[13] Zhizheng Liang,Youfu LimShiXiong Xia.Adaptive Weighted Learning For Linear Regression Problems Via KullBack-Leibler Divergence[J].Pattern Recognition,2013,46(4):1209-1219.

[14] Shigei,Miyajima,Maeda.Bagging and Ada Boost algorithms for vector quantization[J].Quantization,Neurocomputing,2009,73(1-3):106-114.

[15] 陳沛玲.決策樹分類算法優化研究[D].長沙:中南大學,2007.

猜你喜歡
分類模型
一半模型
分類算一算
垃圾分類的困惑你有嗎
大眾健康(2021年6期)2021-06-08 19:30:06
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
分類討論求坐標
數據分析中的分類討論
教你一招:數的分類
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
主站蜘蛛池模板: 欧美黑人欧美精品刺激| 九九这里只有精品视频| 亚洲视频三级| 國產尤物AV尤物在線觀看| 亚洲专区一区二区在线观看| 动漫精品啪啪一区二区三区| 欧美国产视频| 欧美日韩免费观看| 国模粉嫩小泬视频在线观看| 啪啪国产视频| 色噜噜狠狠狠综合曰曰曰| 狠狠干欧美| 成人字幕网视频在线观看| 亚洲a级在线观看| 亚洲第一色网站| 91成人在线观看| 亚卅精品无码久久毛片乌克兰| 久久毛片免费基地| 欧美成人午夜影院| 亚洲国产精品国自产拍A| 精品丝袜美腿国产一区| 国产日产欧美精品| 无码国内精品人妻少妇蜜桃视频| 萌白酱国产一区二区| 国产在线一区二区视频| 99视频在线观看免费| 国产又大又粗又猛又爽的视频| 尤物在线观看乱码| 国产激情无码一区二区三区免费| 黄色免费在线网址| 亚洲一级无毛片无码在线免费视频| 亚洲三级视频在线观看| 国产在线观看91精品| www.日韩三级| 99成人在线观看| 大乳丰满人妻中文字幕日本| 久久五月视频| 亚洲91在线精品| 97视频在线精品国自产拍| 久久亚洲黄色视频| 91在线无码精品秘九色APP| 亚洲二三区| 亚洲免费毛片| 色AV色 综合网站| 成年人国产视频| 欧美激情视频一区二区三区免费| 精品一区二区三区中文字幕| 免费无码AV片在线观看国产| 蜜桃视频一区二区| 中文国产成人精品久久| 亚洲无码高清视频在线观看| 国产高清又黄又嫩的免费视频网站| 亚洲黄色高清| 日本AⅤ精品一区二区三区日| 青青久在线视频免费观看| 亚洲精品午夜无码电影网| 无码一区二区三区视频在线播放| 成人在线观看不卡| 欧美日韩专区| 国产免费人成视频网| 色爽网免费视频| 欧洲成人免费视频| 伊人久久精品无码麻豆精品 | 91小视频在线播放| 黄色a一级视频| 国内精品视频| 中文字幕免费在线视频| 国产尤物在线播放| 国产白浆在线| 国产第一页免费浮力影院| 免费在线一区| 日韩少妇激情一区二区| 毛片在线看网站| 久久婷婷人人澡人人爱91| 国产尹人香蕉综合在线电影| 免费国产高清视频| 无码内射在线| 国产欧美日韩18| 国产乱子伦无码精品小说| 精品久久综合1区2区3区激情| 理论片一区| 亚洲精品国产成人7777|