摘要 本文是討論關(guān)于濃度與顏色讀數(shù)之間的關(guān)系的問題,我們闡述了顏色讀數(shù)的各個(gè)分量間的相互關(guān)系,建立了多元線性回歸模型和二次回歸模型,并對(duì)模型進(jìn)行了誤差分析和優(yōu)化,從而驗(yàn)證了模型的有效性和精確性。模型的在化學(xué)元素檢測(cè)實(shí)驗(yàn)中有一定的參考價(jià)值。
關(guān)鍵字 濃度 顏色讀數(shù) 線性回歸模型 誤差分析
問題的重述
比色法是目前常用的一種檢測(cè)物質(zhì)濃度的方法,即把待測(cè)物質(zhì)制備成溶液后滴在特定的白色試紙表面,等其充分反應(yīng)以后獲得一張有顏色的試紙,再把該顏色試紙與一個(gè)標(biāo)準(zhǔn)比色卡進(jìn)行對(duì)比,就可以確定待測(cè)物質(zhì)的濃度檔位了。由于每個(gè)人對(duì)顏色的敏感差異和觀測(cè)誤差,使得這一方法在精度上受到很大影響。隨著照相技術(shù)和顏色分辨率的提高,希望建立顏色讀數(shù)和物質(zhì)濃度的數(shù)量關(guān)系,即只要輸入照片中的顏色讀數(shù)就能夠獲得待測(cè)物質(zhì)的濃度。試根據(jù)附件所提供的有關(guān)顏色讀數(shù)和物質(zhì)濃度數(shù)據(jù)(參考2017年全國大學(xué)生數(shù)學(xué)建模競(jìng)賽C題附件[1]),下表為其中一小部分?jǐn)?shù)據(jù):
完成下列問題:
(1)附件Data1.xls中分別給出了5種物質(zhì)在不同濃度下的顏色讀數(shù),討論從這5組數(shù)據(jù)中能否確定顏色讀數(shù)和物質(zhì)濃度之間的關(guān)系,并給出一些準(zhǔn)則來評(píng)價(jià)這5組數(shù)據(jù)的優(yōu)劣。
(2)對(duì)附件Data2.xls中的數(shù)據(jù),建立顏色讀數(shù)和物質(zhì)濃度的數(shù)學(xué)模型,并給出模型的誤差分析。
模型假設(shè)
(1)數(shù)據(jù)真實(shí)可靠。
(2)數(shù)據(jù)的采集符合統(tǒng)計(jì)學(xué)原理。
(3)H和S的數(shù)據(jù)作了適當(dāng)?shù)木€性變換,并沒有進(jìn)行隨意采取。
3、問題的分析與準(zhǔn)備
3.1 RGB顏色空間
RGB顏色空間是采用R、G、B相加混色的原理,通過發(fā)射紅、綠、藍(lán)三種不同強(qiáng)度的電子束,疊加而產(chǎn)生色彩的。這種色彩的表示方法稱為RGB色彩空間表示。根據(jù)三基色原理,用基色光單位來表示光的量,則在RGB色彩空間,任意色光F都可以用R、G、B三色不同分量混合而成:
F=rR+gG+bB
特別地,當(dāng)三基色分量都為最弱時(shí)混合為黑色光;當(dāng)三基色分量都為最強(qiáng)時(shí)混合為白色光。RGB色彩空間采用 物理三基色表示,因而物理意義很清楚,適合彩色顯象管工作。然而RGB色彩空間并不適應(yīng)人的視覺特點(diǎn),因而產(chǎn)生了其它不同的色彩空間。
3.2 HSV顏色空間
HSV(hue,saturation,value)顏色空間的模型對(duì)應(yīng)于圓柱坐標(biāo)系中的一個(gè)圓錐形子集(如圖),可以用一個(gè)圓錐空間模型來描述。
HSB(HSV) 通過色相/飽和度/亮度三要素來表達(dá)顏色.
H(Hue):表示顏色的類型(例如紅色,綠色或者黃色).取值范圍為0-360.其中每一個(gè)值代表一種顏色.
S(Saturation):顏色的飽和度.從0到1.有時(shí)候也稱為純度.
B(Brightness or Value):顏色的明亮程度.從0到1.
HSV色彩空間和RGB色彩空間只是同一物理量的不同表示法,因而它們之間存在著相互轉(zhuǎn)換關(guān)系。
3.3 從 RGB 到HSV的轉(zhuǎn)換
在所給的數(shù)據(jù)中顏色讀數(shù)(R G B H S)和(R G B)其實(shí)確定同一種顏色,因此顏色讀數(shù)與濃度的關(guān)系其實(shí)就是(R G B)與濃度的關(guān)系,這也將顏色讀數(shù)的維數(shù)從5維降到了3維,這可以大大提高模型的質(zhì)量。
關(guān)于數(shù)據(jù)的處理與說明
由于R,G,B與H,S,V可以相互轉(zhuǎn)化,該問題中濃度與顏色讀數(shù)的關(guān)系模型如下:
L=F(R,G,B,H,S)=W(R,G,B)+H+S-H(R,G,B)-S(R,G,B)
因此該問題簡(jiǎn)化成求L與R,G,B之間的關(guān)系模型W(R,G,B)。
但是數(shù)據(jù)Data2.xls中關(guān)于H與S的部分根據(jù)函數(shù)H(R,G,B)和S(R,G,B)算得的H和S并不與真實(shí)數(shù)據(jù)一致,根據(jù)數(shù)據(jù)其中的線性關(guān)系,更像是人為的對(duì)數(shù)據(jù)進(jìn)行了線性變換,我們可以對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單的線性擬合,從而找回與數(shù)據(jù)中相匹配的可靠數(shù)據(jù),因此,實(shí)際上以上模型應(yīng)改為:
L=F(R,G,B,H,S)=W(R,G,B)+H+S-αH(R,G,B)-βS(R,G,B)+γ
其中α,β,γ可以用線性擬合求得。數(shù)據(jù)表Data1中用R,G,B求相匹配的H,S的結(jié)果可以用多項(xiàng)式擬合簡(jiǎn)單得到。接下來的論述都是以建立L與R,G,B的關(guān)系為主要任務(wù)。
4、模型的建立與求解
4.1 模型一 線性回歸模型
4.1.1模型建立
在分析數(shù)據(jù)Data1.xls時(shí),畫出(B,L)(G,L)(R,L)的散點(diǎn)圖,我們發(fā)現(xiàn)其中數(shù)據(jù)基本呈現(xiàn)線性關(guān)系。因此針對(duì)數(shù)據(jù)data1.xls建立如下線性回歸模型:
其中L為物質(zhì)的濃度,R,G,B為回歸自變量, 為回歸系數(shù)。
4.1.2模型求解
利用MATLAB統(tǒng)計(jì)工具箱中的命令regress求解,data為自變量與應(yīng)變量的數(shù)據(jù),應(yīng)變量數(shù)據(jù)放第一列,這里數(shù)據(jù)太多就不全部列出了,其命令參照以下代碼:
x1=data(:,2);
x2=data(:,3);
x3=data(:,4);
y=data(:,1);
x4=[ones(10,1)];
x=[x4,x1,x2,x3];
[b,bint,r,rint,stats]=regress(y,x)
for i=1:10
L(i)=b(1)+b(2)*data(i,2)+b(3)*data(i,3)+b(4)*data(i,4);endprint
end
L
得到模型一回歸系數(shù)的估計(jì)值、置信區(qū)間、 、F、p等結(jié)果見表1。
表1
問題一中的濃度與顏色讀數(shù)的關(guān)系為下列5個(gè)模型:
組胺:L=182.3872-0.1718R-2.2888G+0.6512B
溴酸鉀:L=152.2913-1.3663R+7.4619G-7.187B
工業(yè)堿:L=15.5381+0.06R-0.0404G-0.1013B
硫酸鋁鉀:L=7.7733+0.0366R-0.1022G+0.0049B
奶中尿素:L=13891.00649-112.303876R-0.20865303G-2.20340476B
4.1.3比較數(shù)據(jù)的優(yōu)劣
數(shù)據(jù)Data1.xls中5組數(shù)據(jù)分別用模型一進(jìn)行線性回歸,求得每個(gè)樣本的L的回歸值,并相應(yīng)求出絕對(duì)誤差,最后求出相對(duì)平均誤差和誤差方差。每組數(shù)據(jù)的相對(duì)平均誤差定義為:
表2
對(duì)于數(shù)據(jù)的優(yōu)劣我們主要依據(jù)估計(jì)量回歸的誤差分析,一般誤差的均值水平越低說明數(shù)據(jù)回歸的精確度比較高,誤差的方差越小說明數(shù)據(jù)抗干擾能力越強(qiáng),但由于選取樣本點(diǎn)濃度的大小水平不一,因此為了更公平衡量數(shù)據(jù)質(zhì)量,引進(jìn)了相對(duì)與平均濃度的相對(duì)平均誤差 w ?,可見5組數(shù)據(jù)中組胺這組最優(yōu),而奶中尿素這組最劣,其他組相對(duì)中等,具體要看實(shí)驗(yàn)的敏感度的要求而定,我們討論的結(jié)果只是其中的相對(duì)比較。
4.2模型二 二次回歸模型
在分析數(shù)據(jù)Data2.xls時(shí),畫出(B,L)、(G,L)、(R,L)的散點(diǎn)圖,我們發(fā)現(xiàn)其中數(shù)據(jù)基本呈現(xiàn)曲線的形狀,也可能近似于二次函數(shù)。本文采用3維二次函數(shù)窮舉優(yōu)化的方法[4],最終確定以結(jié)果的可行性、誤差、方差所作的綜合評(píng)價(jià)為依據(jù)的最優(yōu)模型。
4.2.1建立模型
s.t 模型可行性、平均誤差最小、誤差方差最小.
4.2.2模型求解
該模型中各個(gè)分模型都可以利用MATLAB統(tǒng)計(jì)工具箱中的命令regress求解, data為自變量與應(yīng)變量的數(shù)據(jù),應(yīng)變量數(shù)據(jù)放第一列,這里數(shù)據(jù)太多就不列出了,以下命令為線性回歸完全二次方程的命令,其他幾個(gè)只要修改一下x即可。
x1=data(:,2);
x2=data(:,3);
x3=data(:,4);
x4=x1.^2;
x5=x2.^2;
x6=x3.^2;
x7=x1.*x2;
x8=x1.*x3;
x9=x2.*x3;y=data(:,1);
x10=[ones(25,1)];
x=[x10,x1,x2,x3,x4,x5,x6,x7,x8,x9];
[b,bint,r,rint,stats]=regress(y,x)
for i=1:25 L(i)=b(1)+b(2)*data(i,2)+b(3)*data(i,3)+b(4)*data(i,4)+b(5)*(data(i,2))^2+b(6)*(data(i,3))^2+b(7)*(data(i,4))^2+b(8)*data(i,2)*data(i,3)+b(9)*data(i,2)*data(i,4)+b(10)*data(i,3)*data(i,4);
end
L
其主要數(shù)據(jù)列在下表:
從R^2、F、p可以看到8個(gè)模型都是可用,并且完全二次模型R^2=0.99057,說明該模型回歸質(zhì)量更好,其次看它們的平均誤差與誤差的方差完全二次模型明顯更小,根據(jù)以上比較,確定二次模型中,完全二次模型最好,并求得L與R,G,B之間的關(guān)系滿足以下完全二次模型:
L=146640.8869-2288.20429R+460.1482G-83.0718B+〖10.63497R〗^2+0.973G^2+0.3904B^2-5.6242RG-0.9313RB+0.7849GB
4.2.3誤差分析
根據(jù)上式,用MATLAB求得樣本的回歸值、絕對(duì)誤差、平均誤差、誤差方差[3]如下表:
從絕對(duì)誤差可以看到誤差與估計(jì)量的大小無單調(diào)相關(guān)性,但大誤差在中間部分20、30、50時(shí)明顯分布較多,兩頭的誤差較小,最大誤差為8.4444,最小誤差為0.0431,可以看到并非基數(shù)越大誤差越大,基數(shù)越小誤差越小,與基數(shù)無關(guān),平均誤差為3.873604,誤差的方差為3.150453。
5、模型推廣與評(píng)價(jià)
模型僅針對(duì)該問題作了線性回歸和二次回歸,并沒有去考慮其它非線性回歸的方法,在其它模型類型方面可能還會(huì)有更好的模型,但是作為本文中的模型,方法正確,結(jié)果明確,也具有一定的價(jià)值,期待以后會(huì)有更好更正確的認(rèn)識(shí)。
6、參考文獻(xiàn)
[1] http://mcm.blyun.com/
[2]http://blog.csdn.net/xhhjin/article/details/7020449
http://zhouqingfeidie.blog.163.com/blog/static/301717722011112395956592/
[3]吳建國.數(shù)學(xué)建模案例精編[M].北京:中國水利水電出版社,2005.
[4]姜啟源,謝金星,葉俊.數(shù)學(xué)模型[M].北京:高等教育出版社:三版,2003.
作者簡(jiǎn)介:
王金生(1980-1-2),男,漢族,浙江金華人,講師,湖南師范大學(xué)基礎(chǔ)數(shù)學(xué)專業(yè)碩士,主要從事動(dòng)力系統(tǒng)和數(shù)學(xué)建模方面的研究。endprint