《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于LabVIEW-化學(xué)計量學(xué)的化學(xué)分析系統(tǒng)
基于LabVIEW-化學(xué)計量學(xué)的化學(xué)分析系統(tǒng)
來源:微型機(jī)與應(yīng)用2012年第23期
徐 昊,許國根
(第二炮兵工程大學(xué),,陜西 西安 710025)
摘要: 設(shè)計了一種基于LabVIEW軟件平臺及BP神經(jīng)網(wǎng)絡(luò)算法,、支持向量機(jī)(SVR)、偏最小二乘(PLS)等分析算法的化學(xué)分析系統(tǒng),。系統(tǒng)以LabVIEW軟件為基礎(chǔ),,以調(diào)用MATLAB作為數(shù)據(jù)分析核心,以達(dá)到自動快速的分析目的,。該系統(tǒng)還可將各種回歸分析后的數(shù)據(jù)進(jìn)行對比,,并做出擬合曲線,效果直觀,、清晰,。此系統(tǒng)作為虛擬儀器測量系統(tǒng)的數(shù)據(jù)分析模塊,,具有一定應(yīng)用價值。
Abstract:
Key words :

摘  要: 設(shè)計了一種基于LabVIEW軟件平臺及BP神經(jīng)網(wǎng)絡(luò)算法,、支持向量機(jī)(SVR),、偏最小二乘(PLS)等分析算法的化學(xué)分析系統(tǒng)。系統(tǒng)以LabVIEW軟件為基礎(chǔ),,以調(diào)用MATLAB作為數(shù)據(jù)分析核心,,以達(dá)到自動快速的分析目的。該系統(tǒng)還可將各種回歸分析后的數(shù)據(jù)進(jìn)行對比,,并做出擬合曲線,,效果直觀、清晰,。此系統(tǒng)作為虛擬儀器測量系統(tǒng)的數(shù)據(jù)分析模塊,,具有一定應(yīng)用價值。
關(guān)鍵詞: LabVIEW,;BP神經(jīng)網(wǎng)絡(luò)算法,;支持向量機(jī)算法偏最小二乘算法,;液體推進(jìn)劑

 自20世紀(jì)許多新型儀器及技術(shù)被引入分析化學(xué)以來,,分析測試已逐步實現(xiàn)自動化和計算機(jī)化,使其在分析測試過程中,,可以非常方便地得到大量可靠的測量數(shù)據(jù),。這些數(shù)據(jù)都以二維或多維的形式存在,如何將復(fù)雜數(shù)據(jù)降維,,挖掘數(shù)據(jù)中包含的信息,,是分析工作者面臨的重要問題[1]?;瘜W(xué)計量學(xué)作為一門建立在多學(xué)科基礎(chǔ)上的橫向?qū)W科,,主要就是針對化學(xué)測量數(shù)據(jù)信息的分析處理和提取,這一學(xué)科在數(shù)據(jù)分析,、化學(xué)模式識別,、譜圖解析、構(gòu)效關(guān)系等方面,,發(fā)揮著舉足輕重的作用[2],。
 本文提出的基于LabVIEW及化學(xué)計量學(xué)的化學(xué)分析系統(tǒng),結(jié)合虛擬儀器技術(shù)和BP神經(jīng)網(wǎng)絡(luò),、支持向量機(jī),、偏最小二乘三種分析算法,對前端虛擬儀器測試系統(tǒng)的多維數(shù)據(jù)進(jìn)行回歸分析,,并比較三種方法的效果優(yōu)劣,,保存最佳回歸模型,,建立數(shù)據(jù)庫。系統(tǒng)總體框架如圖1所示,。

