1. 程式人生 > >灰色關聯分析法

灰色關聯分析法

1、簡介

       灰色系統理論提出了對各子系統進行灰色關聯度分析的概念,意圖透過一定的方法,去尋求系統中各子系統(或因素)之間的數值關係。因此,灰色關聯度分析對於一個系統發展變化態勢提供了量化的度量,非常適合動態歷程分析。

       對於兩個系統之間的因素,其隨時間或不同物件而變化的關聯性大小的量度,稱為關聯度。在系統發展過程中,若兩個因素變化的趨勢具有一致性,即同步變化程度較高,即可謂二者關聯程度較高;反之,則較低。因此,灰色關聯分析方法,是根據因素之間發展趨勢的相似或相異程度,亦即“灰色關聯度”,作為衡量因素間關聯程度的一種方法。

2、具體步驟

        將灰色關聯分析用於供應商選擇決策中可以針對大量不確定性因素及其相互關係,將定量和定性方法有機結合起來,使原本複雜的決策問題變得更加清晰簡單,而且計算方便,並可以在一定程度上排除決策者的主觀任意性,得出的結論也比較客觀有一定的參考價值。

MATLAB程式:

clc, clear
a=[0.83	 0.90	0.99	  0.92	0.87	  0.95
326	 295	 340  287	310	  303
21	 38	     25	  19	 27	  10
3.2	2.4	     2.2   2.0	 0.9   1.7
0.20	0.25	    0.12   0.33 	0.20	  0.09
0.15	0.20	    0.14   0.09	0.15   0.17
250	180	    300	   200	150   175
0.23	0.15	    0.27   0.30	0.18   0.26
0.87	0.95	    0.99	   0.89	0.82	  0.94];
for i=[1 5:9]    %效益型指標標準化
    a(i,:)=(a(i,:)-min(a(i,:)))/(max(a(i,:))-min(a(i,:)));
end
for i=2:4  %成本型指標標準化
   a(i,:)=(max(a(i,:))-a(i,:))/(max(a(i,:))-min(a(i,:)));
end
[m,n]=size(a);
cankao=max(a')'  %求參考序列的取值
t=repmat(cankao,[1,n])-a;  %求參考序列與每一個序列的差
mmin=min(min(t));   %計算最小差
mmax=max(max(t));  %計算最大差
rho=0.5; %分辨係數
xishu=(mmin+rho*mmax)./(t+rho*mmax)  %計算灰色關聯絡數
guanliandu=mean(xishu)   %取等權重,計算關聯度
[gsort,ind]=sort(guanliandu,'descend')  %對關聯度按照從大到小排序

 

執行結果:

a =

         0    0.4375    1.0000    0.5625    0.2500    0.7500

    0.2642    0.8491         0    1.0000    0.5660    0.6981

    0.6071         0    0.4643    0.6786    0.3929    1.0000

         0    0.3478    0.4348    0.5217    1.0000    0.6522

    0.4583    0.6667    0.1250    1.0000    0.4583         0

    0.5455    1.0000    0.4545         0    0.5455    0.7273

    0.6667    0.2000    1.0000    0.3333         0    0.1667

    0.5333         0    0.8000    1.0000    0.2000    0.7333

    0.2941    0.7647    1.0000    0.4118         0    0.7059

 

cankao =

     1

     1

     1

     1

     1

     1

     1

     1

     1

 

xishu =

    0.3333    0.4706    1.0000    0.5333    0.4000    0.6667

    0.4046    0.7681    0.3333    1.0000    0.5354    0.6235

    0.5600    0.3333    0.4828    0.6087    0.4516    1.0000

    0.3333    0.4340    0.4694    0.5111    1.0000    0.5897

    0.4800    0.6000    0.3636    1.0000    0.4800    0.3333

    0.5238    1.0000    0.4783    0.3333    0.5238    0.6471

    0.6000    0.3846    1.0000    0.4286    0.3333    0.3750

    0.5172    0.3333    0.7143    1.0000    0.3846    0.6522

    0.4146    0.6800    1.0000    0.4595    0.3333    0.6296

 

guanliandu =

    0.4630    0.5560    0.6491    0.6527    0.4936    0.6130

 

gsort =

    0.6527    0.6491    0.6130    0.5560    0.4936    0.4630

 

ind =

     4     3     6     2     5     1