周可杰 吳豐順 楊卓坪
(華中科技大學(xué)材料科學(xué)與工程學(xué)院 材料加工與模具技術(shù)國家重點實驗室,湖北 武漢 430074)
高團芬
(華宇華源電子科技(深圳)有限公司,廣東 深圳 518118)
萬 楊
(微納米晶體加工技術(shù)湖北省重點實驗室,湖北 隨州 441300)
近年來,印制電路板(PCB)市場為以訂單需求為導(dǎo)向,企業(yè)也從大規(guī)模生產(chǎn)模式,轉(zhuǎn)變?yōu)獒槍μ囟ǖ目蛻粜枨?,主動提供個性化、定制化的產(chǎn)品和服務(wù)[1]。對于PCB生產(chǎn)企業(yè)精準確定投料面積,將是影響企業(yè)上下游生產(chǎn)成本的重點。
每個訂單的投料量需要綜合考慮車間物料、生產(chǎn)過程、產(chǎn)品庫存、廢料回收、余料入庫和延期的成本。企業(yè)工程師通過分析產(chǎn)品的歷史報廢率來預(yù)測新訂單的預(yù)投料面積。但是隨著個性化需求的提升,由人工分析的方式導(dǎo)致的超投與補投現(xiàn)象造成了企業(yè)成本居高不下。
劉東[2]等人利用數(shù)學(xué)模型來實現(xiàn)精準預(yù)投料的研究,根據(jù)統(tǒng)計學(xué)的方法,計算得到預(yù)大率預(yù)測數(shù)學(xué)公式,對投料預(yù)大率進行預(yù)測。
張學(xué)功[3]采用大數(shù)據(jù)技術(shù)對PCB投料系統(tǒng)進行優(yōu)化,通過采用多元線性回歸的方法,結(jié)合ERP系統(tǒng)中的PCB的詳細生產(chǎn)參數(shù)進行數(shù)學(xué)建模。該方法得到了線性回歸計算表達式,有效地降低了企業(yè)的報廢率,為企業(yè)節(jié)約了成本。
呂盛坪[4]基于車間的歷史生產(chǎn)數(shù)據(jù)展開數(shù)據(jù)挖掘,利用假設(shè)檢驗的方法選擇報廢率建模的最優(yōu)參數(shù),根據(jù)補投率與余數(shù)入庫率設(shè)計加權(quán)評價指標,對比了多元線性回歸、卡方自動相互作用檢測器、人工神經(jīng)網(wǎng)絡(luò)和支持向量機等模型的預(yù)測能力。鄭彬彬[5]在呂盛坪的基礎(chǔ)上對算法進行了改進,提出結(jié)合自組織映射(SOM)——反向傳播網(wǎng)絡(luò)的預(yù)測機制,通過SOM對生產(chǎn)數(shù)據(jù)進行聚類分析,設(shè)計特征優(yōu)選算法提取影響報廢率的關(guān)鍵屬性,在各個評價指標上均有明顯的提升。
機器學(xué)習建模過程通??梢苑譃樘卣鞴こ膛c模型訓(xùn)練的階段。機器學(xué)習的算法決定了預(yù)測結(jié)果的下限,而數(shù)據(jù)的特征工程可以決定模型預(yù)測的上限。
本文將著重分析預(yù)大率數(shù)據(jù)集的特征工程方法,獲得最優(yōu)化的預(yù)測模型。
PCB企業(yè)具有良好的信息化基礎(chǔ),ERP系統(tǒng)中存有完整的生產(chǎn)參數(shù)數(shù)據(jù)集。報廢率是企業(yè)生產(chǎn)過程中直接的統(tǒng)計指標,企業(yè)通過報廢率來確定合理的投料預(yù)大率。因此針對企業(yè)報廢率采用機器學(xué)習算法建模,預(yù)測PCB生產(chǎn)的平均報廢率。報廢率主要考慮歷史報廢率與干擾因素伴隨的噪聲兩個方面的影響。
針對復(fù)投訂單,可以結(jié)合該產(chǎn)品的歷史報廢率進行分析預(yù)測,但是訂單數(shù)量以及其他不可控的噪聲因素也可能導(dǎo)致報廢率出現(xiàn)誤差波動。而對于新投訂單,由于缺少相應(yīng)的歷史報廢率的參考,只能結(jié)合結(jié)構(gòu)與工藝相似的訂單做出分析預(yù)測。企業(yè)歷史報廢率的統(tǒng)計計算公式如式(1)。
式中,bfmj為訂單報廢面積的累計值,klmj為訂單開料面積的累計值。
雖然ERP系統(tǒng)中詳細的生產(chǎn)資料數(shù)據(jù)能為建模提供數(shù)據(jù)支撐,但是ERP中導(dǎo)出的數(shù)據(jù)集特征參數(shù)較多。
因此需要分析數(shù)據(jù)集的特征,提取有價值的特征,對特征降維,減少模型的訓(xùn)練成本并增強模型的泛化能力。對于影響模型準確度的干擾因素,應(yīng)對訓(xùn)練數(shù)據(jù)篩選去噪,減少數(shù)據(jù)噪聲造成的模型準確度的波動。
模型在提供預(yù)測報廢率后,對于復(fù)投訂單,預(yù)投量還需考慮客戶訂單數(shù)量、贈品數(shù)量、余料數(shù)量等倉儲因素。而PCB在生產(chǎn)時,投料面積將按照整塊板生產(chǎn),需要對預(yù)投數(shù)量按照PNL進行向上取整。設(shè)計的投料預(yù)大率預(yù)測算法中也需要加入相應(yīng)的處理流程。
本文的投料預(yù)大率數(shù)據(jù)集來源為某企業(yè)ERP系統(tǒng)。首先根據(jù)該數(shù)據(jù)集訓(xùn)練獲得基于LightGBM[6]的模型基線(Baseline)。再對數(shù)據(jù)集數(shù)據(jù)進行數(shù)據(jù)分析、特征工程,以均方誤差(Mean Squared Error,MSE)為評價指標,對Baseline進行不斷優(yōu)化,獲得最優(yōu)化的投料預(yù)大率模型。
從ERP系統(tǒng)直接導(dǎo)出的數(shù)據(jù)集量大、信息復(fù)雜。故首先在小數(shù)據(jù)集的基礎(chǔ)上進行分析,設(shè)計投料預(yù)大率的建模流程。抽取企業(yè)某個月的投料預(yù)大率數(shù)據(jù)集Data,數(shù)據(jù)集中含有訂單數(shù)量、訂單面積、單元面積、工序數(shù)等48類特征參數(shù)。
對于需要預(yù)測的報廢率,數(shù)據(jù)集并未記錄實際投產(chǎn)數(shù)量,而是對實際生產(chǎn)面積以及入庫面積進行了記錄。因此將首次入庫面積、首次投料面積、報廢面積、投料面積四個參數(shù)根據(jù)式(2)計算平均報廢率。
式中pjbfl為平均報廢率;scbfmj為首次報廢面積;sctlmj為首次投料面積;bfmj為報廢面積;tlmj為投料面積。
對于單次投料生產(chǎn)的訂單,由于其單次投產(chǎn)面積已經(jīng)滿足所有生產(chǎn)面積的需求,不需要進行二次投料,即首次報廢率等于平均報廢率。對于需要補投的二次投料訂單,采用首次報廢率與總報廢率進行平均的方法,得到pjbfl平均報廢率。將預(yù)測目標平均報廢率標記為Target。首先對特征進行相關(guān)性分析,分析影響平均報廢率的特征的相關(guān)性強弱。計算得到數(shù)據(jù)集的相關(guān)系數(shù)后發(fā)現(xiàn),特征的總體相關(guān)性較弱。選取相關(guān)系數(shù)絕對值較大的特征,繪制相關(guān)系數(shù)熱力圖1。
圖1 數(shù)據(jù)相關(guān)性熱力圖
從熱力圖1中看出,外層最小間隙、外層最小線寬等對產(chǎn)品報廢率相關(guān)性較大的結(jié)構(gòu)特征,反而與預(yù)測目標Target的相關(guān)性系數(shù)較小。分析數(shù)據(jù)后發(fā)現(xiàn),該數(shù)據(jù)集直接來源于ERP數(shù)據(jù)庫,完整記錄了生產(chǎn)過程中的所有參數(shù),但導(dǎo)致數(shù)據(jù)集存在較多的數(shù)據(jù)缺失值與數(shù)據(jù)異常值。圖2為預(yù)大率數(shù)據(jù)集中部分空缺特征統(tǒng)計柱狀圖。
圖2 預(yù)大率數(shù)據(jù)集空缺值統(tǒng)計柱狀圖
其中贈品數(shù)、復(fù)合表面處理特征列為空,即ERP系統(tǒng)中存在但未記錄該特征,因此直接將該類特征刪除。余數(shù)數(shù)量的大范圍空缺,分析后判斷是ERP系統(tǒng)輸出零值格式問題,因此將空缺值按0值進行填充。針對孔到線、歷史報廢率、人員流程率、外層銅厚等少量的空缺值數(shù)據(jù),由于LightGBM算法可以直接對空缺值數(shù)據(jù)處理,暫時不對其做處理。而針對孔徑比、外層最小間隙、外層最小線寬、內(nèi)層最小線寬、內(nèi)層最小間隙、孔銅厚度等出現(xiàn)大范圍缺失且較為重要的特征,需要進行具體分析,探究填充空缺值的最佳方案。且該類存在大量缺失特征的特征列,其同樣存在較多的異常值。因此為選取最優(yōu)化的空缺值與異常值處理方法,直接對預(yù)處理后的數(shù)據(jù)集采用基于LightGBM算法初步建模,采用十折交叉驗證訓(xùn)練得到建?;€Baseline,Baseline的MSE為0.0142。
對數(shù)據(jù)集的特征工程方法,將直接影響到投料預(yù)大率預(yù)測模型預(yù)測能力的上限。在初步對該數(shù)據(jù)集的分析后發(fā)現(xiàn),數(shù)據(jù)集復(fù)雜,其中存在大量的空缺值與異常值。因此以Baseline作為基準,在Baseline的基礎(chǔ)上對模型進行優(yōu)化,確定優(yōu)化的特征工程方法。將孔徑比、外層最小間隙、外層最小線寬、內(nèi)層最小線寬、內(nèi)層最小間隙、孔銅厚度六個特征刪除異常點并繪制箱型圖如圖3(a)所示。其中孔徑比的數(shù)據(jù)分布較為均衡,而孔銅厚度特征,在樣本中出現(xiàn)了少量特殊的樣本點,為減少特殊樣本對模型訓(xùn)練的影響,將該類特殊樣本直接剔除。其中外層最小間隙、外層最小線寬、內(nèi)層最小間隙、內(nèi)層最小線寬為明顯的長尾偏態(tài)分布,數(shù)據(jù)明顯“左偏”。針對長尾分布的特征,采用Log化進行處理,處理后的特征數(shù)據(jù)分布如圖3(b)所示。
圖3 特征工程前后結(jié)構(gòu)特征變化箱式圖
處理后的特征的箱式圖的分布更接近與正態(tài)分布,未出現(xiàn)明顯的偏態(tài)分布,將處理后的數(shù)據(jù)集采用十折交叉驗證,模型的MSE從0.0142提升至0.0114,模型的預(yù)測誤差減小19.72%。
同樣呈現(xiàn)偏態(tài)分布的還有模型的預(yù)測目標平均報廢率。同樣采用Log的方法處理,圖4為初始報廢率與Log處理后的報廢率分布柱狀圖,經(jīng)過Log處理后,數(shù)據(jù)的分布更加穩(wěn)定。
圖4 預(yù)測目標Target分布柱狀圖
LightGBM模型可以對空缺值數(shù)據(jù)自動的分割子樹節(jié)點,但是算法對空缺值的處理方法并不一定能夠得到最優(yōu)化的算法模型,因此采用窮舉的方法研究數(shù)據(jù)集空缺值的填充方法。常見的數(shù)據(jù)集填充方法有直接填充零值、填充平均值、填充中位數(shù)。將關(guān)鍵的數(shù)值型特征填充空缺值分析,結(jié)果如表1所示。根據(jù)表1的結(jié)果,對各類特征值選取最優(yōu)的特征填充方法,將數(shù)據(jù)集進行填充,最終得到了可以用于建模的特征工程后的預(yù)處理數(shù)據(jù)集。最后通過對算法模型進行參數(shù)調(diào)優(yōu),選取合適的模型調(diào)優(yōu)手段,獲得模型的最優(yōu)化訓(xùn)練參數(shù)。在投料預(yù)大率預(yù)測的模型調(diào)優(yōu)的過程中,模型的評價函數(shù)MSE變化趨勢如圖5所示。經(jīng)過對特征工程與模型優(yōu)化,模型在驗證集上的誤差不斷下降,模型的預(yù)測能力得以提升。
圖5 均方誤差變化柱狀圖
表1 不同填充方法的模型的預(yù)測誤差MSE
將數(shù)據(jù)處理、特征工程、模型訓(xùn)練、超參數(shù)調(diào)優(yōu)的過程進行封裝。編寫輸入輸出接口,良好的圖形展示與人機交互界面,并將模型部署至客戶端數(shù)據(jù)分析主機。將機器學(xué)習建模數(shù)據(jù)集輸入程序中,程序?qū)⒆詣訉?shù)據(jù)集進行數(shù)據(jù)處理與分析,在后臺進行機器學(xué)習建模。當有新訂單時,工程師可以將數(shù)據(jù)輸入界面,通過手工輸入或者EXCEL批量導(dǎo)入數(shù)據(jù)。選取測試集數(shù)據(jù)測試,經(jīng)測試后,算法模型能夠穩(wěn)定運行,軟件界面中直接顯示預(yù)測投料片數(shù),能夠完成PCB投料預(yù)測流程。
針對投料預(yù)大率預(yù)測問題,設(shè)計并實現(xiàn)了基于機器學(xué)習的投料預(yù)大率預(yù)測程序。通過對基于LightGBM算法的Baseline的優(yōu)化,獲得了最優(yōu)化的投料預(yù)大率預(yù)測算法。并將該預(yù)測流程封裝為預(yù)測軟件,完成對預(yù)測算法的測試。合適的數(shù)據(jù)分析方法,可以深度挖掘PCB企業(yè)現(xiàn)有數(shù)據(jù)集的數(shù)據(jù)價值。PCB企業(yè)堅實的數(shù)據(jù)基礎(chǔ),能夠為PCB企業(yè)的智能化轉(zhuǎn)型提供重要指導(dǎo)。
本研究感謝國家自然科學(xué)基金資助(62074062),感謝湖北省重點研發(fā)計劃資助“高性能、超高頻石英晶體器件(VCXO)制造工藝研發(fā)”(2020BAA4)基金資助。