- 礦物加工測試技術
- 李龍江 黃宋魏 成獎國
- 8764字
- 2020-02-26 12:33:23
2.2 測量數據的處理
2.2.1 測量誤差
(1)測量誤差的概念
測量結果不能準確地反映被測量的真值,存在一定的偏差,這個偏差就是測量誤差。
誤差產生的原因主要有:
①檢測系統(儀表)不可能絕對精確。
②測量原理的局限性、測量方法的不盡完善。
③環境因素和外界干擾。
④測量過程中被測對象原有狀態的改變。
(2)誤差的表示方法
誤差有兩種表示方法:絕對誤差(absolute error,E)和相對誤差(relative error,Er)。絕對誤差是測量值(x)與真實值(xT)之間的差值,即
E=x-xT (2-2)
絕對誤差的單位與測量值的單位相同,誤差越小,表示測量值與真實值越接近,測量的準確度越高;反之,誤差越大,測量的準確度越低。絕對誤差有正負之分,當測量值大于真實值時,誤差為正值,表示測量結果偏高;反之,誤差為負值,表示測量結果偏低。
相對誤差是指絕對誤差相當于真實值(或實際值)的百分率,表示為
(2-3)
由絕對誤差的定義可知,相對誤差也有大小、正負之分。相對誤差反映的是誤差在真實值中所占的比例大小,因此在絕對誤差相同的條件下,待測量的值越大,相對誤差越小;反之,則相對誤差越大。相對誤差通常用于衡量測量的準確程度。相對誤差越小,準確程度越高。
使用相對誤差只能說明不同測量結果的準確程度,但不適用于衡量測量儀表本身的質量。為了更合理地評價儀表質量,采用了引用誤差的概念。
引用誤差是絕對誤差E與儀表量程A的比值,通常以百分數表示。引用誤差也是一種相對誤差,常應用于多擋和連續刻度的儀器儀表中,用于衡量測量儀表本身的質量。
最大引用誤差:如果以測量儀表整個量程中,可能出現的絕對誤差最大值Emax代替E,則可得到最大引用誤差。一臺確定的儀表或一個檢測系統的最大引用誤差是一個定值。
(3)真值
在計算絕對誤差和相對誤差的過程中,均涉及真實值(xT),簡稱真值。真值是指某一物理量本身具有的、客觀存在的真實數值,一般將嚴格定義的理論值叫作理論真值。嚴格地說,用測量的方法是得不到真值的。
常見的主要有約定真值和相對真值兩種形式。
約定真值主要是從計量學的角度而言的,如國際計量大會上確定的長度、質量、物質的量單位等。根據國際計量委員會通過并發布的各種物理參量單位的定義,利用當今最高科學技術復現的這些實物單位基準,其值被公認為國際或國家基準,稱為約定真值。
相對真值是指人們設法采用各種可靠的分析方法,使用最精密的儀器,經過不同實驗室、不同人員進行平行分析,用數理統計方法對分析結果進行處理,從而確定出的一個相對準確的標準值。如果高一級檢測儀器(計量器具)的誤差僅為低一級檢測儀器誤差的1/10~1/3,則可認為前者是后者的相對真值。
(4)誤差的分類
根據誤差出現的規律可將誤差分為系統誤差、隨機誤差和粗大誤差。
①系統誤差 在相同條件下,多次重復測量同一被測參量時,其測量誤差的大小和符號保持不變,或在條件改變時,誤差按某一確定的規律變化,或誤差與某一個或幾個因素成函數關系,這種測量誤差稱為系統誤差。誤差值恒定不變的又稱為定值系統誤差,誤差值變化的則稱為變值系統誤差。系統誤差主要是由某種固定的原因造成的,具有重復性、單向性。從理論上講,系統誤差的大小、正負是可以測定的,所以又稱可測誤差。
根據系統誤差產生的具體原因,可以將其分為:方法誤差、儀器誤差、操作誤差和主觀誤差等幾類。系統誤差產生原因主要有:儀器的制造、安裝或使用方法不正確,不良的讀數習慣等。系統誤差是一種有規律的誤差,可以采用修正值或補償校正的方法來減小或消除。
②隨機誤差 亦稱偶然誤差,是指在相同條件下多次重復測量同一被測參量時,測量誤差的大小與符號均無規律變化,這類誤差稱為隨機誤差。隨機誤差往往是由某些難以控制且無法避免的偶然因素造成的,是服從統計規律的誤差。
隨機誤差產生原因主要是測量環境的偶然變化。雖然單次測量的隨機誤差沒有規律,但多次測量的總體卻服從統計規律,通過對測量數據的統計處理,能在理論上估計其對測量結果的影響。通常,用精密度表征隨機誤差的大小。精密度是指幾次平行測量結果之間的相互接近程度。精密度越低,隨機誤差越大;精密度越高,隨機誤差越小。
③粗大誤差 又稱為壞值或異常值,是一種顯然與實際值不符的誤差。粗大誤差是指明顯超出預期的誤差,特點是誤差數值大,明顯歪曲了測量結果。正常的測量數據應是剔除了粗大誤差的數據,因此我們通常研究的測量結果誤差中僅包含系統誤差和隨機誤差。
產生粗大誤差的原因主要有:測錯、讀錯、記錯以及未達到條件匆忙實驗等。這種誤差的實質就是錯誤,一旦發生只能重新進行測量和實驗。
各次測量值的絕對誤差等于系統誤差和隨機誤差的代數和。
此外,根據使用條件還可將誤差劃分為基本誤差和附加誤差。基本誤差是指儀器在標準條件下使用所具有的誤差。附加誤差是指當使用條件偏離標準條件時,在基本誤差的基礎上增加的新的系統誤差。
研究測量誤差的目的主要是:
a.研究測量誤差的性質,分析產生的原因,以尋求最大限度地消除或減小測量誤差的途徑。
b.尋求正確處理測量數據的理論和方法,以便在同樣條件下能獲得最精確、最可靠地反映真實值的測量結果。
2.2.2 隨機誤差的統計處理
凡是測量都存在誤差,用數字表示的測量結果都具有不確定性。如何更好地表達測量結果,對測量的可疑值或離群值有根據地進行取舍;如何比較不同測量工作者的測量結果以及用不同的方法得到的測量結果等,這些問題都需要用數理統計的方法加以解決。
隨機誤差是由沒有規律的大量的微小因素共同作用產生的結果,因而不易掌握,也難以消除。但隨機誤差具有隨機變量的一切特點,它的概率分布通常服從一定的統計規律。因此,可以用數理統計的方法,對其分布范圍做出估計。
2.2.2.1 隨機誤差的分布規律
假定對某個被測參量等精度重復測量n次,其測量值分別為X1、X2、…、Xi、…、Xn,則每次測量的測量誤差,即隨機誤差(假定已消除系統誤差)分別為:
x1=X1-X0
x2=X2-X0
…… (2-4)
xi=Xi-X0
xn=Xn-X0
式中,X0為真值。
大量的試驗結果還表明:隨機誤差的分布規律多數都服從正態分布。如果以偏差幅值(有正負)為橫坐標,以偏差出現的次數為縱坐標,作圖可以看出,滿足正態分布的隨機誤差整體上具有下列統計特性:
①有界性 隨機誤差的幅度均不超過一定的界限。
②單峰性 幅度小的隨機誤差比幅度大的隨機誤差出現的概率大。
③對稱性 等值而符號相反的隨機誤差出現的概率接近相等。
④抵償性 隨機誤差滿足在相同條件下,當測量次數n→∞時,全體隨機誤差的代數和等于0,即
(2-5)
因此,提出隨機誤差符合一定的分布規律需滿足以下兩個前提:
①系統誤差被盡力消除或減小到可以忽略的程度。
②隨機誤差雖然是由大量的沒有規律的微小因素共同作用產生的,但是隨機誤差具有隨機變量的一切特點。概率分布通常服從一定的統計規律,且多數都服從正態分布。
(1)正態分布
高斯于1795年提出的連續型正態分布隨機變量x的概率密度函數表達式為:
(2-6)
(2-7)
式中 σ——隨機變量x的標準偏差(簡稱標準差),代表了隨機誤差對測量結果的影響程度;
μ——隨機變量的數學期望值,即總體平均值;
e——自然對數的底;
σ2——隨機變量的方差;
n——隨機變量的個數。
μ和σ是決定正態分布曲線的特征參數。μ是正態分布的位置特征參數;σ為正態分布的離散特征參數。μ值改變,σ值保持不變,正態分布曲線的形狀保持不變而位置由于μ值改變而沿橫坐標移動,如圖2-2所示。μ值不變,σ值改變,則正態分布曲線的位置不變,但形狀改變,σ對正態分布的影響如圖2-3所示。