1 系統(tǒng)設(shè)計原理
 本系統(tǒng)基于LabVIEW軟件開發(fā)平臺,,利用 MatlabScript節(jié)點實現(xiàn)在LabVIEW中調(diào)用MATLAB腳本的功能,從而充分利用LabVIEW圖形化設(shè)計語言的優(yōu)點和MATLAB強(qiáng)大的數(shù)據(jù)處理能力,,使得開發(fā)的化學(xué)虛擬儀器系統(tǒng)具有功能更強(qiáng)的數(shù)據(jù)處理能力[3],。該系統(tǒng)程序設(shè)計主要包括數(shù)據(jù)分析和數(shù)據(jù)庫管理兩大模塊,系統(tǒng)主頁前面板如圖2所示,。其中,,數(shù)據(jù)分析模塊包括數(shù)據(jù)讀取、模型建立,、回歸分析,、預(yù)測;數(shù)據(jù)庫管理查詢主要包括數(shù)據(jù)存儲,、查詢、修改,、提取分析等功能,。

 系統(tǒng)主要應(yīng)用嵌入式子面板和彈出式子面板兩種技術(shù)。數(shù)據(jù)分析模塊采用的是嵌入式子面板技術(shù),,即利用函數(shù)選板中的子面板控件,,將子VI嵌入主VI中,從而使分析方法的選擇與分析執(zhí)行過程變得直觀且清晰,;數(shù)據(jù)庫訪問模塊應(yīng)用的是彈出式子面板技術(shù),,即利用應(yīng)用程序控制選板中的打開VI引用控件,進(jìn)行子VI的靜態(tài)調(diào)用,。
1.1 數(shù)據(jù)分析模塊
1.1.1 BP神經(jīng)網(wǎng)絡(luò)分析模塊

 BP神經(jīng)網(wǎng)絡(luò)算法流程可以分為BP神經(jīng)網(wǎng)絡(luò)構(gòu)建,、BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練和BP神經(jīng)網(wǎng)絡(luò)預(yù)測[4]。當(dāng)參數(shù)適當(dāng)時,,BP神經(jīng)網(wǎng)絡(luò)算法能夠收斂到較小的均方差,,是目前應(yīng)用最廣的神經(jīng)網(wǎng)絡(luò)算法之一。本文BP神經(jīng)網(wǎng)絡(luò)分析模塊,,主要是利用LabVIEW調(diào)用MATLAB神經(jīng)網(wǎng)絡(luò)工具箱中關(guān)于BP神經(jīng)網(wǎng)絡(luò)的newff,、sim和train 3個函數(shù)[5],進(jìn)行BP網(wǎng)絡(luò)建模和數(shù)據(jù)分析預(yù)測,,其面板如圖3所示,,包括輸入向量路徑選擇、向量數(shù)組顯示,、回歸擬合結(jié)果圖和輸出向量數(shù)組顯示等功能,。

1.1.2 支持向量機(jī)分析模塊
 支持向量回歸SVR(Support Vector Regression)算法的基礎(chǔ)主要是ε不敏感函數(shù)(ε-insensitive function)和核函數(shù)算法,。SVR采用核函數(shù)解決這一矛盾,用核函數(shù)代替線性方程中的線性項可以使原來的線性算法“非線性化”,,即能作非線性回歸,。與此同時,引進(jìn)核函數(shù)達(dá)到了“升維”的目的,,而增加的可調(diào)參數(shù)卻很少,,這樣即便是過擬合也仍能控制[6]。
 本系統(tǒng)支持向量機(jī)分析模塊,,主要利用LabVIEW調(diào)用基于MATLAB平臺的LIBSVM工具箱中的SVMcgForRegress,、svmtrain和svmpredict 3個函數(shù)[7],依據(jù)支持向量回歸方法建立非線性模型,。由于LIBSVM工具箱單維輸出的特點,,對樣本的多種組分應(yīng)分別建立3個回歸模型,進(jìn)行數(shù)據(jù)集的非線性回歸,。支持向量機(jī)算法子VI前面板及程序框圖分別如圖4,、圖5所示。

