- 概要
-
階層分析法の代表的な方法について解説する。階層分析法(Analytic Hierarchy Process;AHP)は、複数の選択基準からなる代替案の選択問題において、問題を目標、選択基準、代替案の3階層に分け、各階層において比較評価を行い、総合評価にまとめる。客観評価ができずに、決定者の主観や勘に頼らざるを得ない場面で特に威力発揮する。
【キーワード】
階層分析法,AHP (Analytic Hierarchy Process),一対比較
- 放送授業パタン,台本(字幕代りにどうぞ)
-
- ExcelによるAHP
- アパート選択
- RによるAHP
- プログラム
- アパート選択
> source('AHP.R')
> # 評価基準の一対比較行列を入力
> (Acriteria <- matrix(c(1,7,3, 1/7,1,1/3, 1/3,3,1), ncol=3, byrow=T))
[,1] [,2] [,3]
[1,] 1.0000000 7 3.0000000
[2,] 0.1428571 1 0.3333333
[3,] 0.3333333 3 1.0000000
> # 評価基準の一対比較行列のC.I.値を計算
> CI(Acriteria)
[1] 0.003510883 # 十分小さい
> # 評価基準1に関して代替案の一対比較行列を入力
> (Atime <- matrix(c(1,5,7, 1/5,1,5, 1/7,1/5,1), ncol=3, byrow=T)) # 所要時間
[,1] [,2] [,3]
[1,] 1.0000000 5.0 7
[2,] 0.2000000 1.0 5
[3,] 0.1428571 0.2 1
> # C.I.値を計算
> CI(Atime)
[1] 0.0913834 # 十分小さい
> # 評価基準2に関して代替案の一対比較行列を入力
> (Aclean <- matrix(c(1,1/5,1/3, 5,1,3, 3,1/3,1), ncol=3, byrow=T)) # きれいさ
[,1] [,2] [,3]
[1,] 1 0.2000000 0.3333333
[2,] 5 1.0000000 3.0000000
[3,] 3 0.3333333 1.0000000
> # C.I.値を計算
> CI(Aclean)
[1] 0.01925555 # 十分小さい
> # 評価基準3に関して代替案の一対比較行列を入力
> (Arent <- matrix(c(1,1/3,1/7, 3,1,1/5, 7,5,1), ncol=3, byrow=T)) # 家賃
[,1] [,2] [,3]
[1,] 1 0.3333333 0.1428571
[2,] 3 1.0000000 0.2000000
[3,] 7 5.0000000 1.0000000
> # C.I.値を計算
> CI(Arent)
[1] 0.03244379 # 十分小さい
> # 評価基準の重要度
> (w <- weight(Acriteria))
[1] 0.66941687 0.08794621 0.24263692
> # 評価基準1に関する代替案の重要度
> (w_time <- weight(Atime))
[1] 0.71470956 0.21849437 0.06679607
> # 評価基準2に関する代替案の重要度
> (w_clean <- weight(Aclean))
[1] 0.1047294 0.6369856 0.2582850
# 評価基準3に関する代替案の重要度
> (w_rent <- weight(Arent))
[1] 0.08096123 0.18839410 0.73064467
> # 総合評価
> # 準備
> (P <- rbind(w_time, w_clean, w_rent))
[,1] [,2] [,3]
w_time 0.71470956 0.2184944 0.06679607
w_clean 0.10472943 0.6369856 0.25828499
w_rent 0.08096123 0.1883941 0.73064467
> # 評価基準の重要度で、代替案の価基準ごとの重要度を重みづけ
> (point <- t(w) %*% P)
[,1] [,2] [,3]
[1,] 0.5072934 0.2479956 0.2447110 # 代替案1の評価が最も高い