圖2-2 μ對正態分布的影響示意圖

圖2-3 σ對正態分布的影響示意圖
從圖2-2和圖2-3中可看出:分析隨機誤差時,標準差σ表征測量數據的離散程度。σ越小,數據越集中,測量的精密度(表示幾次平行測量結果之間的相互接近程度)越高。
(2)均勻分布
均勻分布的特點是:在某一區域內,隨機誤差出現的概率處處相等,而在該區域外隨機誤差出現的概率為零。均勻分布的概率密度函數φ(x)為:
(2-8)
式中,a為隨機誤差x的極限值。
均勻分布的隨機誤差概率密度函數的圖形呈直線形,如圖2-4所示。

圖2-4 均勻分布曲線
2.2.2.2 測量數據的隨機誤差估計
測量數據的隨機誤差可以通過測量真值、測量值的均方根誤差、算術平均值的標準差和測量結果的置信度(正態分布時)等進行估計。
(1)測量真值估計
在實際工程測量中,測量次數n不可能無窮大,而測量真值X0通常也不可能已知。根據對已消除系統誤差的有限次等精度測量數據樣本X1、X2、…、Xi、…、Xn求其算術平均值,即:
(2-9)
式中,為被測參量真值X0(或數學期望μ)的最佳估計值。
(2)測量值的均方根誤差估計
對已消除系統誤差的一組n個等精度測量數據X1、X2、…、Xi、…、Xn采用其算術平均值近似代替測量真值X0后,計算結果總會有偏差,偏差的大小,常使用貝塞爾(Bessel)公式來計算:
(2-10)
(3)算術平均值的標準差估計
算術平均值的標準差為:
(2-11)
測量次數n是一個有限值,為了不產生誤解,建議用算術平均值的標準差和方差的估計值與
代替
。
算術平均值的方差僅為單次測量值Xi方差的1/n,算術平均值的離散度比測量數據Xi的離散度要小。因此,在有限次等精度重復測量中,用算術平均值估計被測量值要比用測量數據序列中的任何一個都更為合理和可靠。
式(2-11) 表明:
①n較小時,增加測量次數n,可減小測量結果的標準偏差,提高測量的精密度。
②增加測量次數n,使數據采集和處理的工作量增加,且因測量時間不斷增大而使“等精度”的測量條件無法保持,由此產生新的誤差。
③測量次數n一般取4~24次。
(4)正態分布時測量結果的置信度
對于正態分布,由于測量值在某一區間出現的概率與標準差σ的大小相關,故一般把測量值Xi與真值X0的偏差Δx的置信區間取為σ的若干倍,即
Δx=±kσ (2-12)
式中,k為置信系數。
對于正態分布,測量偏差Δx落在某區間的概率表達式:
(2-13)
令δ=x-μ,則有:
(2-14)
置信系數k 值確定后,置信概率便可確定。由式(2-14)知,當k 分別選取1、2、3時,測量誤差Δx分別落入正態分布置信區間±σ、±2σ、±3σ的概率值分別如下:
圖2-5為不同置信區間的概率分布示意圖。

