蔣金瑜




摘要:產品質量預測是產品質量控制的重要組成部分,從產品生產數據中挖掘產品質量信息,建立產品生產數據與產品質量之間的預測模型,對提高產品質量,降低生產成本具有重大意義。針對產品生產數據的高維,高不平衡性特點,提出PCA_NearMiss降采樣算法,通過PCA算法降低數據維度,再通過NearMiss算法提取出具有代表性的樣本,在平衡數據的同時保證數據信息的完整性,最后用選出的樣本對XGBoost模型進行訓練和測試。使用博世產品生產數據作為實例進行驗證,說明了算法的有效性。
關鍵詞:PCA;NearMiss;XGBoost;質量預測
中圖分類號:TP181? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼:A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文章編號:1674-957X(2021)01-0122-02
0? 引言
在制造業中,產品質量的監測和控制是至關重要的。隨著傳感器技術和物聯網技術的快速發展,大量工廠通過對制造過程的實時監測,來提高生產力和競爭力[1]。如何從工廠采集的大量數據獲取產品質量信息,逐漸成為企業的重點工作。來自不同信息源的海量數據讓分析變得極具挑戰性。機器或傳感器故障、噪聲、斷電等問題導致數據缺失,可能會嚴重影響模型效果。在實際生產過程中,對每個產品記錄的生產數據往往高達上千維度,而且產品中的次品數量遠低于合格產品的數量,而機器學習模型對數據平衡性具有很高要求。數據的冗余和高不平衡性會導致模型效果大大下降,對原始數據進行降采樣,保證數據模型訓練數據相對平衡,降低訓練數據相關性,對模型效率和效果的提升具有重要意義。
1? PCA_NearMiss
NearMiss算法可從大量的正樣本中選取具有代表性的樣本。首先計算每個正例樣本與負例樣本之間距離,選擇每個正例距離最小的前k個負例近鄰,再計算正樣本與其對應的近鄰之間的平均距離,保留平均距離最小的那些正例樣本,實現對數據的降采樣。NearMiss降采樣算法目的是在信息相似的樣本中根據需要采樣的比例僅保留少數具有代表性的樣本,因此可在大量減少多數類樣本的同時保持整體數據的信息。
為了解決產品質量數據的高不平衡性,通常采用降采樣的方法。降采樣在減少正樣本數量平衡數據的同時,還需最大程度的保留原始數據的信息。每件產品在生產過程中記錄的數據往往具有很高的維度,而基于距離的降采樣算法對高維數據降采樣質量很差。為提高降采樣對高維數據的適用性,采用PCA降維算法降低原始數據維度,提高數據信息密度,提高不同樣本之間的區分度,再通過NearMiss算法對降維后的數據進行降采樣,得到最終參與模型訓練的樣本。
2? XGBoost
極端梯度提升算法(XGBoost),是一種基于分類和回歸樹集成的模型[3]。在XGBoost算法中,通過梯度提升優化樹模型。令樹模型的輸出為:■,其中,x為輸入向量,wq為對應葉節點q的分數。K個樹模型集成的輸出為:
利用梯度對損失函數進行二階近似,求出最優權重w,則目標函數的最優值為:
3? AUC
觀測者操作特性曲線(receiver operating characteristic curve,ROC),常用于說明二分類模型在不同閾值條件下的分類能力。ROC曲線的橫坐標為假陽性率FPR,表示在所有正例中,模型錯誤的把正例預測成負例的數量占負例總數的比例。縱坐標為真陽性率TPR,其含義為在所有負例中,模型的預測輸出值為負例的數量占正例總數的比例。ROC曲線下方區域的面積AUC用于區分模型的效果,AUC值越大說明模型效果越好。當AUC小于0.5,即ROC曲線在左下方時,表示分類器總是分成錯誤的類。AUC接近0.5時,說明分類器為隨機猜測。通常情況是AUC大于0.5的情況,且AUC值越大,說明模型區分正負例的能力越強,模型預測效果越好。AUC值即使在數據不平衡的情況下,也能同時反應分類模型區分正例和負例的能力。
4? 實驗驗證
為驗證模型對產品質量預測的有效性,使用kaggle競賽“Bosch Production Line Performance”數據集作為訓練和驗證數據。該數據集包含1183747個產品樣本數據,每個樣本包含968個數值特征,2140個類別特征,1156個時間特征,由于類別特征缺失率高于99%,時間特征數據信息密度低,在本次實驗中只選用數值特征進行進一步處理和模型訓練。所有數值特征均經過匿名處理,特征名稱形式為L0_S20_F45,其中L1表示生產線,S20表示測量值所屬的站別,F45為測量編號。在PCA_NearMiss算法中PCA降維維度設為100,NearMiss近鄰數設為3。并具有表示產品質量的標簽,其中0表示合格,1表示不合格。不合格產品樣本占樣本總數的0.58%,即正例樣本與負例樣本的比例為172:1,數據極端不平衡,經過降采樣后,正例與負例樣本的比例為4:1。此外,數據集中數據缺失率達到78.5%,在本次實驗中,對缺失數據進行零值填充。
5? 實驗結果
為驗證PCA_NearMiss降采樣算法的有效性,對隨機降采樣(RUS)和PCA_NearMiss降采樣后的樣本進行PCA降維可視化,可視化結果如圖1所示。從圖1中可以看出,經PCA_NearMiss降采樣后的正負例樣本較隨機降采樣更具有區分性。
分別將隨機降采樣和PCA_NearMiss降采樣后的樣本,劃分成訓練集和測試集,訓練集占降采樣后樣本的80%,測試集占20%,最終訓練集樣本數為26749,訓練集樣本數為6688。并使用相同參數的XGBoost模型作為分類器,XGBoost模型,學習率設為0.1,每棵樹隨機采樣的比例為0.8,最大深度為3,最小葉子節點權重和為1。實驗結果如圖2所示。
從圖2中可以看出,PCA_NearMiss對應的ROC曲線位于隨機降采樣的左上方且靠攏(0,1)點,AUC值為0.96,大于隨機降采樣的AUC值0.72,說明PCA_NearMiss降采樣的效果比隨機降采樣效果更好。
6? 結論
針對產品生產數據高維、高不平衡的特性,采用PCA_NearMiss降采樣算法,能從大量的產品數據中選擇出具有代表性的樣本,并有效平衡正負例數據。通過降采樣后的數據對XGBoost算法進行訓練,可實現對產品質量的有效預測。
參考文獻:
[1]賀正楚,潘紅玉.德國“工業4.0”與“中國制造2025”[J].長沙理工大學學報(社會科學版),2015,30(3):103-110.
[2]劉振宇,李偉光,林鑫,等.基于PCA和希爾伯特譜的柔性薄壁軸承故障診斷研究[J].機床與液壓,2019(16).
[3]Chen T, He T, Benesty M, et al. Xgboost: extreme gradient boosting[J]. R package version 0.4-2, 2015: 1-4.