童強
(蘭州石化職業技術學院信息處理與控制工程學院,甘肅 蘭州 730060)
表1為二氧化硫在不同濃度下的R、G、B、S、H顏色值。
表1 二氧化硫-各濃度下的顏色值
進行多元回歸時,有些變量是可以剔除的,為此采用matlab進行逐步回歸[1]。MATLAB代碼如下:
clear;clc
C=[153 148 157 138 14
153 147 157 138 16
153 146 158 137 20
153 146 158 137 20
154 145 157 141 19
144 115 170 135 82
144 115 169 136 81
145 115 172 135 83
145 114 174 135 87
145 114 176 135 89
145 114 175 135 89
146 114 175 135 88
142 99 175 137 110
141 99 174 137 109
142 99 176 136 110
141 96 181 135 119
141 96 182 135 119
140 96 182 135 120
139 96 175 136 115
139 96 174 136 114
139 96 176 136 116
139 86 178 136 131
139 87 177 137 129
138 86 177 137 130
139 86 178 137 131
];Y=[0 0 0 0 0 20 20 20 30 30 30
30 50 50 50 80 80 80 100 100 100
150 150 150 150]’;stepwise(C,Y)
程序執行后,顯示如圖1的逐步回歸初始界面,可以看到當前的回歸情況、R2值、F_檢驗值和p值等。
圖1 逐步回歸初始界面
點擊“Next step”按鈕后,加入X2(即G顏色維度值)進行擬合,顯示如圖2。
圖2 提示加入X4變量
再次點擊“Next step”按鈕后,自動加入X4(即S顏色維度)進行擬合,顯示如圖3。
圖3 提示逐步回歸結束
此時,提示“Move no terms”,即:沒有要移除的或要加入的變量了,此時藍色顯示的是被保留的有效行(有效變量維度),紅色顯示的是被剔除的行(變量維度)。由此得到逐步回歸模型:
y=-11.735g-5.04823s+1802.64
而且可以看出,R2=0.882855,說明模型擬合得很好,F_檢驗值=82.9004>0.000,且與顯著性概率相關的p值=5.70133e-11<0.05,從圖中可以看出RMSE(標準誤差)也不太大,這說明逐步回歸效果很好[8]。
鼠標點擊藍色的兩行后,相應行變紅,此時實際上是所有行(變量維度)都未加入,點擊第一行(第一個維度)使其加入,顯示如圖4。
圖4 提示加入變量X5
點擊“Nextstep”按鈕后,自動加入X5(即H顏色維度)進行擬合,顯示如圖5。
圖5 提示逐步回歸結束
此時,逐步回歸執行結束,由此得到另一個逐步回歸模型:
y=-10.0309r+13.0505s-275.674
而且可以看出,R2=0.806436,說明模型擬合得很好,F_檢驗值=45.8286>0.000,且與顯著性概率相關的p值=1.42916e-08<0.05,從圖中可以看出RMSE(標準誤差)也不太大,這說明逐步回歸效果也很好,但不如上一個逐步回歸模型好。
本文基于多元逐步回歸模型得到了較好的顏色讀數與物質濃度關系模型,可用于物質濃度的快速測定。