圖2-5 不同置信區間的概率分布示意圖
2.2.3 系統誤差的處理方法
在工程測量中,系統誤差與隨機誤差總是同時存在的,但系統誤差往往遠大于隨機誤差。為保證和提高測量精度,需要研究發現系統誤差,進而研究校正和消除系統誤差的原理、方法與措施。系統誤差的特點是具有規律性,一般可通過實驗和分析研究確定與消除。
系統誤差主要有以下類型:①大小與方向不隨時間變化的恒差型系統誤差。②隨時間呈線性變化的線性變差型系統誤差。③隨時間作某種周期性變化的周期變差型系統誤差。
系統誤差(Δx)隨測量時間變化的幾種常見關系曲線如圖2-6所示。

圖2-6 系統誤差的集中常見關系曲線
圖2-6中,曲線1表示測量誤差的大小與方向不隨時間變化的恒差型系統誤差;曲線2為測量誤差隨時間以某種斜率呈線性變化的線性變差型系統誤差;曲線3表示測量誤差隨時間作某種周期性變化的周期變差型系統誤差;曲線4為上述三種關系曲線的某種組合形態,呈現復雜規律變化的復雜變差型系統誤差。
2.2.3.1 系統誤差的判別和確定
(1)恒差系統誤差的確定
①實驗比對法 對于不隨時間變化的恒差型系統誤差,通常可以用實驗比對的方法發現和確定。實驗比對的方法又分為標準器件法(簡稱標準件法)和標準儀器法(簡稱標準表法)兩種。
②原理分析與理論計算法 因轉換原理、檢測方法或設計制造方面存在不足而產生的恒差型系統誤差可通過原理分析與理論計算來加以修正。此類誤差的表現形式為:在傳感器轉換過程中存在零位、傳感器輸出信號與被測參量間存在非線性、傳感器內阻大而信號調理電路輸入阻抗不夠高、處理信號時可略去高次項或采用精簡化的電路模型等。
③改變外界測量條件法 有些檢測系統在工作環境或被測參量數值變化的情況下,測量系統誤差也會隨之變化。對這類檢測系統需要通過逐個改變外界測量條件,以發現和確定儀器在不同工況條件下的系統誤差。
(2)變差系統誤差的確定
變差系統誤差即測量系統誤差按照某種確定規律變化。可采用以下方法確定是否存在變差系統誤差:
①殘差觀察法 殘差(也即剩余偏差)是各測量值與全部測量數據算術平均值之差。根據測量數據的各個剩余誤差大小和符號的變化規律來判斷有無按某種規律變化的變差系統誤差。該法僅適用于規律變化的系統誤差的確定。
殘差觀察法使用的前提是系統誤差比隨機誤差大。具體通過如下過程來實現:
把測量值及其殘差按先后次序分別列表,觀察和分析殘差值的大小和符號的變化。若殘差序列呈遞增或遞減的規律,且殘差序列減去其中值后的新數列在以中值為原點的數軸上呈正負對稱分布,則存在累進性的線性系統誤差;如果偏差序列呈有規律的交替重復變化,則存在周期性系統誤差。
②馬利科夫準則 馬利科夫準則適用于判斷、發現和確定線性系統誤差。
(2-15)
準則的使用方法是:首先將同一條件下重復測量得到的一組測量值X1、X2 、…、Xi 、…、Xn按序排列,并按照上式求出相應的殘差ν1、ν2 、…、νi 、…、νn,將殘差序列以中間值νk為界分為前后兩組,分別求和,然后把兩組殘差和相減,即:
(2-16)
當n為偶數時,取k=n/2、s=n/2+1;當n為奇數時,取k=(n+1)/2=s。
若D近似等于零,表明不含線性系統誤差;若D明顯不為零(且大于νi),則表明存在線性系統誤差。
③阿貝-赫梅特準則 阿貝-赫梅特準則適用于判斷、發現和確定周期性系統誤差。
該準則的使用方法是:將同一條件下重復測量得到的一組測量值X1、X2、…、Xn按序排列,并根據式(2-15)求出殘差ν1、ν2 、…、νn,然后計算A:
(2-17)
如果式(2-17)中成立(σ2為本測量數據序列的方差),則表明存在周期性系統誤差。
2.2.3.2 減小和消除系統誤差的方法
(1)針對產生系統誤差的主要原因采取對應措施
對測量過程中可能產生的系統誤差的環節作仔細分析,尋找產生系統誤差的主要原因,并采取相應措施是減小和消除系統誤差最基本和最常用的方法。
(2)采用修正方法減小恒差系統誤差
具體做法是:測量前先通過標準器件法或標準儀器法比對,得到該檢測儀器系統誤差的修正值,制成系統誤差修正表;用該檢測儀器進行具體測量時將測量值與修正值相加,從而大大減小或基本消除該檢測儀器原先存在的系統誤差。
(3)采用交叉讀數法減小線性系統誤差
交叉讀數法,又稱對稱測量法,這種方法用于消除線性變化的系統誤差,是在時間上將測量順序等間隔對稱安排,取各對稱點兩次交叉讀入測量值,然后取其算術平均值作為測量值,即可有效地減小測量的線性系統誤差。
(4)采用半周期偶數測量法減小周期性系統誤差
對于周期性變化的系統誤差,可用半周期偶數測量法消除,即相隔半個周期進行一次測量。取兩次讀數的算術平均值,即可有效地減小周期性系統誤差。因為相差半周期的兩次測量,其誤差在理論上具有大小相等、符號相反的特征。所以這種方法在理論上能很好地減小和消除周期性系統誤差。如圖2-7所示。

