周希杰,田博文,鄭宏飛,張 昱
(1.阜陽師范大學,安徽 阜陽 236041;2.徽商銀行股份有限公司亳州分行,安徽 亳州 236800;3.安徽職業(yè)技術學院,安徽 合肥 230011)
模型的成功率取決于數(shù)據質量和數(shù)量,由于受到可靠性和人為因素的影響,采樣人員采集的數(shù)據會存在異常等情況,如果直接用這些數(shù)據來預測會導致模型的成功率下降,而且輸入變量眾多且相互影響,所以必須對樣本數(shù)據進行預處理,對原始數(shù)據做異常值剔除、歸一化和缺失值處理等[1]。
如果直接波動較大的數(shù)據進行預測,將會導致預測成功率的下降,甚至預測結果完全偏離實際值,所以要剔除異常值,剔除方法采用的是拉依達準則,即3σ準則:當偏差大于3σ的時候,該數(shù)據為異常值,需要被及時剔除,σ的計算公式為:
當偏差大于3σ時,該數(shù)據為異常值,異常值的判斷準則如下:
因此,正常數(shù)據的范圍為xi>3σ+x和xi<x-3σ,剔除完剩下的即為正常值。
為了滿足數(shù)據的完整性,技術人員需填補缺失數(shù)據。常用的缺失值填充方法有隨機填補、均值法、中位數(shù)法、眾數(shù)法等數(shù)據填充,也有K-最近鄰法、回歸預測法、期望值最大法等建模數(shù)據填充方法。我們對數(shù)據進行了初步統(tǒng)計,部分特征變量的數(shù)據存在較多缺失值,數(shù)據缺失和在上述異常數(shù)據處理時剔除掉一些數(shù)據。數(shù)據缺失值的處理如下:ptc_15d:具有30 000個以上的缺失值,對缺失值樣本數(shù)據進行剔除;detect_prop_15d:具有18 000個以上的缺失值,對缺失值樣本數(shù)據進行剔除。
數(shù)據存在不同的量綱單位,因此數(shù)據大小差別非常大,數(shù)據范圍也不相同。差異較大會增大某些變量對預測結果的影響,同時會減弱某些變量對預報模型的影響,所以需要對剔除異常值后的數(shù)據進行歸一化。將所有數(shù)據都轉化為[0,1]之間的數(shù),可以消除因數(shù)據大小不一而造成的偏差,最后對模型計算結果進行反歸一化還原。數(shù)據的歸一化有很多方法,本文采用最大最小法進行歸一化處理,對數(shù)據進行歸一化處理的公式如下:
強化學習是機器學習中的一個領域,其基本思想是從環(huán)境中得到反饋而學習,即所謂的試錯學習方法。在學習過程中,智能體Agent不斷地嘗試進行選擇,并根據環(huán)境的反饋調整動作的評價值。研究發(fā)現(xiàn)傳統(tǒng)特征選擇算法存在著不足,或是選擇的特征子集在進行分類任務時準確率較低,或是選擇的特征子集規(guī)模較大。因此本文結合強化學習的決策能力和Wrapper特征選擇方法,提出了一種基于強化學習的特征選擇方法(Reinforcement Learning for Feature Selection,RLFS),將強化學習的學習和決策能力應用于特征選擇過程中,通過訓練學習得到特征子集,最后通過仿真實驗證明了RLFS方法具有良好的降維能力,并有較高的預測準確率,實現(xiàn)思路見圖1。
圖1 RLFS算法示意圖
步驟A到E所代表的處理過程如下:A)數(shù)據預處理,包括對原始數(shù)據集進行歸一化和離散化處理,得到訓練數(shù)據。B)計算每個特征的信息嫡和信息嫡均值,并將特征信息嫡高于信息嫡均值的特征記錄在信息嫡表中。C)計算每兩個特征Pearson相關系數(shù)以及Pearson相關系數(shù)的均值,將高于Pearson相關系數(shù)均值的特征對記錄在Pearson 表中。Pearson相關系數(shù)反映了兩個變量間的線性相關程度,是一種線性相關系數(shù)。假設,X,Y為隨機變量,兩個隨機變量的Pearson相關系數(shù)定義如下:
其中,,分別為X,Y的均值,px,y的取值在[-1,1]之間,該值反映了兩個變量線性相關性的強弱程度,其絕對值越大說明相關性越強。當其取值-1或1時,表示兩個變量完全相關,取值為0時,表明兩個變量不是線性相關,但可能存在其他方式的相關性。當兩個特征的Pearson相關系數(shù)絕對值較大時,兩特征中有冗余特征的可能性也較大。在特征選擇過程中計算特征間的Pearson相關系數(shù),剔除特征空間中相關系數(shù)較大的一對特征中的一個特征,盡量減少冗余特征。D)此步驟為Q學習算法中Agent進行迭代訓練學習并逐步進行決策的核心過程。將訓練數(shù)據和Pearson表以及信息嫡表代入Agent,Agent根據添加和刪除特征的動作所帶來的不同收益作出決策。E)當Agent訓練學習完成后輸出Q表,通過對Q表的分析得到經過RLFS算法選擇后的特征子集。經過Python編程計算可以得出指標的評分如圖2所示。
圖2 重要特征得分
由圖2可得出,影響國內污水監(jiān)測采樣點分布(得分大于1 000)的特征wwtp_id和population_served 2個特征,其中wwtp_id和population_served得分較高,是最重要的特征,其對各地區(qū)采樣點總數(shù)影響較大。由于wwtp_id和各地區(qū)采樣點總數(shù)基本類似,我們使用population_served進行分析。
為增加10個污水監(jiān)測采樣點,需要選擇最合理的位置設置污水監(jiān)測采樣點,并通過對已有采樣點進行評價,構建污水監(jiān)測采樣點綜合評價模型,評分越高,說明該地區(qū)污水監(jiān)測采樣點對污水的監(jiān)控不足,更需要增加,評價公式為:
其中Q代表缺陷程度得分,Sum代表wwtp_id計數(shù)值,Average代表population_served平均值。
通過繪制平均的population_served數(shù)據的QQ圖,鑒別樣本數(shù)據是否接近于正態(tài)分布。
圖3 Q-Q圖
觀察Q-Q圖發(fā)現(xiàn)大部分樣本點近似地分布在一條直線附近,因此可以判斷樣本數(shù)據近似于正態(tài)分布。
wwtp_id升序排列,部分計算數(shù)據見表1。
表1 Pearson相關系數(shù)數(shù)據
我們通過Matlab進行編程,得出wwtp_id與population_served 的相關系數(shù)為0.742,說明污水監(jiān)測采樣點分布的合理性不高。
通過計算得出污水監(jiān)測采樣點綜合評價得分,wwtp_id升序排列,部分數(shù)據見表2。
表2 缺陷評價得分
然后對評價得分進行降序排列,結果如圖4所示。
圖4 污水監(jiān)測采樣點綜合評價得分(得分降序排列)
挑選得分排名前十的作為污水監(jiān)測需要增加的十個采樣點,詳見表3。
表3 增加的十個采樣點
(1)首先對數(shù)據進行缺陷值、異常值以及歸一化等數(shù)據預處理,其次通過基于強化學習的特征選擇模型(RLFS),對特征進行篩選,最后通過計算特征與污水監(jiān)測采樣點的Pearson相關系數(shù),得出wwtp_id與population_served的相關系數(shù)為 0.742,說明污水監(jiān)測采樣點的分布合理性不高。
(2)通過污水監(jiān)測采樣點綜合評價對污水監(jiān)測采樣點進行評價,篩選出wwtp_id分別為 783、486、848、784、836、640、509、781、549和811的重要區(qū)域增加10個采樣點。