본문 바로가기
빅데이터(Big Data)

다기준 의사결정의 핵심, AHP(Analytic Hierarchy Process)

by forward error correction Circle 2026. 8. 10.
반응형

Ⅰ. AHP(Analytic Hierarchy Process, 계층화 분석법) 기법이란?

ⅰ. 개요 및 정의

  1. AHP(Analytic Hierarchy Process, 계층화 분석법)는 Thomas L. Saaty 교수가 고안한 정량적·정성적 요소를 통합하여 다기준 의사결정(MCDM)을 지원하는 수리적 모델입니다.
  2. 복잡한 의사결정 문제를 계층적으로 구조화하고, 상호 간 쌍대비교(Pairwise Comparison)를 거쳐 수치화된 가중치와 우선순위를 산출합니다.

ⅱ. 등장 배경 및 필요성

  1. 주관적이고 감정적인 판단이 개입되기 쉬운 의사결정 과정을 논리적이고 체계적인 수치 프로세스로 변환하기 위해 등장했습니다.
  2. 다수의 이해관계자 의견이 대립할 때 의사결정자의 논리적 일관성을 객관적으로 검증할 수 있는 표준 수단을 제공합니다.

Ⅱ. AHP(Analytic Hierarchy Process, 계층화 분석법) 기법 특징

ⅰ. 계층적 구조화 (Hierarchical Structure)

  1. 의사결정의 최상위 목표(Goal), 중간 평가 기준(Criteria), 하위 평가 기준(Sub-Criteria), 최종 대안(Alternatives) 순으로 문제를 시각적 계층 구조로 분류합니다.
  2. 복잡한 거시적 문제를 작은 단위 문제로 정밀하게 분해하여 직관적 분석을 가능하게 합니다.