圖2-7 半周期法讀數示意圖
此外,對于系統誤差,還可以采用交換法、補償法、差分法、比值補償法等進行減小和消除。
2.2.4 粗大誤差的處理方法
在測量和實驗中,當對同一試樣進行多次平行測定時,發現某一組測量值中,往往有個別數據與其他數據相差較大,將這一測量數值稱為可疑值(也稱離群值或極端值)。如果確定該數值是由于過失造成的,則可以直接棄去不要,否則不能隨意舍棄或保留,應該用統計檢驗的方法,確定該可疑值與其他數據是否來源于同一總體,是否存在粗大誤差,以決定其取舍。常用拉伊達(Pauta)準則和格魯布斯(Grubbs)準則進行處理和判斷。
(1)拉伊達準則
拉伊達準則是對于服從正態分布的等精度測量,其某次測量誤差|Xi-X0|大于3σ的可能性僅為0.27%。因此,把測量誤差大于標準誤差σ(或其估計值)的3倍測量值作為測量壞值予以舍棄。實際應用的拉伊達準則表達式為:
(2-18)
在應用拉伊達準則時,需要注意以下幾點:
①拉伊達準則只適用于測量次數較多(n>25)、測量誤差分布接近于正態分布的情況使用。
②當等精度測量次數較少(n≤20)時,采用基于正態分布的拉伊達準則,其可靠性將變差,且容易造成鑒別值界限太寬而無法發現壞值。
③當測量次數n<10時,拉伊達準則將徹底失效,不能判別任何粗大誤差。
當測量次數n<10時,則需采用4法,即用s代替σ,用
代替δ,故可粗略地認為,偏差大于4
的個別測量值可以舍去。
采用該法在判斷可疑值取舍時雖然存在較大誤差,但是由于其使用起來比較簡單,不需要查表,至今仍被許多人采用。但是當該法與其他檢驗法判斷的結果發生矛盾時,應以其他法判斷的結果為準。
采用4法判斷可疑值時,首先應求出除可疑值外的其余測量數值的平均值和平均偏差,然后將可疑值與平均值
進行比較,如可疑值與平均值的差的絕對值大于4
,則將該可疑值舍去,否則應保留。
(2)格魯布斯準則
格魯布斯準則是以小樣本測量數據,以t分布為基礎用數理統計方法推導得出的。在小樣本測量數據中滿足表達式:
(2-19)
格魯布斯準則的鑒別值KG(n,α)是和測量次數n、危險概率α相關的數值,可通過查相應的數表獲得。表2-1是工程常用α=0.05和α=0.01在不同測量次數時,對應的格魯布斯準則鑒別值KG(n,α)表。
表2-1 KG(n,α)數值表

