?? 文章首發(fā)于我的個(gè)人博客:歡迎大佬們來(lái)逛逛
灰色關(guān)聯(lián)分析法
算法流程
- 建立一個(gè)m行 n列的矩陣 X X X ,其中 m 表示評(píng)價(jià)對(duì)象, n表示評(píng)價(jià)指標(biāo)
- 首先進(jìn)行矩陣的歸一化,得到歸一化后的矩陣 d a t a data data
- 獲取參考向量,即獲取歸一化后的矩陣的最大參考指標(biāo)行,假設(shè)為
Y
Y
Y,即得到所有n個(gè)指標(biāo)的最大值。
- 如果n表示評(píng)價(jià)指標(biāo),m表示評(píng)價(jià)對(duì)象,矩陣為 n ? m n*m n?m ,則我們應(yīng)該得到一個(gè)最大的參考指標(biāo)列。
- 生成絕對(duì)值矩陣 A A A
A = ∣ X 1 ? Y 1 ∣ A = ∣ x 4 ? x 1 , x 5 ? x 1 , x 6 ? x 1 , x 7 ? x 1 ∣ \begin{aligned}A&=|X_1-Y_1|\\A&=|x_4-x_1,x_5-x_1,x_6-x_1,x_7-x_1|\end{aligned} AA?=∣X1??Y1?∣=∣x4??x1?,x5??x1?,x6??x1?,x7??x1?∣?
- 計(jì)算絕對(duì)值矩陣的最大值 d m a x d_{max} dmax?和最小值 d m i n d_{min} dmin?
- 計(jì)算灰色關(guān)聯(lián)矩陣,假設(shè)為 B B B :其中 ρ \rho ρ 為一個(gè)分辨系數(shù),設(shè)置為 0.5 為最佳。
B i j = d m i n + ρ d m a x A i j + ρ d m a x B_{ij}=\frac{d_{min}+\rho d_{max}}{A_{ij}+\rho d_{max}} Bij?=Aij?+ρdmax?dmin?+ρdmax??
- 分別計(jì)算最大與最小灰色關(guān)聯(lián)度 ξ \xi ξ ,因此得到 ξ m i n \xi_{min} ξmin? 與 ξ m a x \xi_{max} ξmax?
ξ j = ∑ i = 1 m B i j m \xi_j=\frac{\sum_{i=1}^mB_{ij}}m ξj?=m∑i=1m?Bij??文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-683984.html
- 計(jì)算評(píng)價(jià)總分:每個(gè)對(duì)象的 S c o r e j Score_j Scorej? 如果與最大灰色關(guān)聯(lián)度 ξ m a x \xi_{max} ξmax? 越大,或者與最小灰色關(guān)聯(lián)度 ξ m i n \xi_{min} ξmin? 越大,則評(píng)價(jià)得分越高
S c o r e j = 1 1 + ( ξ j ( m i n ) / ξ j ( m a x ) ) 2 Score_j=\frac{1}{1+(\xi_j^{(min)}/\xi_j^{(max)})^2} Scorej?=1+(ξj(min)?/ξj(max)?)21?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-683984.html
代碼實(shí)現(xiàn)
function [Score] = mfunc_GreyCorrelationAnalysis(data)
% data表示一個(gè) m * n 列的原始數(shù)據(jù)矩陣
% 標(biāo)準(zhǔn)化mapminmax是對(duì)行操作的,因此轉(zhuǎn)置一下,如果使用zscore(data)標(biāo)準(zhǔn)化則無(wú)須轉(zhuǎn)置,但是無(wú)法標(biāo)準(zhǔn)化到0,1
data1=mapminmax(data',0,1);%標(biāo)準(zhǔn)化到0.002-1區(qū)間
%
data1=data1'; % mapminmax在再轉(zhuǎn)置回來(lái)
%
V_max=max(data1);%最大參考指標(biāo)行,指標(biāo)最大
V_min=min(data1);%最小參考指標(biāo)行,指標(biāo)最小
% 與最大值的灰色關(guān)聯(lián)度
data2=abs(data1-V_max);
%得到絕對(duì)值矩陣的全局最大值和最小值
d_max=max(max(data2));
d_min=min(min(data2));
% 計(jì)算灰色關(guān)聯(lián)矩陣
a=0.5; %分辨系數(shù)默認(rèn)為0.5
data3=(d_min+a*d_max)./(data2+a*d_max);
% 計(jì)算灰色關(guān)聯(lián)度
xi_max=mean(data3'); %計(jì)算每個(gè)評(píng)價(jià)對(duì)象的灰色關(guān)聯(lián)度,求mean平均值
% 與最小值的灰色關(guān)聯(lián)度
data2=abs(data1-V_min);
%得到絕對(duì)值矩陣的全局最大值和最小值
d_max=max(max(data2));
d_min=min(min(data2));
data3=(d_min+a*d_max)./(data2+a*d_max);
xi_min=mean(data3');
% 綜合評(píng)分
%與最大相關(guān)系數(shù)越大,最小相關(guān)系數(shù)越小得分大
Score=1./(1+(xi_min./xi_max)).^2;
for i=1:length(Score)
fprintf('第%d個(gè)投標(biāo)者評(píng)分為:%4.2f\n',i,Score(i));
end
end
到了這里,關(guān)于數(shù)學(xué)建模:灰色關(guān)聯(lián)分析的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!