宋 靜, 邱 坤
(1.成都工業(yè)職業(yè)技術(shù)學(xué)院, 成都 610213; 2.農(nóng)業(yè)農(nóng)村部沼氣科學(xué)研究所, 成都 610041)
回歸模型主要研究多個(gè)影響因素對(duì)目標(biāo)函數(shù)的影響(研究變量之間的關(guān)系)。具體的做法是:首先收集大量的數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行篩選(畫出散點(diǎn)圖),剔除無(wú)效數(shù)據(jù);對(duì)數(shù)據(jù)的統(tǒng)計(jì)進(jìn)行分析(首先確定選擇函數(shù)公式的類型),利用最小二乘法建立數(shù)學(xué)模型(方程組)并求解得到回歸方程的表達(dá)式,之后再對(duì)回歸模型進(jìn)行顯著性檢驗(yàn)(相關(guān)系數(shù)檢驗(yàn)、F檢驗(yàn)法、殘差分析等);上述步驟也可采用SPSS統(tǒng)計(jì)軟件、MATLAB等數(shù)學(xué)、統(tǒng)計(jì)軟件進(jìn)行。回歸模型包括:線性回歸模型(一元線性回歸模型、多元線性回歸模型)和非線性回歸模型(一元非線性回歸模型、多元非線性回歸模型)[1]。
以多元線性回歸模型為例:設(shè)因變量為y,影響因變量的因素(自變量)為x1,x2,x3,…,xn,誤差項(xiàng)為ε,建立方程:
y=a0+a1x1+a2x2+…+anxn+ε
(1)
式中:a0,a1,a2,…,an為模型參數(shù)
1986年,由Rumelhart和McClelland提出的多層前饋神經(jīng)網(wǎng)絡(luò)。通過(guò)采用一種誤差反向傳播算法(BP算法),算法的原理為:利用輸出后的得到誤差來(lái)估計(jì)輸出前面一層的誤差,再用這個(gè)誤差估計(jì)更前一層的誤差,按照此規(guī)律進(jìn)行,一層層傳遞下去,從而獲得所有各層的誤差估計(jì),我們可以根據(jù)各層的誤差來(lái)修正各層的權(quán)值[2]。通過(guò)多次迭代計(jì)算,實(shí)現(xiàn)實(shí)際輸出與期望輸出的差別在可以接受的誤差范圍內(nèi)。BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過(guò)程包括: 1)正向傳播:樣本輸入→輸入層→各隱層→輸出層; 2)判斷是否轉(zhuǎn)入反向傳播階段; 3)誤差反傳——通過(guò)各層的誤差,修正各層的權(quán)值。下面以簡(jiǎn)單BP神經(jīng)網(wǎng)絡(luò)(3層)為例(見(jiàn)圖1):
圖1 3層神經(jīng)網(wǎng)絡(luò)范例圖
建模方程:
(2)
層次分析法是指對(duì)決策問(wèn)題按照總目標(biāo)、各層子目標(biāo)進(jìn)行分解;也可按影響決策問(wèn)題的影響因素(元素)進(jìn)行逐層分解;通過(guò)調(diào)研問(wèn)卷、查閱文獻(xiàn)、數(shù)據(jù)分析等方式對(duì)每一層中的元素進(jìn)行比較(兩兩之間的重要性進(jìn)行比較),給出重要性標(biāo)度(以定量的方式),并以矩陣的形式表示。結(jié)合數(shù)學(xué)軟件MALTAB計(jì)算出每層各元素的權(quán)重。運(yùn)用層次分析法(計(jì)算出各層元素的權(quán)重)結(jié)合模糊綜合評(píng)價(jià)(對(duì)各層元素建立評(píng)判集),通過(guò)計(jì)算得出對(duì)總體目標(biāo)的定量評(píng)價(jià)[3]。
具體以對(duì)某個(gè)旅游景點(diǎn)的收益評(píng)價(jià)為例。
確定3個(gè)重要影響因素(例如:游客量、門票價(jià)、維護(hù)成本),重要性標(biāo)度為p1,p2,p3,特別說(shuō)明:重要性標(biāo)度的值越大說(shuō)明越重要。以矩陣的形式給出:
引用已發(fā)表文獻(xiàn)中的相關(guān)數(shù)據(jù)[4],研究3種因素(pH值,接種量,C/N)對(duì)沼氣日均產(chǎn)氣量的影響。發(fā)酵材料選用新鮮豬糞,接種物取自沼氣池,是以豬糞為原料富集培養(yǎng)的混合微生物種群,數(shù)據(jù)見(jiàn)表1。
表1 3種因素對(duì)沼氣日均產(chǎn)氣量的影響
根據(jù)表1中的數(shù)據(jù),我們研究pH值、接種量和C/N對(duì)日均產(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)
特別說(shuō)明,在采用此方法之前,筆者對(duì)收集的數(shù)據(jù)進(jìn)行篩查,剔除掉異常點(diǎn)(在實(shí)際的計(jì)算過(guò)程中,筆者發(fā)現(xiàn)9組數(shù)據(jù)中沒(méi)有異常數(shù)據(jù),見(jiàn)圖2),再用數(shù)學(xué)軟件MATLAB編寫相關(guān)程序得到我們的結(jié)果,計(jì)算出的參數(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ù)測(cè)在不同條件下(pH值、接種量和C/N 3種因素確定)的日均產(chǎn)氣量,從而可以研究不同因素條件下對(duì)日均產(chǎn)氣量的影響(見(jiàn)表2)。
表2 不同因素條件下對(duì)日均產(chǎn)氣量的影響
根據(jù)表2的數(shù)據(jù)計(jì)算:當(dāng)pH值=7.5,接種量=24%,C/N=25時(shí),預(yù)測(cè)得到日均產(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é)果圖
特別說(shuō)明:如圖3,運(yùn)用BP神經(jīng)網(wǎng)絡(luò),隱藏層神經(jīng)元為2,網(wǎng)絡(luò)迭代次數(shù)5000次,期望誤差0.00000001,在實(shí)際程序的運(yùn)行過(guò)程中第3070次迭代中的計(jì)算結(jié)果已經(jīng)在誤差范圍內(nèi)。
引用已發(fā)表文獻(xiàn)中的相關(guān)數(shù)據(jù)[5],研究農(nóng)戶滿意度指標(biāo)體系,鑒于本文側(cè)重于介紹數(shù)學(xué)模型(層次分析法結(jié)合模糊綜合評(píng)價(jià))在沼氣工程中的應(yīng)用,因此,建立層次結(jié)構(gòu)模型時(shí)僅選用部分指標(biāo)。
圖4 農(nóng)戶對(duì)沼氣項(xiàng)目評(píng)價(jià)多層次結(jié)構(gòu)分析圖
根據(jù)層次結(jié)構(gòu)模型及參考文獻(xiàn)中的相關(guān)數(shù)據(jù),建立各項(xiàng)指標(biāo)評(píng)判集及滿意度評(píng)價(jià)表。
農(nóng)戶滿意度評(píng)價(jià)集(元素集):
W={w1-w2-w3w4}=
{農(nóng)戶期望度、感知質(zhì)量、感知效果、農(nóng)戶忠誠(chéng)度}
每一個(gè)一級(jí)指標(biāo)下設(shè)立二級(jí)指標(biāo),并對(duì)每個(gè)二級(jí)指標(biāo)的滿意度進(jìn)行評(píng)價(jià),詳見(jiàn)表3。
特別說(shuō)明,在選擇表中數(shù)據(jù)時(shí)的依據(jù)更多根據(jù)文獻(xiàn)中各項(xiàng)指標(biāo)的得分率。例如,文獻(xiàn)中提到農(nóng)戶愿意繼續(xù)使用的得分率為90.4%,因此,評(píng)價(jià)“好”與“較好”兩者的比例和為90%。鑒于文獻(xiàn)可用數(shù)據(jù)較少,文章更側(cè)用于介紹數(shù)學(xué)模型的應(yīng)用,后面3項(xiàng)“一般”、“較差”、“差”的比例的和滿足為10%(通過(guò)估計(jì)算得出)。此外,每項(xiàng)指標(biāo)的比例參照上述方法估算得到。
表3 農(nóng)戶滿意度評(píng)價(jià)表
對(duì)各級(jí)指標(biāo)的權(quán)重進(jìn)行定義,建立模糊評(píng)價(jià)矩陣,并計(jì)算矩陣的權(quán)重:
一級(jí)指標(biāo):農(nóng)戶期望度、感知質(zhì)量、感知效果、農(nóng)戶忠誠(chéng)度建立模糊評(píng)價(jià)矩陣:
計(jì)算矩陣的權(quán)重W:
這里可考慮:
計(jì)算出的權(quán)重:
即:各種因素(同層次)的重要性均是一樣的。
對(duì)于某些實(shí)際問(wèn)題,特別是在各因素權(quán)重不同時(shí),也可采用MATLAB程序?qū)崿F(xiàn),通過(guò)運(yùn)行相關(guān)程序,輸入權(quán)重矩陣,即可計(jì)算出各因素的權(quán)重。
MATLAB程序:
clc;
clear;
disp('請(qǐng)輸入判斷矩陣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('對(duì)比矩陣A通過(guò)一致性檢驗(yàn),各向量權(quán)重向量Q為:');
Q=zeros(n,1);
for i=1∶n
Q(i,1)=C(i,1)/sum(C(∶,1));
end
Q
else
disp('對(duì)比矩陣A未通過(guò)一致性檢驗(yàn),需對(duì)對(duì)比矩陣A重新構(gòu)造');
end
根據(jù)表3中的相關(guān)數(shù)據(jù),得到評(píng)價(jià)矩陣:
結(jié)合二級(jí)權(quán)重矩陣,通過(guò)計(jì)算得到二級(jí)模糊評(píng)級(jí)矩陣:
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],得到一級(jí)模糊評(píng)價(jià)矩陣。
通過(guò)上述例子可以看出,農(nóng)戶對(duì)于沼氣工程的滿意度從農(nóng)戶期望度、感知質(zhì)量、感知效果、農(nóng)戶忠誠(chéng)度四個(gè)方面進(jìn)行評(píng)價(jià),28.58%認(rèn)為很好,45.33%認(rèn)為較好,22.67%認(rèn)為一般,認(rèn)為較差和很差的分別僅占3.04%和0.37%。
數(shù)學(xué)模型的運(yùn)用有助于解決沼氣工程中的許多問(wèn)題。包括研究產(chǎn)氣量與各因素之間的關(guān)系;預(yù)測(cè)在某些已知參數(shù)條件下的沼氣工程的產(chǎn)氣量;對(duì)沼氣工程進(jìn)行定性和定量的評(píng)價(jià)等。運(yùn)用數(shù)學(xué)模型,可以讓我們的結(jié)論更具有說(shuō)服力,同時(shí),也可根據(jù)模型的一些結(jié)果反推去解決沼氣工程中出現(xiàn)的一些技術(shù)問(wèn)題,查找理論與實(shí)際值出現(xiàn)差異的原因。本文主要介紹了常用的3種數(shù)學(xué)模型在沼氣工程中的應(yīng)用(重點(diǎn)在于方法的介紹與應(yīng)用),由于選用的部分文獻(xiàn)提供的數(shù)據(jù)有限,部分?jǐn)?shù)據(jù)根據(jù)已有數(shù)據(jù)估算得到,模型與實(shí)際結(jié)果存在一定的差異性。