當α=0.05或0.01時,可得到鑒別值KG(n,α)的置信概率P分別為0.95和0.99。即按式(2-19)得出的測量值大于按表2-1查得的鑒別值KG(n,α)的可能性僅分別為0.5%和1%,說明該數據是正常數據的概率很小,可以認定該測量值為壞值并予以剔除。
注意:若按式(2-19)和表2-1查出多個可疑測量數據時,只能舍棄誤差最大的可疑數據,然后按剔除后的測量數據序列重新計算、
,并重復進行以上判別,直到判明無壞值為止。
2.2.5 測量數據的MATLAB處理
在實際的實驗和工程測量以及電子信號處理中,通常是通過不同的方式測得或采集到一些離散數據點,在對這些數據點進行利用之前,必須先對這些數據點進行分析和處理,如剔除誤差較大的或明顯不正確的點,以提高數據的準確性;有時由于條件限制,不能通過現有的測量手段得到希望的數據量,則可以通過測量其他的量, 并對所測得的數據進行運算, 便可間接地得到所希望的數據等等,這些都稱為數據處理。目前,可以進行數據處理的數學軟件大約有30多個,但是比較起來,它們在數值分析、算法處理和繪制圖形等方面的效率遠遠低于MATLAB軟件。
MATLAB是美國MathWorks公司從1984年開始推出的一種高性能數值計算軟件, 經過多年來的升級、改進和不斷完善,現已發展成為集數學運算、圖形處理、程序設計和系統建模為一體的著名編程語言軟件。MATLAB以矩陣運算為基礎, 把計算、可視化、程序設計融合到一個交互的工作環境中,從而實現工程計算、仿真、數據分析及可視化、繪圖、應用程序開發等功能。
MATLAB具有用法簡單、靈活、程序結構性強、延展性好等優點,已經逐漸成為科學計算、視圖交互系統和程序中首選的編程語言工具。由于它功能強大、適合多學科和多種工作平臺,所以在國外的大學里已經成為一種必須掌握的基本編程語言。而在國內的研究設計單位和工業部門中,MATLAB也已經成為研究和解決工程問題的重要應用軟件。MATLAB在測量數據測試處理領域有著多個方面的應用,具體安裝可以參考相關手冊,下面介紹MATLAB在測試分析技術中常用的幾種功能。
(1)簡單數值運算
MATLAB中提供了許多簡單的功能函數,可以直接對測量得到的數據進行數值計算,由于其命令名字和英文意思相當,因此命令十分簡單。
【例2-1】 隨機測量礦漿管道的公稱直徑,測得它們(樣本)的直徑(單位:mm)分別為:74.001,74.005,74.003,74.001,74.000,73.998,74.006,74.002。試求樣本的平均值d、方差a2,標準差a和平均標準偏差anp。
解 用MATLAB編程如下:
>>d=[74.001 74.005 74.003 74.001 74.000 73.998 74.006 74.002];k=8;
>>mean(d)%求平均值
>>a2=var(d)%方差=a2
>>a=std(d)%標準差=a
>>anp=a/sqrt(k)%平均標準偏差=anp
ans=
74.0020 %輸出平均值
a2=
6.8571e-006 %輸出方差
a=
0.0026 %輸出標準差
anp=
9.2582e-004 %輸出平均標準偏差
(2)數據誤差處理
對測量所得的數據進行處理時,有時需要首先找出粗大誤差的數據并將其剔除,這樣可以增加測量的準確性。判斷粗大誤差的依據有拉伊達準則和肖維涅(chauvenet)準則,而肖維涅準則的精度更高。下面舉例來說明采用肖維涅準則先剔除粗大誤差,然后再求平均值和標準誤差。
【例2-2】 有一組電阻測量值為:101.2,101.8,101.3,101.0,101.5,101.3,101.2,101.4,101.3,101.1(單位:Ω)。現求其平均值及其標準誤差,如有異常值舍去。
解 用MATLAB編程如下:
>>R=[101.2 101.8 101.3 101.0 101.5 101.3 101.2 101.4 101.3 101.1];
>>R1=sort(R);%對實驗數據遞增排序
>>r=R1';
>>n=length(r);
>>mean1=mean(r);
>>std1=std(r);
>>c=log(n-1.69)/2.84+1.22-n/3300;%求肖維涅準則的系數
>>min=mean1-c*std1; %找出具有粗大誤差的數據
>>B=find(r<P);
>>m1=length(B);
>>max=mean1+c.*stdl;
>>A=find(r>max);
>>m2=length(A);
>>k=r(m1+1/n-m2);%剔除具有粗大誤差的數據
>>mean2=mean(k);%求平均值
>>std2=std(k);%求標準誤差
>>sprintf('%s%0.1f%s%0.1f%s','R=',mean2, '±',std2,'Ω');%輸出結果
ans=
R=101.3±0.2Ω
結果符合誤差理論的要求,增加了科學性。
(3)繪制數據圖
MATLAB軟件擁有強大的繪圖功能,可以非常容易地產生在測量數據處理中經常使用的柱形圖和散點圖,還可以用散點圖描繪測量圖線。這使得圖示圖解法在處理測量數據時變得很方便,把一些繁雜的工作變得簡單明了。
【例2-3】 平面光柵單色儀的使用實驗中,波長(λ)和光強(I)的數據有幾十個,見表2-2。
表2-2 波長和光強關系表

