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