游長莉 唐成章 胡江宇
1.興義民族師范學院 貴州省興義市 562400 2.武漢紡織大學機械工程與自動化學院 湖北省武漢市 430200
汽油是小型車輛的主要燃料,車輛保有量的增加,汽油燃料需求日益增加,燃燒其產生的尾氣污染問題也日漸突顯。辛烷值是反映汽油燃燒性能的重要指標,由于現有脫硫技術在對汽油進行處理時,都會降低其辛烷值,進而造成巨大的損失。為了汽油得到最優的利用,在建模過程中研究如何滿足操作變量的多樣性、對原料分析的高要求及過程優化響應的及時性研究如何在滿足汽油脫硫效果的同時( 硫含量不大于5μg/g),實現降低汽油辛烷值損失在30% 以上。傳統的汽油辛烷值測定法采用ASTM-CFR 標準方法對汽油進行分析,操作和維護運行費用高,也有許多研究者采用紅外光譜,可用于在線分析、檢測成本低等優點,但是得到的操作位點較多,存在許多不確定因素的影響,應用受到一定的限制。目前處理汽油辛烷值的方法可以采用基于統計的方法(如:皮爾森系數、F 值等) 或者基于模型的方法( 如:決策樹、隨機森林等),而采用機器學習中基于模型則更加全面分析降低汽油辛烷值的目的。可通過建立相關數學模型來對主要變量進行優化以達到降低辛烷值損失值的目的。針對辛烷值異常數據診斷,可對異常值進行整體修復,但魯棒性較低;綜合前期學者研究,大多針對辛烷值數據修復研究較為分化,沒有完整的數據處理體系,模型遷移能力有待提高。針對上述問題,本文提出改進ARMAXGBoost 算法構建出一種綜合數據清晰、奇異值、缺失值及異常值處理的辛烷值數據集成處理框架對辛烷值數據進行處理。
本文原始數據采集來自某實時數據庫。根據所采集到的原始數據進行分析,得到多變量大樣本數據(325 個樣本、367個操作變量),在原樣本中存在一些異常值、缺失值。對本文所用數據提出基于XGBoost 的缺失值填補及基于隨機森林的異常值檢測算法兩種算法方案,整體處理流程如圖1 所示。

圖1 整體框架處理流程
每個樣本數據包含兩個小時內354 個操作點位記錄的實時數據,采樣間隔為三分鐘。首先對原始數據根據位點操作范圍進行閾值篩選,去除在閾值范圍外的數據,再對經過篩選的無超綱數據進行缺失值填充。根據位點操作范圍對超出范圍的數據進行剔除,再通過隨機森林模型對點位中的部分缺失數據進行預測填補后,使用隨機森林算法對數據中的異常值進行提取,對提取到的異常值傳入XGBoost 模型進行修正,最終得到有效性較高的樣本原始數據,再對其求均值后,對原樣本數據進行替換。
缺失值填充方式主要有單變量缺失值插補和多變量聯立的缺失值差補,針對存在缺失值的操作位點數據,使用XGBoost回歸模型的缺失值預測模型預測的數據填補缺失值。與原始GBDT 相比在代價函數加入正則化項,而且XGBoost 在解決分類問題及回歸問題中都具有較好的表現,數據預處理流程如圖2 所示。

圖2 數據預處理流程圖
在Boosting 算法中,每次預測結果都和上一次預測結果相關,如(1)式。



對公式(2)進行泰勒展開得:

其中,

優化 tan項去后得:



因 為和為復雜度參數。決 定XGBoost 的樹是否繼續分叉,而控制著正則化的權重。在設置時需要根據實際情況而定。
對公式(6)進一步泰勒展開得到:

為繼續求解,設定:

根據公式(8),將(7)轉化為:

根據上述公式獲得第個葉子的最優值和目標函數的最優解

求得最優解后,確定穩定的XGBoost模型。
XGBoost 的改進:關于和值的設定,為避免隨機選擇不確定性消耗大量運算時間,引入網格搜索算法,將和的可能值作為組合產生網格,結合十折交叉驗證方法,對網格中可能的和組成進行搜索優化,獲得最優的和組合,從而根據(9)和(10)式快速獲得XGBoost 最優解。

1)特征提取整體流程
在篩選特征變量之前,對樣本數據進行無量綱化處理,避免各變量閾值范圍差異過大導致篩選過程中產生影響篩選準確性的噪聲。
首先根據拉依達準則,對樣本數據中的異常值進行剔除。經過拉依達準則對樣本數據中的特征變量異常值進行檢測后,部分變量密度曲線及異常值散點圖如圖3所示。散點圖中紅點表示異常數據。需對該數據進行剔除。

