一種厭氧數學建模過程缺失數據的預處理方法
2023-10-25 00:00:02 1
一種厭氧數學建模過程缺失數據的預處理方法
【專利摘要】本發明提供一種厭氧數學建模過程缺失數據的預處理方法,對缺失數據提出數據分組處理算法,並用拉格朗日插值法對缺失值進行插補。首先從原始數據集中確定因變量和自變量,然後取缺失值前後5個數據,剔除掉缺損值後的10個數據組成一組,將剩下的數據依次排序,並基於拉格朗日多項式插值法,建立插值模型,對全部缺失數據依次進行插補,通過Java編程實現大量數據的自動插補處理,直到缺失值不存在。
【專利說明】一種厭氧數學建模過程缺失數據的預處理方法
【技術領域】
[0001] 本發明涉及厭氧消化領域數學建模預測沼氣產氣速率和產氣量,實現厭氧消化過 程關鍵參數的軟體傳感,具體涉及一種厭氧數學建模過程缺失數據的預處理方法。
【背景技術】
[0002] 在厭氧沼氣工程運行過程中,由於通訊中斷、信號幹擾、傳感器故障或者人為誤操 作會造成一些監測數據的缺失。管理者和技術支持者希望通過對缺失數據的計算與分析, 能夠準確地評估系統運行效率,通過數學建模預測產氣過程和關鍵指標的軟體傳感。如,在 進行產氣異常智能分析建模時,時間、進水量、產氣量等指標的數據質量直接影響到模型的 結果精度與評價標準,因此,對數據進行預處理就顯得非常重要。
[0003] 缺失值是造成髒數據的主要因素之一,是對以數據挖掘為主要手段的數學處理方 法應用的巨大威脅。數據缺失造成的影響主要有:系統丟失了大量的有用信息;系統中表 現出的不確定性更加顯著,系統中蘊含的確定性成分更難把握;包含空值的數據會使挖掘 過程陷入混亂,導致不可靠的輸出。因此,沒有高質量的數據,就沒有高質量的挖掘結果,也 就沒有高質量的決策。對缺失值進行插補是處理缺失數據、提高數據質量的方法之一。可 能值插補缺失值的思想來源於以最可能的值來插補缺失值比全部刪除不完全樣本所產生 的信息丟失要少。在數據挖掘中,面對的通常是大型的資料庫,它的屬性有幾十個甚至幾百 個,因為一個屬性值的缺失而放棄大量的其他屬性值,這種刪除是對信息的極大浪費,所以 產生了以可能值對缺失值進行插補的思想和方法。對缺失數據的預處理,通常是採用基於 加權平均值的方法進行數據補齊,即用某段時間內的數據加權平均得到缺損值,對於很多 情況,補值效果並不理想,因而這種方法具有很大的局限性。
[0004] 基於以上所述,針對規模化沼氣運行過程中的一些產氣量無法正常採集,如果丟 失這部分數據,將影響產氣量的計算結果,最終導致產氣率數據誤差很大。為了達了較好的 建模和分析效果,需要對厭氧消化過程指標數據進行預處理,即需通過合適算法對缺失數 據進行補齊,之後再算出厭氧消化過程的產氣率。
[0005] 本發明針對用戶在厭氧消化建模過程的缺失數據進行分析,而挖掘目標是實現不 完整數據到完整數據,有效地完備了數據,從而使模型構建得更精確,預測效果更好。
【發明內容】
[0006] 數據分組處理算法是一種自組織的數據挖掘算法,用到了自組織數據挖掘主要原 理。本發明通過數據分組處理算法對缺失值前後5個共10個數據為一組的進水量和產氣 量數據進行插補,從而實現對酒精廢水產氣量缺失數據的預處理。
[0007] 方法包括以下步驟:首先將導入的原始數據分組,再確定因變量和自變量,剔除組 裡的缺失值並將剩下數據依次排序,然後基於拉格朗日插值算法確定插值模型,再將缺失 數據依次進行插補。然後往下一組同理處理,直到所有組數據處理完。
[0008] 所述的厭氧消化建模過程缺失數據的預處理方法,其特徵在於,所述的基於拉格 朗日算法對缺失值逼近插值,在結點上給出結點基函數,然後做基函數的線性組合,組合系 數為結點函數值,構造多項式逼近原函數,從而插值逼近缺失值,直到完備所有數據。且拉 格朗日算法容易實現和操作,結果插值逼近地較精準。
[0009]基於拉格朗日算法,本技術用JAVA代碼實現數據缺失值插補的全自動化處理,並 將它完備為一個數據處理平臺。(算法偽代碼見附件1)
【權利要求】
1. 一種厭氧數學建模過程缺失數據的預處理方法,其特徵在於,對厭氧消化過程建模 前的原始數據提出數據分組處理算法,並用拉格朗日插值法對缺失值進行插補。
2. 根據權利要求1所述的厭氧建模過程中缺失數據的預處理方法,其特徵在於,首先 從原始數據集中確定因變量和自變量,然後取缺失值前後5個數據(若前後不滿5個數據, 則將僅有的數據組成一組),剔除掉缺損值後的10個數據組成一組,將剩下的數據依次排 序,並建立拉格朗日多項式插值模型,對全部缺失數據依次進行插補,直到缺失值不存在。
3. 根據權利要求1所述的厭氧建模過程缺失數據的預處理方法,包括以下步驟: (1) 導入兩組相關屬性數據並確定自變量和因變量: Xn - {x〇,Xi,· · ·,Xi,......,xj Yn- {y〇,yp…,yp......,yJ 提取缺失值Ixi,yj前後5個數據組為一組: Xn-I- {Xi-5?Xi-4? Xi-3? Xi-2? Xi-1? Xi?Xi+1?Xi+2?Xi+3?Xi+4? Xi+5^ Yn-I- ^Ti-5,Yi-4, Yi-3, Yi-2, Yi-1,Yi,Yi+l,Yi+2,Yi+3,Yi+4, (2) 將缺失值Ixi,yj去掉,剩下數據為: Xn-I - (Xi-5, Xi-4, Xi-3, Xi-2, Xi-1,Xi+1,Xi+2?Xi+3,Xi+4?Xi+5^ Yn-I - ^Ti-5, Yi-4, Yi-3, Yi-2, Yi-1,Yi+l,Yi+2, Yi+3, Yi+4, 將上述兩組數據重新依次排序: Xn-I - {x0, i-5,X1, i-4,···? X4, i-1? X5?i+1···? ^9,1+5} Yn-I- {y〇,i-5,Yl,i-4,…,又4,i-I,又5,i+Γ· ·,又9,i+5} 其中:i= 0,1,2,···,!! 註:xa,b:a為重新排序後序號,b為排序如序號; 同理對於缺失值{xk,yk},{xk+1,yk+1},…{xk+m,yk+m},提取它們的前後5個數據組成一 組,再重新依次排序為: ^-n-111-l - ?χ0, k-5? Xl, k-4? ···,X4, k-1,X5, k+m+1,*** ? X9, k+m+5^ ? Yn-m-1 -iy〇,k-5,Yl,k-4, ···,又4,k-1,又5,k+m+1, ···,又9,k+m+5}, 其中:k,m= 0,1,2,···,n. 記重新排序後的自變量數據列和因變量數據列分別為:X%f⑶建立模型人(4=?^ (χ)兄 i=0 ⑷將缺失值f代入插值模型,則得到因變量插值#=人?1^?,· /= 同理依次對各組數據進行插補直到所有組插補完成,然後導出完整數據。
4. 根據權利要求1所述的厭氧建模過程中缺失數據的預處理方法,其特徵在於,通過 Java編程實現對原始數據進行自動分組、建模、插值補數、對缺失值依次插補直到所有組插 補完成。利用該算法可以實現大量數據的全自動插補,進行缺失值的高效處理。
【文檔編號】G06F19/00GK104318101SQ201410570879
【公開日】2015年1月28日 申請日期:2014年10月23日 優先權日:2014年10月23日
【發明者】李兵, 程言君, 鄭曉偉, 肖佳旭, 廖曉霞, 吳鎮佳 申請人:輕工業環境保護研究所