本發(fā)明屬于工業(yè)過(guò)程控制領(lǐng)域,尤其涉及一種基于帶滑動(dòng)窗口貝葉斯網(wǎng)絡(luò)的自適應(yīng)軟測(cè)量預(yù)測(cè)方法。
背景技術(shù):
:軟測(cè)量的目標(biāo)是建立適當(dāng)?shù)哪P?,使用易于測(cè)量的過(guò)程變量預(yù)測(cè)難以測(cè)量或者測(cè)量存在大時(shí)延的質(zhì)量變量。實(shí)時(shí)準(zhǔn)確的預(yù)測(cè)出質(zhì)量變量有利于控制產(chǎn)品質(zhì)量,提高生產(chǎn)效率。軟測(cè)量模型一般分為機(jī)理模型和數(shù)據(jù)驅(qū)動(dòng)的模型。隨著計(jì)算機(jī)技術(shù)的發(fā)展,數(shù)據(jù)驅(qū)動(dòng)的建模方法受到了越來(lái)越多的關(guān)注。常見(jiàn)的數(shù)據(jù)驅(qū)動(dòng)建模方法有很多,目前使用最廣泛的是主成分分析和偏最小二乘方法,這兩種都是線性模型;考慮到過(guò)程的不確定性,將概率形式加入到這兩種方法中,就得到了概率的主成分分析和基于概率的偏最小二乘方法;將支持向量回歸的方法用于軟測(cè)量領(lǐng)域取得了較高的預(yù)測(cè)效果;還有神經(jīng)網(wǎng)絡(luò)的方法也可用于預(yù)測(cè)。但在實(shí)際工業(yè)過(guò)程中,由于過(guò)程的漂移、催化劑的失效等會(huì)引起模型的退化,簡(jiǎn)單地說(shuō)就是原來(lái)建立的模型不再適用于現(xiàn)有的運(yùn)行狀態(tài),因此需要不斷地更新模型使它適用于時(shí)變的工業(yè)過(guò)程。技術(shù)實(shí)現(xiàn)要素:針對(duì)現(xiàn)有技術(shù)中的不足,本發(fā)明提出一種基于帶滑動(dòng)窗口貝葉斯網(wǎng)絡(luò)的自適應(yīng)軟測(cè)量預(yù)測(cè)方法,它根據(jù)新來(lái)樣本不斷更新現(xiàn)有模型以此適應(yīng)時(shí)變的工業(yè)過(guò)程。本發(fā)明的優(yōu)勢(shì)在于,能對(duì)不斷變化的工業(yè)過(guò)程作出準(zhǔn)確的質(zhì)量預(yù)報(bào),并給出相應(yīng)的預(yù)測(cè)精度,即使在數(shù)據(jù)集存在缺失的情況下,也能獲得良好的預(yù)測(cè)效果,具體技術(shù)方案如下:一種基于帶滑動(dòng)窗口貝葉斯網(wǎng)絡(luò)的自適應(yīng)軟測(cè)量預(yù)測(cè)方法,其特征在于,包括以下步驟:步驟一:收集工業(yè)過(guò)程中的歷史數(shù)據(jù)集:將易于測(cè)量的過(guò)程變量作為輸入,即x=[x1;x2;…;xn]∈rn×m,其中x的每一列代表一個(gè)過(guò)程變量,每一行代表一個(gè)樣本;將不容易實(shí)時(shí)測(cè)量的質(zhì)量變量作為輸出,即y=[y1;y2;…yn]∈rn×1;步驟二:從歷史數(shù)據(jù)集中選擇時(shí)間上最接近待預(yù)測(cè)樣本的w個(gè)樣本,w表示滑動(dòng)窗口的大小,即x=[x1;x2;…;xw]∈rw×m,以及與它們相對(duì)應(yīng)的y=[y1;y2;…yw]∈rw×1,根據(jù)已有的專(zhuān)家知識(shí),確定網(wǎng)絡(luò)結(jié)構(gòu),利用數(shù)據(jù)學(xué)習(xí)得到各節(jié)點(diǎn)參數(shù),構(gòu)建貝葉斯網(wǎng)絡(luò)模型。具體方法如下:(a)計(jì)算w個(gè)樣本中各過(guò)程變量的均值和質(zhì)量變量的均值并將原始數(shù)據(jù)減去相應(yīng)的均值做數(shù)據(jù)標(biāo)準(zhǔn)化處理;(b)根據(jù)專(zhuān)家知識(shí),將所有易于測(cè)量的過(guò)程變量均作為父節(jié)點(diǎn),需要預(yù)測(cè)得到的質(zhì)量變量作為上述各父節(jié)點(diǎn)的子節(jié)點(diǎn);各父節(jié)點(diǎn)與子節(jié)點(diǎn)間用一條有向邊連接,箭頭指向子節(jié)點(diǎn),各父節(jié)點(diǎn)之間沒(méi)有邊相連,從而形成貝葉斯網(wǎng)絡(luò)的結(jié)構(gòu);(c)當(dāng)各節(jié)點(diǎn)服從高斯分布時(shí),將所有父節(jié)點(diǎn)設(shè)置為可觀測(cè)節(jié)點(diǎn),唯一的子節(jié)點(diǎn)設(shè)置為隱含節(jié)點(diǎn);將選出的w個(gè)樣本放入(b)中已建立的貝葉斯網(wǎng)絡(luò)中,如果此時(shí)w個(gè)樣本中父節(jié)點(diǎn)數(shù)據(jù)缺失,將缺失值置為空后,直接進(jìn)行后面的參數(shù)學(xué)習(xí);所述的參數(shù)學(xué)習(xí)過(guò)程采用em算法,通過(guò)不斷迭代給出各個(gè)節(jié)點(diǎn)參數(shù)的最大似然估計(jì);當(dāng)數(shù)據(jù)中存在缺失現(xiàn)象時(shí),參數(shù)學(xué)習(xí)的過(guò)程如下:隨機(jī)給定缺失數(shù)據(jù)的初值,根據(jù)給定初值估計(jì)模型參數(shù);根據(jù)估計(jì)的模型參數(shù)重新計(jì)算缺失值,如此反復(fù)迭代直至待估計(jì)參數(shù)收斂;(d)根據(jù)步驟(c)參數(shù)學(xué)習(xí)的結(jié)果,獲得步驟(b)中各節(jié)點(diǎn)的先驗(yàn)概率分布,包括各節(jié)點(diǎn)的均值和方差,此時(shí)得到一個(gè)完整的貝葉斯網(wǎng)絡(luò);步驟三:將新來(lái)的輸入樣本xq按照步驟二的(a)作標(biāo)準(zhǔn)化處理后,作為證據(jù)添加進(jìn)步驟二中已構(gòu)建的貝葉斯網(wǎng)絡(luò)中,通過(guò)聯(lián)合樹(shù)推理引擎得到待預(yù)測(cè)節(jié)點(diǎn)的后驗(yàn)概率分布,包括均值和方差;將待預(yù)測(cè)節(jié)點(diǎn)的后驗(yàn)概率分布中的均值作為預(yù)測(cè)值,并計(jì)算實(shí)際測(cè)量真值y與預(yù)測(cè)值的誤差;步驟四:當(dāng)有標(biāo)簽的新樣本數(shù)逐漸累積達(dá)到滑動(dòng)窗口前進(jìn)的步長(zhǎng)s后,將這最新的s個(gè)樣本添加進(jìn)滑動(dòng)窗口,同時(shí)刪除滑動(dòng)窗口中最老的s個(gè)樣本,保持滑動(dòng)窗口中樣本個(gè)數(shù)w不變;用新的w個(gè)樣本更新步驟二中原始的w個(gè)樣本,重新進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化處理,并進(jìn)行步驟二中(c)及以后的步驟,繼續(xù)預(yù)測(cè)下一時(shí)刻的質(zhì)量變量。進(jìn)一步地,所述的預(yù)測(cè)誤差采用均方根誤差rmse來(lái)衡量預(yù)測(cè)結(jié)果的準(zhǔn)確性,其計(jì)算公式如下:公式中n表示測(cè)試樣本的個(gè)數(shù),yreal代表測(cè)量的真實(shí)值,ypred代表由貝葉斯網(wǎng)絡(luò)得到的預(yù)測(cè)值。本發(fā)明的有益效果是:本發(fā)明通過(guò)滑動(dòng)窗口更新模型,在窗口內(nèi)運(yùn)用貝葉斯網(wǎng)絡(luò)建模,每新來(lái)一個(gè)樣本預(yù)測(cè),將已有新樣本的輸入作為證據(jù)添加進(jìn)原有網(wǎng)絡(luò),使用聯(lián)合樹(shù)推理引擎完成查詢(xún)過(guò)程,得到預(yù)測(cè)值和相應(yīng)的方差。即使在訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)均有不同程度缺失率的情況下,也能較好地預(yù)測(cè)質(zhì)量變量,且預(yù)測(cè)精度較高。附圖說(shuō)明圖1為本發(fā)明方法預(yù)測(cè)co2剩余含量的結(jié)果示意圖;圖2為帶滑動(dòng)窗口的偏最小二乘方法預(yù)測(cè)co2剩余含量的結(jié)果示意圖;圖3為本發(fā)明方法在訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)均有約20%缺失的情況下的結(jié)果示意圖。具體實(shí)施方式本發(fā)明針對(duì)工業(yè)過(guò)程中的軟測(cè)量問(wèn)題,該方法首先從數(shù)據(jù)集中選出在時(shí)間上離待預(yù)測(cè)樣本最接近的數(shù)據(jù)作訓(xùn)練樣本,運(yùn)用貝葉斯網(wǎng)絡(luò)的方法建立模型,并將待預(yù)測(cè)樣本的輸入作為證據(jù)添加進(jìn)網(wǎng)絡(luò)中,經(jīng)推理得出預(yù)測(cè)值。當(dāng)新樣本積累到一定數(shù)量時(shí),刪除舊樣本,添加新樣本,更新訓(xùn)練樣本集,重新建立貝葉斯網(wǎng)絡(luò)用于后續(xù)新樣本的預(yù)測(cè),具體技術(shù)方案如下:一種基于帶滑動(dòng)窗口貝葉斯網(wǎng)絡(luò)的自適應(yīng)軟測(cè)量預(yù)測(cè)方法,包括以下步驟:步驟一:收集工業(yè)過(guò)程中的歷史數(shù)據(jù)集:將易于測(cè)量的過(guò)程變量作為輸入,即x=[x1;x2;…;xn]∈rn×m,其中x的每一列代表一個(gè)過(guò)程變量,每一行代表一個(gè)樣本;將不容易實(shí)時(shí)測(cè)量的質(zhì)量變量作為輸出,即y=[y1;y2;…yn]∈rn×1;軟測(cè)量的目的是建立適當(dāng)?shù)哪P?,?shí)現(xiàn)每來(lái)一個(gè)新樣本xq能準(zhǔn)確及時(shí)地預(yù)測(cè)出其對(duì)應(yīng)的yq。步驟二:從歷史數(shù)據(jù)集中選擇時(shí)間上最接近待預(yù)測(cè)樣本的w個(gè)樣本,w表示滑動(dòng)窗口的大小,即x=[x1;x2;…;xw]∈rw×m,以及與它們相對(duì)應(yīng)的y=[y1;y2;…yw]∈rw×1,根據(jù)已有的專(zhuān)家知識(shí),確定網(wǎng)絡(luò)結(jié)構(gòu),利用數(shù)據(jù)學(xué)習(xí)得到各節(jié)點(diǎn)參數(shù),構(gòu)建貝葉斯網(wǎng)絡(luò)模型,具體方法如下:(a)計(jì)算w個(gè)樣本中各過(guò)程變量的均值和質(zhì)量變量的均值并將原始數(shù)據(jù)減去相應(yīng)的均值做數(shù)據(jù)標(biāo)準(zhǔn)化處理;(b)根據(jù)專(zhuān)家知識(shí),將所有易于測(cè)量的過(guò)程變量均作為父節(jié)點(diǎn),需要預(yù)測(cè)得到的質(zhì)量變量作為上述各父節(jié)點(diǎn)的子節(jié)點(diǎn);各父節(jié)點(diǎn)與子節(jié)點(diǎn)間用一條有向邊連接,箭頭指向子節(jié)點(diǎn),各父節(jié)點(diǎn)之間沒(méi)有邊相連,從而形成貝葉斯網(wǎng)絡(luò)的結(jié)構(gòu);(c)當(dāng)各節(jié)點(diǎn)服從高斯分布時(shí),將所有父節(jié)點(diǎn)設(shè)置為可觀測(cè)節(jié)點(diǎn),唯一的子節(jié)點(diǎn)設(shè)置為隱含節(jié)點(diǎn);將選出的w個(gè)樣本放入(b)中已建立的貝葉斯網(wǎng)絡(luò)中,如果此時(shí)w個(gè)樣本中父節(jié)點(diǎn)數(shù)據(jù)缺失,將缺失值置為空后,直接進(jìn)行后面的參數(shù)學(xué)習(xí);所述的參數(shù)學(xué)習(xí)過(guò)程采用em算法,通過(guò)不斷迭代給出各個(gè)節(jié)點(diǎn)參數(shù)的最大似然估計(jì);當(dāng)數(shù)據(jù)中存在缺失現(xiàn)象時(shí),參數(shù)學(xué)習(xí)的過(guò)程如下:隨機(jī)給定缺失數(shù)據(jù)的初值,根據(jù)給定初值估計(jì)模型參數(shù);根據(jù)估計(jì)的模型參數(shù)重新計(jì)算缺失值,如此反復(fù)迭代直至待估計(jì)參數(shù)收斂;(d)根據(jù)步驟(c)參數(shù)學(xué)習(xí)的結(jié)果,獲得步驟(b)中各節(jié)點(diǎn)的先驗(yàn)概率分布,包括各節(jié)點(diǎn)的均值和方差,此時(shí)得到一個(gè)完整的貝葉斯網(wǎng)絡(luò);步驟三:將新來(lái)的輸入樣本xq按照步驟二的(a)作標(biāo)準(zhǔn)化處理后,作為證據(jù)添加進(jìn)步驟二中已構(gòu)建的貝葉斯網(wǎng)絡(luò)中,通過(guò)聯(lián)合樹(shù)推理引擎得到待預(yù)測(cè)節(jié)點(diǎn)的后驗(yàn)概率分布,包括均值和方差;將待預(yù)測(cè)節(jié)點(diǎn)的后驗(yàn)概率分布中的均值作為預(yù)測(cè)值,并計(jì)算實(shí)際測(cè)量真值y與預(yù)測(cè)值的誤差;所述的預(yù)測(cè)誤差采用均方根誤差rmse來(lái)衡量預(yù)測(cè)結(jié)果的準(zhǔn)確性,其計(jì)算公式如下:公式中n表示測(cè)試樣本的個(gè)數(shù),yreal代表測(cè)量的真實(shí)值,ypred代表由貝葉斯網(wǎng)絡(luò)得到的預(yù)測(cè)值。顯然,均方根誤差rmse越小,表示貝葉斯網(wǎng)絡(luò)預(yù)測(cè)的精度越高。用該指標(biāo)可以定量比較各種模型的預(yù)測(cè)能力。步驟四:當(dāng)有標(biāo)簽的新樣本數(shù)逐漸累積達(dá)到滑動(dòng)窗口前進(jìn)的步長(zhǎng)s后,將這最新的s個(gè)樣本添加進(jìn)滑動(dòng)窗口,同時(shí)刪除滑動(dòng)窗口中最老的s個(gè)樣本,保持滑動(dòng)窗口中樣本個(gè)數(shù)w不變;用新的w個(gè)樣本更新步驟二中原始的w個(gè)樣本,重新進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化處理,并進(jìn)行步驟二中(c)及以后的步驟,繼續(xù)預(yù)測(cè)下一時(shí)刻的質(zhì)量變量。以下結(jié)合一個(gè)具體的工業(yè)過(guò)程的例子來(lái)說(shuō)明本發(fā)明的有效性。co2吸收塔是實(shí)際化工合成氨過(guò)程中的一個(gè)子單元。整個(gè)工藝過(guò)程可大致描述為:來(lái)自前一單元的工藝氣經(jīng)過(guò)初步降溫后,在工藝?yán)淠蛛x罐再次降溫,進(jìn)入吸收塔。經(jīng)過(guò)吸收塔后的工藝氣,送入到除霧分離罐中,殘余co2由儀表記錄。罐中吸收co2后,吸收液由貧液,半貧液變成富液。富液從罐底部經(jīng)富液閃蒸槽送入再生塔中,進(jìn)行溶液的再生操作,再生的溶液被抽回吸收塔。co2吸收塔中發(fā)生的主要化學(xué)反應(yīng)是co2+k2co3+h2o←→2khco3+q。為了最大限度地利用co2,最后工藝氣中殘余的co2含量應(yīng)盡可能的少。吸收塔中共有12個(gè)變量如下表1所示。前11個(gè)變量較易測(cè)量得到,第12個(gè)變量工藝氣中殘余co2含量較難測(cè)量,因此對(duì)這12個(gè)變量建立貝葉斯網(wǎng)絡(luò),用前11個(gè)變量預(yù)測(cè)co2剩余含量。接下來(lái)結(jié)合該具體過(guò)程對(duì)本發(fā)明的實(shí)施步驟進(jìn)行詳細(xì)地闡述:1.采集co2吸收塔正常運(yùn)行過(guò)程中的數(shù)據(jù),選擇離待預(yù)測(cè)樣本時(shí)間上最接近的w個(gè)樣本,數(shù)據(jù)標(biāo)準(zhǔn)化處理后,建立貝葉斯網(wǎng)絡(luò)。在該貝葉斯網(wǎng)絡(luò)中,共有12個(gè)節(jié)點(diǎn),前11個(gè)為可觀測(cè)的父節(jié)點(diǎn),第12個(gè)節(jié)點(diǎn)為隱含的子節(jié)點(diǎn),共有12條有向邊,均為從父節(jié)點(diǎn)出發(fā)指向同一個(gè)子節(jié)點(diǎn)。當(dāng)這12個(gè)節(jié)點(diǎn)均服從高斯分布時(shí),用已挑選好的w個(gè)樣本進(jìn)行參數(shù)學(xué)習(xí),獲得這12個(gè)節(jié)點(diǎn)的先驗(yàn)概率分布。2.新來(lái)一個(gè)輸入樣本xq,將xq作為證據(jù)添加進(jìn)上步已建好的貝葉斯網(wǎng)絡(luò)中,由聯(lián)合樹(shù)推理引擎求得唯一子節(jié)點(diǎn)的后驗(yàn)概率分布,即子節(jié)點(diǎn)的均值和方差。將求得的均值作為預(yù)測(cè)值,方差反映了預(yù)測(cè)值的波動(dòng)大小,可作為預(yù)測(cè)值精度的衡量指標(biāo)。3.當(dāng)新來(lái)樣本累積到一定數(shù)量后,刪除窗口中前s個(gè)樣本(s為滑動(dòng)窗口前進(jìn)的步長(zhǎng)),同時(shí)將新增的s個(gè)樣本放到窗中的最后,對(duì)這w個(gè)樣本做標(biāo)準(zhǔn)化處理后,重新進(jìn)行參數(shù)學(xué)習(xí)得到新的貝葉斯網(wǎng)絡(luò),此后用更新后的貝葉斯網(wǎng)絡(luò)作預(yù)測(cè)。表1co2吸收塔工藝中的變量變量編號(hào)變量描述1工藝氣壓力12液位13出口貧液溫度4貧液流量5半貧液流量6出口工藝氣溫度7工藝氣進(jìn)出口壓差8出口富液溫度9液位210高液位報(bào)警值11工藝氣壓力212工藝氣中殘余co2含量采用本發(fā)明方法預(yù)測(cè)co2含量的結(jié)果如圖1所示,帶滑動(dòng)窗口的偏最小二乘方法預(yù)測(cè)co2剩余含量的結(jié)果如圖2所示,兩種方法的預(yù)測(cè)精度對(duì)比如表2所示,從表2可以看出,本發(fā)明的基于帶滑動(dòng)窗口貝葉斯網(wǎng)絡(luò)的自適應(yīng)軟測(cè)量預(yù)測(cè)方法比帶滑動(dòng)窗口的偏最小二乘方法的預(yù)測(cè)精度高。本發(fā)明方法在訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)均有約20%缺失的情況下的預(yù)測(cè)結(jié)果如圖3所示,表3給出了本發(fā)明方法在不同數(shù)據(jù)缺失率下的預(yù)測(cè)誤差表,從表3可以看出,即使數(shù)據(jù)存在一定的缺失,本發(fā)明仍然有較高的預(yù)測(cè)精度。表2本發(fā)明方法和帶滑動(dòng)窗口的偏最小二乘方法的預(yù)測(cè)精度對(duì)比表建模方法預(yù)測(cè)的均方根誤差預(yù)測(cè)最大誤差的絕對(duì)值帶滑動(dòng)窗口的貝葉斯網(wǎng)絡(luò)方法0.00062040.003672帶滑動(dòng)窗口的偏最小二乘方法0.00085550.007038表3本發(fā)明方法在不同數(shù)據(jù)缺失率下的預(yù)測(cè)誤差表數(shù)據(jù)缺失率預(yù)測(cè)均方根誤差預(yù)測(cè)最大誤差的絕對(duì)值0%0.00062040.0036724.92%0.00064100.00379810.27%0.00065150.00380719.76%0.00078350.004244上述實(shí)施例用來(lái)解釋說(shuō)明本發(fā)明,而不是對(duì)本發(fā)明進(jìn)行限制,在本發(fā)明的精神和權(quán)利要求的保護(hù)范圍內(nèi),對(duì)本發(fā)明做出的任何修改和改變,都落入本發(fā)明的保護(hù)范圍。當(dāng)前第1頁(yè)12