1.1.3 偏最小二乘分析模塊
 偏最小二乘方法(PLS)作為一種常用的分析算法被廣泛地應(yīng)用于分析化學(xué)研究中,。這種方法不僅吸收了經(jīng)典最小二乘法的優(yōu)點,,同時是主成分回歸(PCR)方法的進(jìn)一步發(fā)展。
 偏最小二乘回歸的基本原理是[8]:考慮p個變量y1,,y2,,…,yp與m個自變量x1,,x2,,…,xm的建模問題,,首先在自變量集中提出第一成分t1(t1是x1,,x2,…,,xm的線性組合,,且盡可能多地提取原自變量集中的變異信息);同時在因變量集中也提取第一成分u1,,并要求t1與u1相關(guān)程度達(dá)到最大,;然后建立因變量y1,y2,,…,,yp與t1的回歸。如果回歸方程已達(dá)到滿意的精度,,則算法中止,;否則繼續(xù)第二對成分的提取,,直到能達(dá)到滿意的精度為止。若最終對自變量集提取r個成分t1,,t2,,…,tr,,則偏最小二乘回歸將通過建立y1,,y2,…,,yp與t1,,t2,…,,tr的回歸式,,然后再表示為y1,y2,,…,,yp與原自變量的回歸方程式,即偏最小二乘回歸方程式,。圖6所示為偏最小二乘算法分析模塊前面板,,圖7所示為偏最小二乘算法子VI程序框圖。該程序主要應(yīng)用了LabVIEW中的report generation工具箱對Excel表格中的訓(xùn)練數(shù)據(jù)進(jìn)行讀取,,并轉(zhuǎn)化成二維數(shù)組形式;再將訓(xùn)練集數(shù)據(jù)輸入MATLAB腳本中,,進(jìn)行偏最小二乘算法分析,;最后利用report generation將訓(xùn)練結(jié)果和預(yù)測結(jié)果生成Excel表格,存儲至數(shù)據(jù)庫,。

1.2 數(shù)據(jù)庫管理模塊
 由三種算法分析預(yù)測的數(shù)據(jù)和建立的模型都被存儲在數(shù)據(jù)庫中,,隨時可以進(jìn)行調(diào)用。由虛擬儀器的測試測量系統(tǒng)得到的數(shù)據(jù)將存儲于數(shù)據(jù)庫中,,以構(gòu)建數(shù)據(jù)訓(xùn)練集,。用戶可隨時調(diào)用歷史數(shù)據(jù)進(jìn)行模型訓(xùn)練和模型訓(xùn)練效果的比較。圖8為數(shù)據(jù)庫管理模塊前面板,。

 

 

 LabVIEW可以通過基于ADO技術(shù)的LabSQL數(shù)據(jù)訪問包,,以調(diào)用子VI的方式進(jìn)行數(shù)據(jù)庫訪問。ADO通過與開放數(shù)據(jù)互連ODBC(Open Database Connectivity)連接可以訪問任何支持ODBC的數(shù)據(jù)庫,,本系統(tǒng)采用Microsoft Access數(shù)據(jù)庫來進(jìn)行數(shù)據(jù)管理,、存儲和查詢。
?。?)數(shù)據(jù)存儲模塊,。首先是建立Access數(shù)據(jù)源,,在Access中建立一個名為MyDB.mdb的數(shù)據(jù)庫,同時在配置DSN時將數(shù)據(jù)源命名為DSN_Wastewater monitoring,,之后就可以在LabVIEW中進(jìn)行調(diào)用LabSQL的函數(shù)功能,。
 (2)歷史數(shù)據(jù)查詢模塊,。同樣利用LabSQL的ADO Connection Create.vi和ADO Connection Open.vi創(chuàng)建數(shù)據(jù)庫連接,,通過SQL Execute.vi執(zhí)行SQL語句“SELECT*FROM 數(shù)據(jù)庫名 WHERE 選擇條件”將所需數(shù)據(jù)抽取出來,在前面板的表格控件中顯示數(shù)據(jù),,并且進(jìn)行格式轉(zhuǎn)換及輸出數(shù)據(jù)趨勢的曲線圖標(biāo),。