如果用手工繪圖將十分費事,使用MATLAB繪圖命令就可以很方便地繪出光譜圖。
解 用MATLAB編程如下:
>>x=300:20:800;
>>y=[1,2,7,25,62,120,218,368,546,732,919,1096,1252,1368,1446,1533,1538,1458,1258,988,696,455,266,143,72,42];
>>scatter(x,y,'*');
>>hold on;
>>xi=300:1:800;
>>yi=interp1(x,y,xi,'spline');
>>plot(x,y,'*',xi,yi,'b-');
>>grid on
(4)MATLAB線性回歸分析
①多元線性回歸 在MATLAB統計工具箱中使用命令regress( )實現多元線性回歸,調用格式
b=regress(y,x)
或
[b,bint,r,rint,statsl]=regess(y,x,alpha)
其中,因變量y為n*1的矩陣;自變量x為[ones(n,1),x1,…,xm]的矩陣;n表示數據點個數;m表示自變量個數;alpha為顯著性水平(缺省時設定為0.05);輸出向量b、bint為回歸系數估計值和它們的置信區間;r、rint為殘差及其置信區間。stats是用于檢驗回歸模型的統計量,有三個數值,第一個是R°,其中R是相關系數,第二個是F統計量值,第三個是與統計量F對應的概率P,當P<α時拒絕H0,回歸模型成立。
畫出殘差及其置信區間,用命令rcoplot(r,rint)
【例2-4】 已知某湖八年來湖水中COD濃度實測值(y)與影響因素湖區工業產值(x1)、總人口數(x2)、捕魚量(x3)、降水量(x4)資料,建立污染物y的水質分析模型。
解 a.輸入數據
x1=[1.376, 1.375, 1.387, 1.401, 1.412, 1.428, 1.445, 1.477]
x2=[0.450, 0.475, 0.485, 0.500, 0.535, 0.545, 0.550, 0.575]
x3=[2.170 ,2.554, 2.676, 2.713, 2.823, 3.088, 3.122, 3.262]
x4=[0.8922, 1.1610 ,0.5346, 0.9589, 1.0239, 1.0499, 1.1065, 1.1387]
y=[5.19, 5.30, 5.60,5.82,6.00, 6.06,6.45, 6.95]
b.保存數據(以數據文件.mat形式保存,便于以后調用)
save data x1 x2 x3 x4 y
load data%(取出數據)
c.執行回歸命令
x=[ones(8,1),x1,x2,x3,x4];
或者
x=[x1' x2' x3' x4'];
[b,bint,r,rint,stats]=regress(y,x)
得結果:
b=(-16.5283,15.7206,2.0327,-0.2106,-0.1991)’
stats=(0.9908,80.9530,0.0022)
即最終擬合曲線模型為:
y=-16.5283+15.7206*xl+2.0327*x2-0.2106*x3+0.1991*x4
R2=0.9908,F=80.9530,P=0.0022
②非線性回歸 非線性回歸可由命令nlinfit來實現,調用格式為
[beta,r,j]=nlinfit(x,y,'model’,beta0)
其中,輸入數據x,y分別為n×m矩陣和n維列向量,對一元非線性回歸,x為n維列向量model是事先用m-文件定義的非線性函數,beta0是回歸系數的初值,beta是估計出的回歸系數,r是殘差,j是Jacobian矩陣,它們是估計預測誤差需要的數據。
預測和預測誤差估計用命令
[y,delta]=nlpredci(’model’,x,beta,r,j)
【例2-5】 對例2-4中COD濃度實測值(y),建立時序預測模型,這里選用logistic模型。
解 a.對所要擬合的非線性模型建立的m-文件mode1.m如下:
function yhat=model(beta,t)
yhat=beta(1)./(1+beta(2)*exp(-beta(3)*t))
b.輸入數據
t=1:8
load data y%在data.mat中取出數據y
beta0=[50,10,1]’
c.求回歸系數
[beta,r,j]=nlinfit(t’,y’,’model’,beta0)
得結果:
beta=(56.1157,10.4006,0.0445)’
d.預測及作圖
[yy,delta]=nlprodei(’model’,t’,beta,r,j);
plot(t,y,’k+’,t,yy,’r’)
③逐步回歸 逐步回歸的命令是stepwise,它提供了一個交互式畫面,通過此工具可以自由地選擇變量,進行統計分析。調用格式為:
stepwise(x,y,inmodel,alpha)
其中x是自變量數據,y是因變量數據,分別為n×m和n×l矩陣,inmodel是矩陣的列數指標(缺省時為全部自變量),alpha為顯著性水平(缺省時為0.5)。
結果產生三個圖形窗口,在stepwise plot窗口,虛線表示該變量的擬合系數與0無顯著差異;實線表示有顯著差異,紅色線表示從模型中移去的變量,綠色線表明存在模型中的變量,點擊一條會改變其狀態。在stepwise table窗口中列出一個統計表,包括回歸系數及其置信區間,以及模型的統計量剩余標準差(RMSE),相關系數(R-square),F值和P值。
對不含常數項的一元回歸模型 ,在MATLAB中進行回歸分析的程序為:
b=regress(y,x)
[b,bint,r,rint,stats]=regress(y,x)
[b,bint,r,rint,stats]=regress(y,x,alpha)
說明
b=regress(y,x)返回基于觀測y和回歸矩陣x的最小二乘擬合系數的結果。
[b,bint,r,rint,stats]=regress(y,x)則給出系數的估計值b;系數估計值的置信度95%的置信區間bint;殘差r及各殘差的置信區間rint;向量stats給出回歸的R2統計量和F以及P值。
[b,bint,r,rint,stats]=regess(y,alpha)給出置信度為1~alpha的結果,其他符號意義同上。
結果說明:b為回歸模型中的常數項及回歸系數; bint為各系數的95%置信區間;r和rint為對應每個實際值的殘差和殘差置信區間;stats向量的值分別為擬合優度、F值和顯著性概率P。
MATLAB的其他應用功能不再一一列舉,感興趣的讀者可以參考MATLAB的相關應用手冊。