1. 快捷導航

            為什么要為層次分析法(AHP)計算特征值和特征向量

            2022-5-10 09:57| 發布者: Fuller| 查看: 1802| 評論: 0

            摘要: 很多文章或者教程一開始就提到判別矩陣是“正互反矩陣”以及一堆特性,這樣白白增加了畏懼感,增大了理解的阻力。那么,正確的做法是:從層次分析法的判別矩陣的生成過程來理解,先忽視“互反”這些令人畏懼的字眼。 ...

            很多文章或者教程一開始就提到判別矩陣是“正互反矩陣”以及一堆特性,這樣白白增加了畏懼感,增大了理解的阻力。那么,正確的做法是:從層次分析法的判別矩陣的生成過程來理解,先忽視“互反”這些令人畏懼的字眼。下面講解一下這個算法是什么原理,也想說明一下,可以完全忽視矩陣和線性代數的一些知識,本來就沒有太大關系。

            我在這篇文章講解了判別矩陣的生成方法:《JupyterNotebook做層次分析法(AHP)權重計算》??勺鳛閰⒖?。

            我一直把層次分析法說成是用定性的方法生成定量的結果,比如,面對一堆蔬果,手邊卻沒有稱,想量化確定每種蔬果對總重量的貢獻要靠估計。比如,有西瓜、黃瓜、蘿卜、冬瓜、南瓜,那么可以用兩只手掂量掂量,得到每兩者的重量的比例,感覺像是定性的分析。

            不去糾結定性還是定量,但是,有一點要特別注意:掂量出來的是一個比值,假設左手拿的西瓜作為基準,那么右手掂量出來黃瓜的值是1/5,這個值是要寫到判別矩陣中的,所以,矩陣中的值是個比值,一般被稱為層次分析法的標度(參看百度百科的詞條 層次分析法 )。

            我們給上面舉例的那些蔬果的重量編個編號,就是:w1, w2, w3, w4, w5,這是我們要算出來的結果,他們代表對總重量的貢獻。

            而我們掂量出來的是比值,那么可以看到:如果w2代表黃瓜的貢獻,我們要求出來w2,而已經知道了黃瓜與其他的比值,那么有下面的等式成立:

            a21表示以1(西瓜)為基準掂量出來2(黃瓜)的層次分析法標度,也就是2的貢獻是1的多少倍。那么再乘以1的貢獻w1,就是2的貢獻w2。所以,上面每一項的結果都是w2,那么,這個等式就是這樣了

            我們對這5種蔬果都寫成(1)式的形式,并放在一起,就是這樣

            那么把系數寫成矩陣形式,就是判別矩陣A

            其中,a11, a22, a33, a44, a55是自己跟自己比,所以,肯定是1。那么,aij表示以第j個要素為基準得到的第i個要素的相對重要度。也就是說,看A矩陣的每一列,都是以某個要素作為基準,其他要素跟這個要素相比得到的相對重要度。

            那么寫成矩陣和向量相乘形式,就是

            根據(2)式我們知道,Y的每個分量都等于w的對應分量乘以一個常數,我們用lambda表示這個常數,那么上式變成:

            很顯然,上式跟求矩陣的特征值和特征向量的等式一模一樣。

            這就是為什么要為判別矩陣求特征值和特征向量。就是因為樣子一模一樣而已,可以把算法借用過來,其實,跟線性代數將的線性變換幾乎看不到任何關系。

            當然,這是極其完美的理想情況,手掂量的太準了,體現在多個方面:

            (1)第一列、第二列、第二列……,雖然矩陣中的值不同,其實只是總體差了一個倍數,比如,把第二列乘以w2并除以w1,就等于第一列。那么整個矩陣中只有第一列才提供了有效信息,其他都是多余的列。這就是所謂的矩陣秩為1.

            (2)手掂量出來的相對重要度是無限精度的實數,所以,對角線兩邊對稱的數字乘在一起得1,這就是所謂的互反。

            有這么準的一雙手,根本不用求特征向量,第一列拿出來就是了。

            但是實際上手不可能那么準,人類也不可能操控無限精度的實數,同時計算過程一定會引入誤差。既然這么不理想,那么就進一步,防止有人瞎貓碰上死老鼠,自以為很專業,就把標度值搞成一些奇怪的數字,讓他們相除得不到剛好的標度值,例如,假設 w1 = 1, w2 = 3, w3 = 5, w4 = 7, w5 = 9,做第一列估計的時候,很好,a21=3, a31=5, a41=7, a51 = 9。做第二列估計的時候,a12直接拿過來是 1/3沒問題,而a32就有問題了,應該是 5/3 ,而標度表里面沒有 5/3 ,看來只能取值為1,最接近。

            個人認為,這是為了防止人為誤差的引入,同時讓誤差分布更均勻,類似于用質數計算散列值。這個本人的猜測,不一定對。

            可見,由于各種誤差,造成各要素的測量就有了互相“牽扯”,本來兩個要素的比重之比是3/5,是清楚和準確的,卻把比值測量成了1/3,引入了不必要的牽扯。此時,求特征值就能擯除牽扯而找到最根本的關系(按照線性空間的理論,坐標系沒有對準,需要旋轉調整一下,調整到特征向量組成的坐標系中,各要素的測量值才能不相互牽扯);而且由于各種誤差,就需要用CI值考核估計的是否一致。因為無法掂量很準,同時又故意引入一個特別的標度表,那么CI永遠不可能是0 。

            2

            鮮花

            握手

            雷人

            路過

            雞蛋

            剛表態過的朋友 (2 人)

            最新評論

            GMT+8, 2022-11-27 00:49

            欧美一级午夜福利免费区