2 結(jié)論及展望
 利用此系統(tǒng)的三種算法對某液體推進(jìn)劑(3個組分的混合物)滴定數(shù)據(jù)進(jìn)行回歸分析,得到如表1所示的分析結(jié)果,。


?。?)三種模型的分析結(jié)果都在可接受誤差范圍之內(nèi),可作為此液體推進(jìn)劑的滴定分析結(jié)果,。
?。?)三種分析模型中,偏最小二乘模型的結(jié)果較佳,。三種組分的標(biāo)準(zhǔn)誤差:BP法分別為9.62×10-2,、1.58×10-1、3.40×10-3,;SVR法分別為2.87×10-2,、1.01×10-3、6.67×10-5,;PLS法分別為5.56×10-5,、2.22×10-5、1.11×10-5,。
?。?)基于LabVIEW及化學(xué)計量學(xué)的化學(xué)分析系統(tǒng),操作簡便,,人機(jī)界面友好,,實現(xiàn)了測試數(shù)據(jù)自動分析處理,并實時獲得結(jié)果,,避免了繁瑣的文本程序編譯計算過程,,提高了測試結(jié)果的精度,大大縮短了分析時間,。
?。?)利用LabVIEW的共享變量或Web Server網(wǎng)絡(luò)編程方式,可以為用戶提供一個集算法計算、模型共享,、數(shù)據(jù)共享為一體的化學(xué)分析網(wǎng)絡(luò)平臺,。
 (5)通過對某種液體推進(jìn)劑分析數(shù)據(jù)的驗證,,該系統(tǒng)運(yùn)行良好,,結(jié)果準(zhǔn)確,可作為虛擬儀器測試系統(tǒng)的數(shù)據(jù)處理模塊,,具有一定應(yīng)用價值,。
 (6)本系統(tǒng)將引入更多多元回歸算法[9],,如主成分分析,、多元線性回歸、多元非線性回歸算法,。隨著本系統(tǒng)引入算法種類的不斷增加,,效果的不斷優(yōu)化,系統(tǒng)功能將逐漸完善,,可以進(jìn)行如一元回歸,、多元線性、多元非線性及多維的回歸分析預(yù)測,。
?。?)隨著網(wǎng)絡(luò)的普及,隨著算法可靠性的增加以及算法使用方便性的增加,,會吸引大量的科學(xué)研究工作者在該系統(tǒng)平臺上進(jìn)行計算和程序開發(fā),,其各方面價值會逐步體現(xiàn)。
參考文獻(xiàn)
[1] 許祿.化學(xué)計量學(xué)方法[M].北京:科學(xué)出版社,,2004.
[2] 倪永年.化學(xué)計量學(xué)在分析化學(xué)中的應(yīng)用[M].北京:科學(xué)出版社,,2005.
[3] 曲麗蓉,胡容,,范壽康.LabVIEW、MATLAB及其混合編程技術(shù)[M].北京:機(jī)械工業(yè)出版社,,2011.
[4] 周開利,,康耀紅.神經(jīng)網(wǎng)絡(luò)模型及其MATLAB仿真程序設(shè)計[M].北京:清華大學(xué)出版社,2005.
[5] MATLAB中文論壇.MATLAB神經(jīng)網(wǎng)絡(luò)30個案例分析[M].北京:航空航天大學(xué)出版社,,2010.
[6] 鄧乃樣,,田英杰.數(shù)據(jù)挖掘中的新方法—支持向量機(jī)[M].北京:科學(xué)出版社,2005.
[7] 丁世飛,,齊丙娟.支持向量機(jī)與算法研究綜述[J].電子科技大學(xué)學(xué)報,,2011,40(1).
[8] 王惠文.偏最小二乘回歸方法及其應(yīng)用[M].北京:國防工業(yè)出版社,,2000.
[9] MILLER J N,, MILLER J C. Statistics and chemometrics for analytical chemistry,, fouth edition[M]. England: Pearson Education,2000.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。