劉文輝, 賀曉宇, 羅二娟, 岳叢俊, 趙建東*
(1.山西省交通新技術發展有限公司, 太原 030012; 2. 北京交通大學交通運輸學院, 北京 100044)
中國高速公路總里程高達13.79萬km[1],服務區作為高速公路的重要組成部分之一,其數量規模也很龐大。服務區的作用在于為司機和乘客提供休息場所,在日常運營中會產生污水,但服務區大多遠離市區,污水輸送不便,所以在服務區中建有專用污水處理系統來保證服務區的正常運營。污水處理系統包括提升泵、進水泵、自吸泵、曝氣、電壓電流和溫度濕度6個子系統,通過系統自帶的云端數據平臺可查看各子系統實時運行數據。
污水處理系統在日常運行時會出現設備故障不易被發現等問題[2],為提高污水處理系統的工作效率,則需對該系統實時運行健康狀態進行評估。經調研,目前對設備健康狀態的研究較多,對服務區污水處理系統健康狀態的研究較少,但污水處理系統是否健康運行直接關系到服務區和高速公路的運營效率,所以對高速公路服務區污水處理系統開展健康狀態評估研究具有重要意義。健康狀態評估就是將設備工作時所提取的特征參數值投射到健康因子中,現有評估技術主要包含以下三大類。
(1)回歸模型。將設備的健康狀態變化看作隨時間變化的參數,采用回歸模型對設備健康狀態進行擬合預測。Lu等[3]使用隨機系數回歸模型進行健康狀態評估,在特定工況下也需要人為經驗輔助判定。鄭雪瑩等[4]使用高斯過程回歸模型對鋰電池健康狀態評估。林娜等[5]使用融合無跡卡爾曼、遺傳算法和粒子濾波算法的方法降低了粒子退化程度,從而對鋰電池的壽命狀態進行評估。該方法需要盡可能多地獲得設備的真實連續運行數據。
(2)知識網絡。諸如Petri網[6]和專家系統[7]等,其技術方面主要基于實際經驗和對某領域的知識了解,通過一些非量化的、主觀性更強的參數來進行健康評估。王亮等[8]考慮到大型設備的構造復雜,以設備最小可評估單元為輸入建立Petri模型進行健康狀態判斷。這類模型缺少自學能力,主要依靠專家知識和定性參數。
(3)數據驅動。常使用的模型包括眾多神經網絡模型,例如遞歸神經網絡[9]等。王國鋒等[10]使用深度學習方法提取刀具磨損信號特征,再使用粒子濾波方法對刀具的壽命狀態進行評估。神經網絡模型可以將時間序列信息映射到語義向量空間中,可記憶歷史信息,但是訓練該模型需要較為連續且數據規模大的歷史運行數據。
綜上所述,因為服務區污水處理系統擁有完善的數據采集和存儲系統,而且支持向量機(support vector machine,SVM)模型具有可解決高緯度問題和魯棒性較高的特點[11],所以現選取基于數據驅動的雙層SVM構建污水處理系統健康狀態評估模型。針對真實數據類別不均衡現象,根據各子系統運行特征構建特征向量集;為了健康狀態的可溯源性,構造雙層SVM模型,可以輸出各子系統及整個系統的健康狀態;另外,引入ThunderSVM算法提高模型訓練速度。訓練后得到的雙層SVM模型具有判斷精度高、速度快和健康狀態可溯源的特點。
污水處理系統工作原理如圖1所示,各設備間呈串聯工作狀態。污水首先進入提升井,提升井浮球達到一定高度時提升泵開始工作,將污水輸進調節池,當調節池液位達到某一高度時,觸發進水泵開始工作,將污水輸進生化池,生化池內有生物膜可以過濾雜質。經過有氧和無氧環境后污水流進膜池,當膜池達到某液位后觸發自吸泵工作,膜壓力計和流量計會相應顯示膜池內壓力和管道內污水的流量。污水隨之流經紫外線和消毒設備,最后進入清水池完成污水處理工作。其中風機(曝氣)向生物膜鼓風,將生物膜上的雜質抖落下來。

