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