ⅱ. 쌍대비교 및 상대적 가중치 산정 (Pairwise Comparison)

  1. 요소를 일대일로 비교하는 9점 척도(Saaty's 1-9 Scale)를 활용하여 상대적 중요도를 정교하게 측정합니다.
  2. absolute rating의 오류를 피하고 두 요소 간 상대적 우위 점수를 행렬화합니다.

ⅲ. 논리적 일관성 검증 (Consistency Verification)

  1. 평가자의 응답에 논리적 모순이 없는지 일관성 지수($CI$) 및 일관성 비율($CR$)로 검증합니다.
  2. $CR \le 0.1$ 범위 내에 들어올 경우에만 평가 결과를 신뢰할 수 있는 수치로 유효 인정합니다.

Ⅲ. AHP(Analytic Hierarchy Process, 계층화 분석법) 방식

ⅰ. 의사결정 문제의 계층 구조화

  1. 의사결정의 최종 목표를 도출하고, 이를 달성하기 위한 주평가 항목과 세부 항목을 트리 구조로 구성합니다.
  2. 최하위 계층에 선택 가능한 복수의 대안들을 배치합니다.

ⅱ. 쌍대비교 행렬 작성 및 고유벡터(Eigenvector) 산출

  1. 동일 계층 내 요소 간 1:1 비교를 수행하여 역대칭 형태의 쌍대비교 행렬 $A$를 구성합니다.
  2. 행렬의 최대 고유값 $\lambda_{max}$와 이에 대응하는 정규화된 고유벡터를 구하여 상대적 가중치(Weight Vector)를 도출합니다.

ⅲ. 일관성 검증 및 가중치 종합 합성

  1. 공식 $CI = \frac{\lambda_{max} - n}{n - 1}$ 및 $CR = \frac{CI}{RI}$를 통해 의사결정자의 일관성을 검증합니다.
  2. 각 계층별 가중치를 상위 계층에서 하위 계층으로 종합 가중치(Overall Weight)로 합성하여 최선의 대안 순위를 산출합니다.

Ⅳ. AHP(Analytic Hierarchy Process, 계층화 분석법) 구성 및 흐름도

ⅰ. 주요 구성 요소

  1. Goal (최종 목표): 해결하고자 하는 의사결정의 최상위 지향점입니다.
  2. Criteria / Sub-Criteria (평가 기준): 목표 달성을 판단하는 주평가 및 하위 세부 기준들입니다.
  3. Alternatives (선택 대안): 가중치 합성에 의해 최종 순위가 매겨질 대상 목록입니다.

ⅱ. AHP 프로세스 및 데이터 통신 흐름도

[ Level 1: Goal ]                최종 목표 (예: 최적 데이터센터 입지 선정)
       │
       ├────────────────────────────────────────┐
       ▼                                        ▼
[ Level 2: Criteria ]            평가 기준 A (cost)        평가 기준 B (Infrastructure)
       │                                        │
       ├───────────────────┐                    ├───────────────────┐
       ▼                   ▼                    ▼                   ▼
[ Level 3: Sub-Criteria ]  A-1 (부지비용)       A-2 (운영비용)       B-1 (전력망)       B-2 (통신망)
       │                   │                    │                    │
       └───────────────────┴───────────┬────────┴────────────────────┘
                                       │
                                       ▼
                             [ Pairwise Matrix ]   (1:1 쌍대비교 행렬 구성 및 가중치 산출)
                                       │
                                       ▼
                             [ Consistency Check ] ($CR \le 0.1$ 일관성 검증)
                                       │
                                       ▼
[ Level 4: Alternatives ]    대안 1 (서울)          대안 2 (대전)          대안 3 (부산)
                             (최종 합성 가중치 산출 및 최적 대안 결정)

Ⅴ. AHP(Analytic Hierarchy Process, 계층화 분석법) 설치 방법

ⅰ. Python 기반 AHP 연산 환경 구축

  1. pip install numpy pandas pyahp 명령어를 실행하여 행렬 연산 및 AHP 전용 패키지를 설치합니다.
  2. 가상환경(venv/conda) 내에서 의존성 패키지가 충돌 없이 배치되었는지 확인합니다.

ⅱ. R 기반 AHP 패키지 설치

  1. R 콘솔에서 install.packages("ahp") 명령으로 공식 AHP 분석 라이브러리를 설치합니다.
  2. library(ahp) 실행으로 모듈 로딩 상태를 파악합니다.

Ⅵ. AHP(Analytic Hierarchy Process, 계층화 분석법) 사용 방법

ⅰ. Python을 활용한 쌍대비교 행렬 생성 및 가중치 계산

  1. numpy 배열을 활용하여 역대칭 형태의 쌍대비교 행렬을 정의합니다.
  2. 행렬의 정규화 과정을 통해 가중치 벡터를 도출합니다.
import numpy as np

# 1. 3x3 쌍대비교 행렬 예시 (기준 A, B, C)
matrix = np.array([
    [1.0,  3.0,  5.0],
    [1/3,  1.0,  3.0],
    [1/5,  1/3,  1.0]
])

# 2. 열합 산출 및 정규화
col_shares = matrix / matrix.sum(axis=0)

# 3. 요소별 가중치(Weight Vector) 산출
weights = col_shares.mean(axis=1)
print("각 요소별 가중치:", weights)

ⅱ. 일관성 비율($CR$) 검증 실행

  1. 고유값 연산을 통해 $\lambda_{max}$를 구하고 일관성 지수를 계산합니다.
  2. $CR$ 값이 0.1 이하인지 검증하여 결과를 적용합니다.

Ⅶ. AHP(Analytic Hierarchy Process, 계층화 분석법) 자주 쓰는 명령어

ⅰ. NumPy 기반 고유값 및 고유벡터 추출 함수

  1. eigenvalues, eigenvectors = np.linalg.eig(matrix): 행렬의 고유값과 고유벡터를 동시 산출합니다.
  2. max_index = np.argmax(eigenvalues.real): 최대 고유값($\lambda_{max}$)의 인덱스를 반환합니다.

ⅱ. 일관성 지수(CI) 및 비율(CR) 계산 스크립트

  1. ci = (max_eig - n) / (n - 1): 일관성 지수($CI$) 산출 수식 구문.
  2. cr = ci / ri_dict[n]: 행렬 크기($n$)별 Random Index($RI$) 대비 일관성 비율($CR$) 산출 구문.

Ⅷ. AHP(Analytic Hierarchy Process, 계층화 분석법) 활용방안

ⅰ. 공공 사업 타당성 평가 및 제안서 수주 평가

  1. 예비타당성조사(AHP 평가)에서 경제성, 정책성, 기술성 항목의 종합 우위 점수를 도출할 때 사용합니다.
  2. 공공 및 기업 제안서 평가 시 평가위원들의 개별 점수를 통합하여 객관적인 입찰 정량 점수를 책정합니다.

ⅱ. IT 인프라/솔루션 도입 벤더 선정

  1. Cloud, ERP, DBMS 등 신규 IT 솔루션 도입 시 성능, 가격, 유지보수, 확장성을 계층화하여 최적의 벤더를 선정합니다.
  2. 데이터센터 및 신규 공장 입지 선정 시 다기준 우위 분석 지표로 활용합니다.

Ⅸ. AHP(Analytic Hierarchy Process, 계층화 분석법) 트러블 슈팅

ⅰ. 일관성 비율 초과($CR > 0.1$) 발생 시 조치

  1. $CR$ 값이 0.1을 초과하는 경우 의사결정자의 비교 평가에 논리적 모순(예: A > B, B > C 인데 C > A 라 평가함)이 존재하는 상태입니다.
  2. 설문 응답자에게 모순된 항목을 제시하여 쌍대비교 평가를 재수행하거나 모순도가 높은 항목을 정밀 수정합니다.

ⅱ. 대안 추가 시 순위 역전 현상(Rank Reversal) 해결

  1. 기존 대안군에 신규 대안이 추가될 때 기존 대안들 간의 우선순위가 뒤바뀌는 현상이 나타날 수 있습니다.
  2. 독립성 조건이 필요한 경우 상대평가 방식 대신 절대평가 기준을 적용하는 Rating AHP 모델로 변경하여 수리적 안정성을 확보합니다.
반응형