圖1 污水處理系統工作原理圖
系統內各子系統所含特征如表1所示,其中各設備1號代表主設備,2號代表備用設備。服務區污水處理系統的云端管理系統可以對表1中各系統特征數值進行實時監控,數據每分鐘刷新一次,正常運作1 d可產生1 437條數據。
通過爬取云端數據發現,因為污水處理系統投入運營的時間較短,各子系統長時間處于健康工作狀態,所以云端數據中亞健康、故障和異常狀態的數據量極少,導致樣本分布不均衡,同時,考慮到各子系統的特征運行數據值多為0或1,所以根據各子系統在運行時產生數據的特征來構建特征向量集,使用的函數表達式為
f=RANDBETWEEN(*,*)
(1)
式(1)中:f為函數生成值;兩個*為函數生成值的下界和上界。對于運行數據為0或1的特征,令兩個“*”分別為0和1;對于運行數據為某個范圍內數值的特征,令兩個“*”分別為該特征所設定的下界和上界。
數據標定,即給無標簽的數據按其所屬類別進行打標簽分類工作。按以下邏輯判斷規則,為所構造的特征向量集中每條數據標定其所屬的健康狀態。
2.3.1 提升泵
(1)健康:①所有參數均為0;②主提升泵和備用提升泵均無故障、達到備用液位時提升泵相應工作,且備用預警不報警。
(2)亞健康:主提升泵和備用提升泵有一個故障。
(3)故障:①主提升泵和備用提升泵均故障;②備用預警報警。
(4)異常:除以上情況外的其他情況。
2.3.2 進水泵
(1)健康:①所有參數均為0;②主進水泵和備用進水泵均無故障、達到調節池液位時進水泵相應工作,且調節池預警不報警。
(2)亞健康:主進水泵和備用進水泵有一個故障。
(3)故障:①主進水泵和備用進水泵均故障;②調節池預警報警。
(4)異常:除以上情況外的其他情況。
2.3.3 自吸泵
(1)健康:①所有參數均為0;②膜池液位報警,主自吸泵或備用自吸泵同時帶動紫外線和消毒工作,且產水瞬時流量值和膜壓力值均不為0、膜池預警不報警。
(2)亞健康:主自吸泵和備用自吸泵有一個故障。
(3)故障:主自吸泵和備用自吸泵均故障,其他參數均為0。
(4)異常:除以上情況外的其他情況。
2.3.4 曝氣
健康:主曝氣設備和備用曝氣設備均無故障。亞健康:主曝氣設備和備用曝氣設備中有一個故障。故障:主曝氣設備和備用曝氣設備均故障。異常:除以上情況外的其他情況。
2.3.5 電壓、電流
電壓、電流參數不存在壽命問題,但它們的大小對系統運行的安全有影響,所以電壓電流子系統只設置健康和故障兩種狀態。健康:電壓、電流參數均處于安全范圍內,設安全范圍為215~235 V,7~9 A。故障:有一個或多個特征值不在安全范圍內。
2.3.6 溫度、濕度
溫度、濕度參數不存在壽命問題,但它們的大小會影響系統運行的安全,所以溫度、濕度特征只設置健康和故障兩種狀態。健康:參數均處于安全范圍內,設安全范圍為15~35 ℃,15%~70%。故障:有一或兩個特征值不在安全范圍內。
從邏輯判斷規則可以看出,子系統達到健康狀態的要求較嚴格,所以經數據標定后的特征向量集中非健康狀態的樣本相對較多,同樣會導致樣本不平衡,但相比云端數據而言不平衡的程度更輕。若在模型訓練中輸入樣本不平衡的數據,則模型會更多地學習數據量較多的樣本,而忽略數據量較少的樣本,導致模型過擬合,因此采用數據欠采樣方法來解決此問題。數據欠采樣指保留數據量少的樣本數據,而刪除部分數據量較多的樣本數據,使得各個樣本的數據規模趨于一致。
經數據標定和欠采樣處理后的特征向量集共包含22 992條數據,相當于16 d的數據量,設前15 d數據作為訓練集,最后1 d數據作為測試集。
SVM[12]是一種基于統計學習理論的監督式機器學習算法。其最初是通過在特征空間上劃分出幾何間距最大的分離超平面,從而實現二分類。對非線性可分問題而言,超平面表達式為
f(x)=ωTφ(x)+b
(2)
式(2)中:f(x)為超平面;ω為法向量;φ(x)為映射后特征向量;x為空間中的點;b為位移項。將其化為對偶問題并通過拉格朗日乘子法化簡求解,可得