圖3 部分變量密度曲線及散點圖


圖4 特征矩陣構建流程
ARMA 模型曾廣泛應用于時間序列的分析和預測,基于其公式計算出未來時刻的最大可能發生的值。嘗試利用ARMA 模型來捕獲每個操作位的顯式和隱式特征屬性,每個特征都由一個唯一的參數向量代表,且該向量具備了該特征的序列中的隱含屬性,將顯式和隱式特征屬性均體現在了參數向量中。在建模過程中,可根據具體序列的特性定階,階數也是模型參數。利用ARMA 將序列映射到歐氏空間中,并可由其對應的向量唯一確定。為了在后續步驟中提供盡可能多的方法接口,我們在此處引入了圖神經網絡模型,并以圖網絡的形式對問題建模。目的在于尋找354 個可變操作位中,對RON 損失影響最大的前n 個操作位,其中各個操作位間具有不同程度的聯系和影響,每個操作位可視為一個節點,而操作位間的影響可經過歸一化后視為節點間邊的權重。依據以上,可將全部樣本建模為354+1(354 為可操作變量,1 為目標對象)個節點的完全無向加權圖,共325 幀。
利用以上特性,可將多個特征對目標對象的影響程度分析并提取主要特征的問題,轉換成對一個維數為(355,325)的圖中多個節點的參數向量間影響因子的分析并尋找影響程度較大節點的問題。在此問題中,我們將對各個節點進行圖建模,并利用ARMA 對各個節點進行參數向量求取,最后利用參數向量分析出各個節點對目標對象的影響程度。我們設計了算法1來實現該處細節, 算法1 如下所示:

此處,在進行ARMA 建模前還需對原始數據進行判別和整定,對于ARMA 建模,需要進行數據平穩化處理,目的在于剔除掉序列中的趨勢項。在此問題中,各個操作位的特征向量均是按照時間序列排成的,所以可能在實際工廠的操作中,會有時間趨勢隱藏在操作位的變化中。該處的各個序列具有時間結構,所以對于具有時間結構的序列,完成數據平穩性檢測和處理后,即是對節點進行ARMA 建模。此處我們的階數設置為ARMA(5,0)。確定階數,即可得到對應數目的參數,并構建參數向量。
最后,根據計算結果,距離目標對象參數向量歐氏距離越近的,影響因子越小,表示對目標對象(產品的RON)影響程度越高。依照此規則,我們確定了10 個操作位,各個操作位與其對應的影響因子。
圖5 為辛烷值預測值與真實值部分數據,模型驗證訓練神經網絡預測模型時,將數據集按4:1 的比例切分為訓練集、測試集,該模型在訓練集上有非常高的準確率,現對模型進行驗證,由于模型在訓練集和測試集上都能保持較高的準確率,故認為建立該模型是合理的,該模型具有一定的可行性。如圖6 所示為該模型在測試集上進行驗證的結果,由圖7 可知,用該神經網絡預測模型在測試集上進行驗證,將產品性質中辛烷值(RON)的預測值與真實值進行線性擬合,擬合系數R 值為0.91315,該擬合系數R 值略低于在訓練集上的擬合系數,同樣證實該模型在測試集上的效果非常好,預測值與真實值的誤差為0.08685。如圖7 所示為該模型在訓練集和測試集上的綜合驗證回歸參數結果,進行線性擬合所得擬合系數R 值為97.63%,證實該模型在訓練集和測試集上的效果較好,預測值與真實值的誤差為0.01123。

圖5 辛烷值預測值與真實值部分數據

圖6 訓練集回歸參數

圖7 測試集回歸參數
由上圖驗證可知,經過處理后的辛烷值數據集烯烴、芳烴、溴三參數所有值均在正常閾值范圍內。綜上所述,該神經網絡預測模型在訓練集上的準確率為0.99922,在測試集上的準確率為91.31%,在訓練集和測試集上的整體準確率為97.63%,如圖8 所示。最終驗證了該神經網絡預測模型的合理性與可行性。

圖8 綜合驗證回歸參數
本文提出一種改進ARMA-XGBoost算法的辛烷值的異常數據診斷方法,基于ARMA 回歸算法的特征提取思路,經過實測數據檢驗,在訓練集和測試集上的整體準確率為97.63%。本文所構建數據處理模型較大程度提升數據利用率,給辛烷值數據的可靠性及有效性提供保證,在未來的研究中對降低實時的辛烷值損失方面進行有效改進提供幫助。