[清风数学建模]层次分析法(AHP)笔记及代码实现
? ?本文章是學(xué)習(xí)清風(fēng)老師數(shù)學(xué)建模視頻后所做的筆記,其中一些圖片及代碼實(shí)現(xiàn)來(lái)源于清風(fēng)老師的B站視頻: 【強(qiáng)烈推薦】清風(fēng):數(shù)學(xué)建模算法、編程和寫(xiě)作培訓(xùn)的視頻課程以及Matlab等軟件教學(xué)_嗶哩嗶哩_bilibilihttps://www.bilibili.com/video/BV1DW411s7wi
? 如果大家發(fā)現(xiàn)文章中有任何錯(cuò)誤,歡迎在留言區(qū)批評(píng)指正,我也會(huì)持續(xù)更新有關(guān)數(shù)學(xué)建模學(xué)習(xí)的筆記。
目錄
一、算法簡(jiǎn)介
二、問(wèn)題分析及理論基礎(chǔ)
層次分析法的思想:
一致性檢驗(yàn)步驟:
計(jì)算權(quán)重:
1、算術(shù)平均法
2、幾何平均法:求幾何平均值
?3、特征值法:
總結(jié):
層次分析法步驟
三、層次分析法的缺點(diǎn)
四、代碼實(shí)現(xiàn)
五、例題? 耳機(jī)挑選問(wèn)題
一、算法簡(jiǎn)介
? 層次分析法(The analytic hierarchy process,簡(jiǎn)稱AHP),建模比賽中最基礎(chǔ)的一類模型之一,主要用于解決評(píng)價(jià)類問(wèn)題(例如:選擇哪種方案最好、哪位運(yùn)動(dòng)員或者員工表現(xiàn)的更加優(yōu)秀)。
? 該方法將定量分析與定性分析結(jié)合起來(lái),通過(guò)決策者的經(jīng)驗(yàn)或者搜集得到的數(shù)據(jù),對(duì)評(píng)價(jià)準(zhǔn)則和方案劃定權(quán)重,最后得到一個(gè)綜合權(quán)重,結(jié)合實(shí)際問(wèn)題得到最優(yōu)方案。
二、問(wèn)題分析及理論基礎(chǔ)
?在建模題目中當(dāng)看到確定評(píng)價(jià)指標(biāo),形成評(píng)價(jià)體系等字眼,可看作評(píng)價(jià)類問(wèn)題。注意:評(píng)價(jià)類問(wèn)題可用打分解決(也就是權(quán)重表格的形式)
? 當(dāng)我們?cè)诮鉀Q這一問(wèn)題時(shí),我們可以從三個(gè)問(wèn)題出發(fā)確定思路:
? 1、我們?cè)u(píng)價(jià)的目標(biāo)是什么?(一般題目中會(huì)出現(xiàn),例如選擇哪種方案最好)
? 2、我們?yōu)榱诉_(dá)到這個(gè)目標(biāo)有哪幾種可選方案?
? 3、評(píng)價(jià)準(zhǔn)則或者說(shuō)標(biāo)準(zhǔn)是什么?(題目中會(huì)出現(xiàn)或者查詢論文得到相關(guān)準(zhǔn)則)
? ?例如在小明高考后選擇學(xué)校的問(wèn)題中,我們?cè)u(píng)價(jià)的目標(biāo)是在武大和華科中選擇一個(gè)更適合小明的學(xué)校,有武大和華科兩種可選方案,通過(guò)查詢得知,評(píng)價(jià)一個(gè)學(xué)校的標(biāo)準(zhǔn)可簡(jiǎn)要分為幾類:學(xué)習(xí)氛圍、就業(yè)前景、男女比例、校園景色。確定好方案和準(zhǔn)則后,由小明來(lái)為方案和準(zhǔn)則打分(劃定權(quán)重),最后算出綜合權(quán)重,來(lái)確定武大華科哪一個(gè)學(xué)校更適合小明。
層次分析法的思想:
? 在為方案和準(zhǔn)則打分時(shí),也就是劃定權(quán)重時(shí),容易面臨一個(gè)問(wèn)題:當(dāng)一次性考慮多個(gè)指標(biāo)之間的關(guān)系時(shí),容易考慮不周,以致于對(duì)方案多次劃定權(quán)重時(shí),每一次的權(quán)重會(huì)不一樣。
? 解決方法:指標(biāo)之間兩兩相比劃定權(quán)重,最后根據(jù)兩兩比較的結(jié)果得到最后多個(gè)指標(biāo)之間的權(quán)重關(guān)系。
? 接下來(lái)將介紹如何進(jìn)行兩兩相比,以及如何推算出最終權(quán)重。
??首先這是一個(gè)判斷矩陣,我們會(huì)對(duì)景色、花費(fèi)等五個(gè)準(zhǔn)則進(jìn)行兩兩打分,
? ?當(dāng)我們根據(jù)數(shù)據(jù)進(jìn)行打分時(shí),如果認(rèn)為花費(fèi)比景色略微重要(介于同樣重要與稍微重要之間),在標(biāo)度表中處于2的重要性,就在A[2,1]處標(biāo)上2,同時(shí)景色比花費(fèi)的標(biāo)度為1/2,在A[1,2]處標(biāo)上1/2。
?當(dāng)我們兩兩打分后可以得到一個(gè)完整的判斷矩陣。
同時(shí)還要根據(jù)每一個(gè)準(zhǔn)則對(duì)方案打分,就當(dāng)前例子而言:想得到蘇杭、北戴河、桂林在景色、花費(fèi)、居住等五個(gè)方面的權(quán)重,就要按每一個(gè)準(zhǔn)則對(duì)三種方案進(jìn)行打分,換句話說(shuō),有幾個(gè)準(zhǔn)則,就要打幾次分,最終得到在每個(gè)準(zhǔn)則下的方案權(quán)重。
? ?但這里會(huì)面對(duì)一個(gè)問(wèn)題:可能會(huì)出現(xiàn)矛盾之處(如下圖),也就是不一致的現(xiàn)象。這就需要我們?nèi)ジ膭?dòng)權(quán)重,但實(shí)際操作中,如果判斷矩陣的準(zhǔn)則很多,無(wú)法輕易得知是否有不一致的現(xiàn)象。所以需要了解一致矩陣的特征:各行(各列)之間存在倍數(shù)關(guān)系。
? ?但在實(shí)際建模過(guò)程中,絕對(duì)的一致矩陣(這里指:得到的判斷矩陣完美符合一致矩陣的定義)是不存在的,所以我們?cè)谟?jì)算最終權(quán)重之前,需要對(duì)判斷矩陣進(jìn)行一致性檢驗(yàn),來(lái)檢驗(yàn)判斷矩陣和一致矩陣之間是否存在較大差距。
一致性檢驗(yàn)步驟:
1、計(jì)算一致性指標(biāo)CI
2、查表找到平均隨機(jī)一致性指標(biāo)RI
?3、計(jì)算一致性比例CR
如果計(jì)算得到CR<0.1,則該判斷矩陣通過(guò)一致性檢驗(yàn),一致性可以接受。
如果未通過(guò),則要修改權(quán)重,是判斷矩陣更加貼合一致矩陣。
計(jì)算權(quán)重:
1、算術(shù)平均法
一致矩陣:對(duì)每一列進(jìn)行歸一化
因?yàn)橐恢戮仃嚸恳涣卸即嬖诒稊?shù)關(guān)系,所以用任何一列求權(quán)重都是可以的,以上公式為第一個(gè)指標(biāo)所占權(quán)重。
對(duì)于非一致矩陣,因?yàn)槊恳涣胁淮嬖诒稊?shù)關(guān)系,所以對(duì)每一列進(jìn)行歸一化會(huì)得到不同的權(quán)重,還需對(duì)權(quán)重進(jìn)行處理,也就是求均值。
2、幾何平均法:求幾何平均值
?
?3、特征值法:
? 對(duì)于一致矩陣來(lái)說(shuō),因?yàn)楦餍兄g存在倍數(shù)關(guān)系,通過(guò)行變換后,可以得到秩為1的矩陣,有一個(gè)特征值為一致矩陣的跡n,其余特征值為0。可以得到當(dāng)特征值為n時(shí),特征向量正好為,正好為一致矩陣的第一列,由此可計(jì)算權(quán)重。?
假如判斷矩陣通過(guò)一致性檢驗(yàn)時(shí),可以仿照一致矩陣權(quán)重的求法,算出對(duì)應(yīng)的特征向量后進(jìn)行歸一化處理。
?一般論文中使用特征值法得到權(quán)重,但比賽中推薦三種方法都用。
總結(jié):
層次分析法步驟
1、分析系統(tǒng)中各因素之間的關(guān)系,建立系統(tǒng)的遞階層次結(jié)構(gòu)。
2、對(duì)于同一層次的各元素關(guān)于上一層次中某一準(zhǔn)則的重要性進(jìn)行兩兩比較,構(gòu)造兩兩比較矩陣(判斷矩陣)。
3、對(duì)判斷矩陣進(jìn)行一致性檢驗(yàn),一致性檢驗(yàn)通過(guò)后,計(jì)算權(quán)重。
4、計(jì)算各層元素對(duì)系統(tǒng)目標(biāo)的合成權(quán)重,并進(jìn)行排序。
最終權(quán)重=準(zhǔn)則權(quán)重*方案權(quán)重
三、層次分析法的缺點(diǎn)
1、評(píng)價(jià)的決策層不能太多,太多的話n會(huì)很大,判斷矩陣和一致矩陣差異可能會(huì)很大。
2、在理想情況下,準(zhǔn)則兩兩評(píng)價(jià)的打分是由專家討論研究得到,而比賽中則由參賽者自己打分,對(duì)于題目中有關(guān)決策層已經(jīng)給出數(shù)據(jù),無(wú)法打分的情況下,層次分析法不能很好的解決這類問(wèn)題。
四、代碼實(shí)現(xiàn)
%% 注意:在論文寫(xiě)作中,應(yīng)該先對(duì)判斷矩陣進(jìn)行一致性檢驗(yàn),然后再計(jì)算權(quán)重,因?yàn)橹挥信袛嗑仃囃ㄟ^(guò)了一致性檢驗(yàn),其權(quán)重才是有意義的。 %% 在下面的代碼中,我們先計(jì)算了權(quán)重,然后再進(jìn)行了一致性檢驗(yàn),這是為了順應(yīng)計(jì)算過(guò)程,事實(shí)上在邏輯上是說(shuō)不過(guò)去的。 %% 因此大家自己寫(xiě)論文中如果用到了層次分析法,一定要先對(duì)判斷矩陣進(jìn)行一致性檢驗(yàn)。 %% 而且要說(shuō)明的是,只有非一致矩陣的判斷矩陣才需要進(jìn)行一致性檢驗(yàn)。 %% 如果你的判斷矩陣本身就是一個(gè)一致矩陣,那么就沒(méi)有必要進(jìn)行一致性檢驗(yàn)。disp('請(qǐng)輸入判斷矩陣A') A=input('A='); [n,n] = size(A); % % % % % % % % % % % % %方法1: 算術(shù)平均法求權(quán)重% % % % % % % % % % % % % Sum_A = sum(A); SUM_A = repmat(Sum_A,n,1); Stand_A = A ./ SUM_A;disp('算術(shù)平均法求權(quán)重的結(jié)果為:'); disp(sum(Stand_A,2)./n) % % % % % % % % % % % % %方法2: 幾何平均法求權(quán)重% % % % % % % % % % % % % Prduct_A = prod(A,2); Prduct_n_A = Prduct_A .^ (1/n); disp('幾何平均法求權(quán)重的結(jié)果為:'); disp(Prduct_n_A ./ sum(Prduct_n_A)) % % % % % % % % % % % % %方法3: 特征值法求權(quán)重% % % % % % % % % % % % % [V,D] = eig(A); Max_eig = max(max(D)); [r,c]=find(D == Max_eig , 1); disp('特征值法求權(quán)重的結(jié)果為:'); disp( V(:,c) ./ sum(V(:,c)) ) % % % % % % % % % % % % %下面是計(jì)算一致性比例CR的環(huán)節(jié)% % % % % % % % % % % % % CI = (Max_eig - n) / (n-1); RI=[0 0.0001 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 1.59]; %注意哦,這里的RI最多支持 n = 15 % 這里n=2時(shí),一定是一致矩陣,所以CI = 0,我們?yōu)榱吮苊夥帜笧?,將這里的第二個(gè)元素改為了很接近0的正數(shù) CR=CI/RI(n); disp('一致性指標(biāo)CI=');disp(CI); disp('一致性比例CR=');disp(CR); if CR<0.10disp('因?yàn)镃R<0.10,所以該判斷矩陣A的一致性可以接受!'); elsedisp('注意:CR >= 0.10,因此該判斷矩陣A需要進(jìn)行修改!'); end五、例題? 耳機(jī)挑選問(wèn)題
? 首先在知網(wǎng)上查詢耳機(jī)等關(guān)鍵詞查詢資料,得到耳機(jī)購(gòu)買(mǎi)的四個(gè)影響因素:音質(zhì)、價(jià)格、外觀、功能。然后2020耳機(jī)排行榜上得到排行榜前三的三個(gè)品牌:索尼、漫步者、蘋(píng)果、形成三個(gè)方案。
? 對(duì)準(zhǔn)則和方案進(jìn)行評(píng)價(jià),在對(duì)準(zhǔn)則進(jìn)行評(píng)價(jià)時(shí)主觀性較大,此處評(píng)價(jià)為筆者自行打分,
| 準(zhǔn)則 | 音質(zhì) | 價(jià)格 | 外觀 | 功能 |
| 音質(zhì) | 1 | 4 | 6 | 8 |
| 價(jià)格 | 1/4 | 1 | 4 | 5 |
| 外觀 | 1/6 | 1/4 | 1 | 2 |
| 功能 | 1/8 | 1/5 | 1/2 | 1 |
方案評(píng)價(jià):方案評(píng)價(jià)中參考知乎對(duì)三個(gè)品牌耳機(jī)的評(píng)價(jià)
| 音質(zhì) | 索尼 | 漫步者 | 蘋(píng)果 |
| 索尼 | 1???? | 4???? | 8???? |
| 漫步者 | ?1/4 | 1???? | 4???? |
| 蘋(píng)果 | ?1/8 | ?1/4 | 1???? |
| 價(jià)格 | 索尼 | 漫步者 | 蘋(píng)果 |
| 索尼 | 1???? | ?1/2 | ?1/4 |
| 漫步者 | 2???? | 1???? | ?1/2 |
| 蘋(píng)果 | 4???? | 2???? | 1???? |
| 外觀 | 索尼 | 漫步者 | 蘋(píng)果 |
| 索尼 | 1???? | ?1/2 | ?1/6 |
| 漫步者 | 2???? | 1???? | ?1/3 |
| 蘋(píng)果 | 6???? | 3???? | 1???? |
| 功能 | 索尼 | 漫步者 | 蘋(píng)果 |
| 索尼 | 1???? | ?1/3 | ?1/8 |
| 漫步者 | 3???? | 1???? | ?1/4 |
| 蘋(píng)果 | 8???? | 4???? | 1???? |
通過(guò)一致性檢驗(yàn)后,利用算數(shù)平均法,幾何平均法,特征值法形成最終權(quán)重
| 準(zhǔn)則權(quán)重 | 索尼 | 漫步者 | 蘋(píng)果 | |
| 音質(zhì) | 0.6147 | 0.7071 | 0.2227 | 0.0702 |
| 價(jià)格 | 0.245 | 0.1429 | 0.2857 | 0.5714 |
| 外觀 | 0.0865 | 0.1111 | 0.2222 | 0.6667 |
| 功能 | 0.0539 | 0.0783 | 0.02051 | 0.07167 |
| 最終權(quán)重 | 0.48349539 | 0.227215979 | 0.244677503 |
(此處用excel處理時(shí),可以F4鎖定準(zhǔn)則權(quán)重加以計(jì)算)
得到最終權(quán)重,綜合來(lái)看對(duì)小明來(lái)說(shuō)購(gòu)買(mǎi)索尼耳機(jī)比較合適。
總結(jié)
以上是生活随笔為你收集整理的[清风数学建模]层次分析法(AHP)笔记及代码实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 数据可视化图表使用场景大全 !
- 下一篇: fastadmin html js记录一