(3)
式(3)中:a為拉格朗日算法中的參數;y為2倍法向量絕對值的倒數;K()為核函數;xi、xj為空間中的兩個點。
核函數是SVM的重要組成部分,它將數據點映射到更高維的空間中,從而實現非線性和高維的分類效果。考慮到污水處理系統的健康狀態評估是一種非線性分類任務,所以選取徑向基函數(radial basis function,RBF)作為雙層支持向量機中的核函數,從而實現非線性映射,表達式為

(4)
式(4)中:x1、x2為空間中的兩個點;σ為函數的寬度參數,控制函數的徑向作用范圍。
實現4種健康狀態的判斷屬于四分類問題,而基本SVM是用來解決二分類問題的,因此面對多分類情形,選擇“一對一法”[13],即在每兩類樣本之間訓練出一個分類器,例如對于四分類問題,則需要構建6個二分類SVM分類器。然后對樣本分類時采用投票機制,對于輸入的某一個樣本,每個分類器對其進行判斷投票。最后票數最多的類別作為該輸入樣本的類別。
SVM在計算機編程中主要使用到的算法是基于單核CPU提出的sklearn算法,其無法充分利用多核處理器,因此選擇一個高效并行支持向量機算法——ThunderSVM[14]算法,該算法可以調用GPU來進行多線程計算,從而加快支持向量機模型的訓練速度。
通過將兩個單層SVM模型進行融合搭建出一個雙層SVM模型,模型訓練過程如下。
步驟1將提升泵、進水泵、自吸泵、曝氣、溫度濕度、電壓電流子系統的特征向量數據輸入至下層SVM模型,同時,分別使用sklearn算法和ThunderSVM算法觀察模型的訓練速度,最終輸出6個子系統的運行健康狀態。
步驟2融合下層SVM模型的輸出結果,輸入至上層SVM模型進行訓練,最終輸出整個系統的健康狀態。模型框架如圖2所示。

圖2 雙層SVM模型架構圖
實驗驗證采用的數據集共包含兩部分,共計2 874條數據:第一部分是從污水處理系統云端管理平臺提取的數據,因為污水處理系統運營時間不久,云端數據多為健康狀態數據,所以選取2021年6月4日整天的數據;第二部分選用數據處理章節中所構建的測試集。通過以上方法可避免實驗數據集因缺失某種狀態樣本或某種狀態樣本量過少而造成實驗結果的偶然性。
首先,分別比較雙層支持向量機模型在sklearn算法和ThunderSVM算法下的訓練速度,實驗結果如表2所示。在下層SVM模型訓練的過程中,ThunderSVM算法均大幅提高了6個子系統模型的訓練速度。

表2 不同算法下模型訓練所耗時間對比
其次,在相同的實驗條件下對雙層SVM模型進行橫向對比和縱向對比。橫向對比模型選擇單層SVM模型,該模型是將所有子系統的特征向量進行整合作為單層SVM的輸入,這樣會造成大量數據同時涌入且無法獲得各子系統的健康狀態。縱向對比模型選擇在多分類問題中被廣泛使用的樹類模型:CART決策樹、AdaBoost、XGBoost和LightGBM模型。使用精確度作為實驗結果的評判標準,表達式為

(5)
式(5)中:TP(true positives)為分類器把正例正確的分類為正例;FN(false negatives)為分類器把正例錯誤的分類為負例;TN(true negatives)為分類器把負例正確的分類為負例;FP(false positives)為分類器把負例錯誤的分類為正例。
如表3所示,雙層SVM模型的判斷精確度優于決策樹、Adaboost、XGBoost、LightGBM和單層SVM模型,分別提高了18.55%、16.98%、14.89%、16.79%和13.46%。

表3 實驗結果對比
從高速公路服務區污水處理系統健康狀態評估應用場景出發,使用雙層支持向量機模型可以更準確、快速地解決實際問題,具體結論如下。
(1)根據各子系統運行數據特征所構建的數據集,經過數據標定和欠采樣處理后可有效地應用于模型訓練與實驗驗證階段。
(2)使用ThunderSVM算法可大幅度提高高速公路服務區污水處理系統健康狀態判斷的速度。
(3)雙層支持向量機模型可實現對高速公路服務區污水處理系統以及各子系統健康狀態的高精確度判斷。