宋 靜, 邱 坤
(1.成都工業(yè)職業(yè)技術(shù)學(xué)院, 成都 610213; 2.農(nóng)業(yè)農(nóng)村部沼氣科學(xué)研究所, 成都 610041)
回歸模型主要研究多個影響因素對目標(biāo)函數(shù)的影響(研究變量之間的關(guān)系)。具體的做法是:首先收集大量的數(shù)據(jù),對數(shù)據(jù)進(jìn)行篩選(畫出散點(diǎn)圖),剔除無效數(shù)據(jù);對數(shù)據(jù)的統(tǒng)計進(jìn)行分析(首先確定選擇函數(shù)公式的類型),利用最小二乘法建立數(shù)學(xué)模型(方程組)并求解得到回歸方程的表達(dá)式,之后再對回歸模型進(jìn)行顯著性檢驗(相關(guān)系數(shù)檢驗、F檢驗法、殘差分析等);上述步驟也可采用SPSS統(tǒng)計軟件、MATLAB等數(shù)學(xué)、統(tǒng)計軟件進(jìn)行?;貧w模型包括:線性回歸模型(一元線性回歸模型、多元線性回歸模型)和非線性回歸模型(一元非線性回歸模型、多元非線性回歸模型)[1]。
以多元線性回歸模型為例:設(shè)因變量為y,影響因變量的因素(自變量)為x1,x2,x3,…,xn,誤差項為ε,建立方程:
y=a0+a1x1+a2x2+…+anxn+ε
(1)
式中:a0,a1,a2,…,an為模型參數(shù)
1986年,由Rumelhart和McClelland提出的多層前饋神經(jīng)網(wǎng)絡(luò)。通過采用一種誤差反向傳播算法(BP算法),算法的原理為:利用輸出后的得到誤差來估計輸出前面一層的誤差,再用這個誤差估計更前一層的誤差,按照此規(guī)律進(jìn)行,一層層傳遞下去,從而獲得所有各層的誤差估計,我們可以根據(jù)各層的誤差來修正各層的權(quán)值[2]。通過多次迭代計算,實現(xiàn)實際輸出與期望輸出的差別在可以接受的誤差范圍內(nèi)。BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程包括: 1)正向傳播:樣本輸入→輸入層→各隱層→輸出層; 2)判斷是否轉(zhuǎn)入反向傳播階段; 3)誤差反傳——通過各層的誤差,修正各層的權(quán)值。下面以簡單BP神經(jīng)網(wǎng)絡(luò)(3層)為例(見圖1):
圖1 3層神經(jīng)網(wǎng)絡(luò)范例圖
建模方程:
(2)
層次分析法是指對決策問題按照總目標(biāo)、各層子目標(biāo)進(jìn)行分解;也可按影響決策問題的影響因素(元素)進(jìn)行逐層分解;通過調(diào)研問卷、查閱文獻(xiàn)、數(shù)據(jù)分析等方式對每一層中的元素進(jìn)行比較(兩兩之間的重要性進(jìn)行比較),給出重要性標(biāo)度(以定量的方式),并以矩陣的形式表示。結(jié)合數(shù)學(xué)軟件MALTAB計算出每層各元素的權(quán)重。運(yùn)用層次分析法(計算出各層元素的權(quán)重)結(jié)合模糊綜合評價(對各層元素建立評判集),通過計算得出對總體目標(biāo)的定量評價[3]。
具體以對某個旅游景點(diǎn)的收益評價為例。
確定3個重要影響因素(例如:游客量、門票價、維護(hù)成本),重要性標(biāo)度為p1,p2,p3,特別說明:重要性標(biāo)度的值越大說明越重要。以矩陣的形式給出:
引用已發(fā)表文獻(xiàn)中的相關(guān)數(shù)據(jù)[4],研究3種因素(pH值,接種量,C/N)對沼氣日均產(chǎn)氣量的影響。發(fā)酵材料選用新鮮豬糞,接種物取自沼氣池,是以豬糞為原料富集培養(yǎng)的混合微生物種群,數(shù)據(jù)見表1。
表1 3種因素對沼氣日均產(chǎn)氣量的影響
根據(jù)表1中的數(shù)據(jù),我們研究pH值、接種量和C/N對日均產(chǎn)氣量的影響,令pH值,接種量和C/N這3種因素為自變量分別為xi(i=1,2,3),日均產(chǎn)氣量為因變量為y。運(yùn)用線性回歸模型建立函數(shù)關(guān)系式:y=a0+a1x1+a2x2+a3x3,并用數(shù)學(xué)軟件MATLAB求解,得到:
y=0.014x1-0.5706x2+0.5703x3
(3)
特別說明,在采用此方法之前,筆者對收集的數(shù)據(jù)進(jìn)行篩查,剔除掉異常點(diǎn)(在實際的計算過程中,筆者發(fā)現(xiàn)9組數(shù)據(jù)中沒有異常數(shù)據(jù),見圖2),再用數(shù)學(xué)軟件MATLAB編寫相關(guān)程序得到我們的結(jié)果,計算出的參數(shù)a0,a1,a2,a3均在置信區(qū)間范圍內(nèi)。
MATLAB程序:
n=9;m=3;
y=[0.7180 0.7408 0.6064 0.5265 0.5294 0.6486 0.7518 0.6230 0.7325];
x1=[6.0 6.0 6.0 6.5 6.5 6.5 7.0 7.0 7.0];
圖2 參數(shù)信度圖
x2=[24 29 34 24 29 34 24 29 34];
x3=[25 30 35 25 30 35 25 30 35];
X=[ones(n,1),x1',x2',x3'];
[b,bint,r,rint,s]=regress(y',X);
s1=sum(r.^2) /(
n-m-1);
b,bint,s,s1
rcoplot(r,rint)
根據(jù)表1中的數(shù)據(jù),可以運(yùn)用BP神經(jīng)網(wǎng)絡(luò)預(yù)測在不同條件下(pH值、接種量和C/N 3種因素確定)的日均產(chǎn)氣量,從而可以研究不同因素條件下對日均產(chǎn)氣量的影響(見表2)。
表2 不同因素條件下對日均產(chǎn)氣量的影響
根據(jù)表2的數(shù)據(jù)計算:當(dāng)pH值=7.5,接種量=24%,C/N=25時,預(yù)測得到日均產(chǎn)氣量=0.6633。
MATLAB程序:
P=[6.0 6.0 6.0 6.5 6.5 6.5 7.0 7.0 7.0;24 29 34 24 29 34 24 29 34;25 30 35 25 30 35 25 30 35];
T=[0.7180 0.7408 0.6064 0.5265 0.5294 0.6486 0.7518 0.6230 0.7365];
[p1,minp,maxp,t1,mint,maxt]=premnmx(P,T);
net=newff(minmax(P),[3,2,1],{'tansig','tansig','purelin'},'trainlm');
net.trainParam.epochs=5000;
net.trainParam.goal=0.0000001;
[net,tr]=train(net,p1,t1);
a=[7.5;24;25];
a=premnmx(a);
b=sim(net,a);
c=postmnmx(b,mint,maxt);
c
圖3 神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果圖
特別說明:如圖3,運(yùn)用BP神經(jīng)網(wǎng)絡(luò),隱藏層神經(jīng)元為2,網(wǎng)絡(luò)迭代次數(shù)5000次,期望誤差0.00000001,在實際程序的運(yùn)行過程中第3070次迭代中的計算結(jié)果已經(jīng)在誤差范圍內(nèi)。
引用已發(fā)表文獻(xiàn)中的相關(guān)數(shù)據(jù)[5],研究農(nóng)戶滿意度指標(biāo)體系,鑒于本文側(cè)重于介紹數(shù)學(xué)模型(層次分析法結(jié)合模糊綜合評價)在沼氣工程中的應(yīng)用,因此,建立層次結(jié)構(gòu)模型時僅選用部分指標(biāo)。
圖4 農(nóng)戶對沼氣項目評價多層次結(jié)構(gòu)分析圖
根據(jù)層次結(jié)構(gòu)模型及參考文獻(xiàn)中的相關(guān)數(shù)據(jù),建立各項指標(biāo)評判集及滿意度評價表。
農(nóng)戶滿意度評價集(元素集):
W={w1-w2-w3w4}=
{農(nóng)戶期望度、感知質(zhì)量、感知效果、農(nóng)戶忠誠度}
每一個一級指標(biāo)下設(shè)立二級指標(biāo),并對每個二級指標(biāo)的滿意度進(jìn)行評價,詳見表3。
特別說明,在選擇表中數(shù)據(jù)時的依據(jù)更多根據(jù)文獻(xiàn)中各項指標(biāo)的得分率。例如,文獻(xiàn)中提到農(nóng)戶愿意繼續(xù)使用的得分率為90.4%,因此,評價“好”與“較好”兩者的比例和為90%。鑒于文獻(xiàn)可用數(shù)據(jù)較少,文章更側(cè)用于介紹數(shù)學(xué)模型的應(yīng)用,后面3項“一般”、“較差”、“差”的比例的和滿足為10%(通過估計算得出)。此外,每項指標(biāo)的比例參照上述方法估算得到。
表3 農(nóng)戶滿意度評價表
對各級指標(biāo)的權(quán)重進(jìn)行定義,建立模糊評價矩陣,并計算矩陣的權(quán)重:
一級指標(biāo):農(nóng)戶期望度、感知質(zhì)量、感知效果、農(nóng)戶忠誠度建立模糊評價矩陣:
計算矩陣的權(quán)重W:
這里可考慮:
計算出的權(quán)重:
即:各種因素(同層次)的重要性均是一樣的。
對于某些實際問題,特別是在各因素權(quán)重不同時,也可采用MATLAB程序?qū)崿F(xiàn),通過運(yùn)行相關(guān)程序,輸入權(quán)重矩陣,即可計算出各因素的權(quán)重。
MATLAB程序:
clc;
clear;
disp('請輸入判斷矩陣A');
A=input('A=');
[m,n]=size(A);
RI=[0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.51];
R=rank(A);
[V,D]=eig(A);
tz=max(D);
B=max(tz);
[row, col]=find(D==B);
C=V(:,col);
CI=(B-n) /(
n-1);
CR=CI/RI(1,n);
if CR<0.10
disp('CI=');disp(CI);
disp('CR=');disp(CR);
disp('對比矩陣A通過一致性檢驗,各向量權(quán)重向量Q為:');
Q=zeros(n,1);
for i=1∶n
Q(i,1)=C(i,1)/sum(C(∶,1));
end
Q
else
disp('對比矩陣A未通過一致性檢驗,需對對比矩陣A重新構(gòu)造');
end
根據(jù)表3中的相關(guān)數(shù)據(jù),得到評價矩陣:
結(jié)合二級權(quán)重矩陣,通過計算得到二級模糊評級矩陣:
B1=W11×R11=0.31 0.62 0.07 0 0
B2=W12×R12=0.2333 0.2833 0.4 0.0833 0
B3=W13×R13=0.3 0.45 0.2367 0.0133 0
B4=W14×R14=0.3 0.46 0.2 0.025 0.015
得到R:
因此,R=W×R=[0.2858 0.4533 0.2267 0.0304 0.0037],得到一級模糊評價矩陣。
通過上述例子可以看出,農(nóng)戶對于沼氣工程的滿意度從農(nóng)戶期望度、感知質(zhì)量、感知效果、農(nóng)戶忠誠度四個方面進(jìn)行評價,28.58%認(rèn)為很好,45.33%認(rèn)為較好,22.67%認(rèn)為一般,認(rèn)為較差和很差的分別僅占3.04%和0.37%。
數(shù)學(xué)模型的運(yùn)用有助于解決沼氣工程中的許多問題。包括研究產(chǎn)氣量與各因素之間的關(guān)系;預(yù)測在某些已知參數(shù)條件下的沼氣工程的產(chǎn)氣量;對沼氣工程進(jìn)行定性和定量的評價等。運(yùn)用數(shù)學(xué)模型,可以讓我們的結(jié)論更具有說服力,同時,也可根據(jù)模型的一些結(jié)果反推去解決沼氣工程中出現(xiàn)的一些技術(shù)問題,查找理論與實際值出現(xiàn)差異的原因。本文主要介紹了常用的3種數(shù)學(xué)模型在沼氣工程中的應(yīng)用(重點(diǎn)在于方法的介紹與應(yīng)用),由于選用的部分文獻(xiàn)提供的數(shù)據(jù)有限,部分?jǐn)?shù)據(jù)根據(jù)已有數(shù)據(jù)估算得到,模型與實際結(jié)果存在一定的差異性。