본문 바로가기
수학&통계학

차원 축소 (2) : 요인 분석(FA), 다차원 척도법(MDS), 자기조직화 지도(SOM)

by 코스믹구구 2026. 5. 15.
1편에서 차원 축소의 개념과 PCA를 다뤘다.
이번 2편에서는 PCA와 비슷하지만 목적이 다른 FA(요인분석), 데이터 간 거리 관계를 보존하는 MDS(다차원 척도법), 그리고 비선형 차원 축소의 독특한 방법 SOM(자기조직화 지도)을 다룬다.
각 방법이 어떤 상황에 적합한지를 중심으로 이해해보자.

1. FA — 요인 분석 (Factor Analysis)

PCA와 무엇이 다른가?

FA와 PCA는 겉으로 비슷해 보이지만 출발점이 완전히 다르다.

PCA의 관점
"관측 변수들의 변동(분산)을 최대한 보존하는
새로운 축을 찾자"

→ 수학적 최적화 문제
→ 잠재 구조의 존재를 가정하지 않음
→ 설명하려는 대상: 전체 분산
FA의 관점
"관측 변수들 뒤에 숨겨진 잠재 요인이 있다.
그 요인을 찾자"

→ 측정 모형에 대한 가정
→ 잠재 요인이 실제로 존재한다고 가정
→ 설명하려는 대상: 공통 분산
💡 FA vs PCA — 실생활 비유로 이해하기
학생들의 국어, 영어, 수학, 과학, 사회 점수 데이터가 있다.

PCA: "이 5개 점수를 가장 잘 설명하는 새 변수를 만들자"
→ PC1 = 0.4×국어 + 0.4×영어 + 0.3×수학 + 0.4×과학 + 0.5×사회 (단순 수학 변환)

FA: "이 점수들은 사실 '언어 능력'과 '이해력'이라는 보이지 않는 능력이 만들어내는 결과다"
→ 언어 요인(국어·영어에 높은 부하), 과학 요인(수학·과학에 높은 부하) 발견
→ 요인 자체가 실제로 존재한다는 의미론적 가정이 있음

FA 모형 수식

X = μ + ΛF + ε
X: 관측 변수 벡터 (p개 변수)  |  μ: 평균 벡터
Λ (Lambda): 요인 부하 행렬 (p×k) — 각 변수가 각 요인에 기여하는 정도
F: 잠재 요인 벡터 (k개 요인, k < p) — 직접 관측 불가
ε: 고유 오차 (각 변수에 고유한 설명되지 않는 부분)

핵심은 변수 X의 분산을 두 부분으로 나눈다는 것이다.

  • 공통 분산(Communality): 요인들이 공통으로 설명하는 분산 부분 (h²)
  • 고유 분산(Uniqueness): 그 변수에만 고유한 분산 (1 − h²)

FA 수행 단계

📌 소비자 만족도 설문 FA 예시

5점 척도 설문 10개 항목으로 소비자 만족도를 조사. 몇 개의 잠재 요인이 있는가?

① 상관 행렬 확인
항목들 간 상관관계를 확인한다.
상관이 없으면 FA 불필요 (독립적인 항목들).
Bartlett 구형성 검정: H₀(상관행렬=단위행렬) 기각되면 FA 가능
KMO 측도: 0.5 이상이면 FA 적합 (0.8 이상이면 좋음)
② 요인 수 결정
고유값 ≥ 1 기준 또는 스크리 도표로 결정.
예) 3개 요인 선택
③ 요인 추출 (주축 분해, 최대우도법 등)
요인 부하 행렬 추정.
각 항목이 각 요인에 얼마나 연관되는지 계산.
④ 요인 회전 (Factor Rotation)
초기 결과는 해석이 어려울 수 있음.
회전으로 각 항목이 특정 요인에 집중되도록 재배치.

직교 회전(Varimax): 요인들이 서로 독립이라고 가정
사교 회전(Oblimin, Promax): 요인들 간 상관 허용
⑤ 결과 해석
요인 1: 가격·할인·가성비 항목에 높은 부하 → "가격 만족도" 요인
요인 2: 친절도·응대속도·불만처리 항목에 높은 부하 → "서비스 만족도" 요인
요인 3: 디자인·품질·내구성 항목에 높은 부하 → "제품 품질" 요인

요인 부하 행렬 해석

요인 부하량(Factor Loading)은 변수와 요인 사이의 상관계수다. 일반적으로 절댓값 0.3~0.4 이상이면 유의미한 부하로 본다.

항목 요인1 (가격) 요인2 (서비스) 요인3 (품질) 공통성 h²
가격 적절성 0.82 0.12 0.08 0.70
할인 혜택 0.79 0.05 0.15 0.65
직원 친절도 0.10 0.85 0.09 0.74
응대 속도 0.08 0.80 0.12 0.66
제품 디자인 0.15 0.11 0.88 0.80
내구성 0.20 0.09 0.75 0.61
⚠️ FA 사용 시 주의사항
1. 요인 이름은 연구자가 부여: "가격 만족도"라는 이름은 데이터에서 나오지 않고 연구자가 해석해서 붙인다 → 주관적
2. 최소 표본 수: 변수당 최소 5~10개 이상의 관측치 필요
3. 탐색적 FA vs 확인적 FA:
    EFA (탐색적): 요인 구조를 모를 때 발견하는 것
    CFA (확인적): 가설적 요인 구조가 데이터에 맞는지 검증하는 것 (SEM의 일부)

 

2. MDS — 다차원 척도법 (Multidimensional Scaling)

핵심 아이디어 — 거리 관계를 보존하라

PCA와 FA는 변수들 사이의 관계(공분산, 상관)를 다룬다. MDS는 완전히 다른 출발점을 가진다. 데이터 포인트들 사이의 거리(또는 비유사도)를 최대한 보존하면서 저차원(보통 2D)에 배치하는 것이 목표다.

💡 MDS의 직관 — 지도 만들기
여러 도시 간의 실제 거리 표가 있다고 하자. (서울↔부산: 325km, 서울↔제주: 452km, ...)
원래 데이터는 거리 행렬뿐이고, 좌표(경위도)는 모른다.
MDS는 이 거리 관계를 최대한 보존하는 2D 지도를 자동으로 그려낸다.
→ 원본 공간의 구조를 시각화하는 데 강력한 도구

MDS의 종류

계량적 MDS (Metric MDS)
거리가 정확한 수치로 주어질 때 사용.
유클리드 거리, 상관 거리 등.

원본 거리를 정확히 재현하려 함.
기본 MDS = 계량적 MDS = PCoA(주좌표분석)

예) 도시 간 실제 km 거리
비계량적 MDS (Non-metric MDS)
거리의 순서(순위)만 보존하면 됨.
정확한 수치 대신 "A가 B보다 가깝다"는
상대적 관계만 유지.

설문의 "유사도 평가" 같은
서열 데이터에 적합
예) 브랜드 이미지 유사도 조사

MDS 활용 예시

📌 브랜드 포지셔닝 맵 — MDS 대표 활용
상황
소비자 100명에게 스마트폰 브랜드 6개(A~F)의 유사성을 1~9점으로 평가받았다.
(1 = 매우 다르다, 9 = 매우 비슷하다)
입력 데이터
유사도 행렬 (평균값) → 비유사도로 변환 (= 10 − 유사도)
A↔B: 2.1 (매우 다름) A↔C: 7.8 (매우 비슷) B↔F: 3.5 (다름) ...
MDS 2D 결과 (포지셔닝 맵)
• A와 C가 2D 공간에서 가까이 위치 → 소비자 인식에서 비슷한 브랜드
• B와 D가 멀리 위치 → 다른 포지션
• 축 해석: x축 = "프리미엄 ↔ 보급형", y축 = "기술중심 ↔ 감성중심" 등
→ 경쟁사 대비 자사 포지션 파악, 빈 시장 기회 발견

스트레스 값 (Stress) — MDS 적합도 평가

Stress = √[Σ(d̂ᵢⱼ − dᵢⱼ)² / Σ dᵢⱼ²]
d̂ᵢⱼ: 저차원 공간의 거리  |  dᵢⱼ: 원래 거리
Stress < 0.05: 매우 좋음 / 0.05~0.10: 좋음 / 0.10~0.20: 허용 / > 0.20: 나쁨

 

반응형

 

3. SOM — 자기조직화 지도 (Self-Organizing Map)

핵심 아이디어 — 뇌의 지형도

SOM은 인공 신경망의 일종이지만 지도학습이 아닌 비지도 학습이다. 인간 뇌의 시각 피질이 자극에 따라 위상학적으로 조직화되는 원리에서 착안했다. 고차원 데이터를 2D 격자 지도로 매핑하는데, 원본 공간에서 가까운 데이터들이 지도에서도 가까이 위치하도록 학습한다.

💡 SOM의 직관 — 동네 지도 만들기
비슷한 특성의 사람들이 비슷한 동네에 모여 사는 것처럼,
SOM은 비슷한 데이터 포인트들이 지도에서 같은 "동네"에 모이도록 학습한다.
→ 고객 세분화, 이상 탐지, 문서 분류 등에 활용

SOM 구조

  • 입력층: 원본 데이터 벡터 (p차원)
  • 출력층 (지도): 2D 격자. 각 격자 셀이 하나의 뉴런 (예: 10×10 = 100개 뉴런)
  • 가중치 벡터: 각 뉴런은 p차원 가중치 벡터를 가짐 (원본 공간의 위치를 표현)

SOM 학습 과정

📌 SOM 학습 알고리즘 — 단계별 설명
① 초기화
모든 뉴런의 가중치 벡터를 랜덤하게 초기화한다.
② 입력 데이터 제시
훈련 데이터에서 샘플 하나(x)를 선택한다.
③ 최우승 유닛(BMU) 찾기
모든 뉴런과 입력 x 사이의 거리를 계산한다.
가장 가까운 뉴런을 BMU(Best Matching Unit)로 선정.
BMU = argmin_j ||x − w_j||
④ BMU와 이웃 뉴런 가중치 업데이트
BMU의 가중치를 입력 x 방향으로 이동.
BMU 주변 뉴런들도 거리에 반비례해 함께 이동.
w_j(t+1) = w_j(t) + η(t) · h(j, BMU, t) · [x − w_j(t)]

η(t): 학습률 (시간에 따라 감소)
h(j, BMU, t): 이웃 함수 (BMU에서 멀수록 작은 값, 시간에 따라 범위 축소)
⑤ 반복
전체 데이터를 여러 에포크 반복하며 지도가 점점 데이터 분포를 반영하도록 학습.

SOM 결과 해석 — U-matrix와 히트맵

  • U-matrix (통합 거리 행렬): 인접 뉴런들의 가중치 벡터 거리를 색상으로 표현. 경계가 밝게 나타남 → 군집 간 경계 식별
  • 컴포넌트 플레인: 각 입력 변수가 지도에서 어떻게 분포하는지 표시. 특정 영역에서 해당 변수 값이 높음/낮음 확인
  • 히트맵: 각 격자 셀에 얼마나 많은 데이터가 매핑되었는지 표시
📌 SOM 활용 사례
고객 세분화: 구매 패턴, 연령, 구매 주기 등으로 고객을 자동 군집화
이상 탐지: SOM 지도에서 드물게 활성화되는 뉴런 영역 = 이상 데이터
문서 분류: 텍스트 벡터를 지도에 매핑해 주제별 클러스터 발견
유전자 발현 분석: 비슷한 발현 패턴의 유전자들을 지도상 같은 영역에 배치
금융 사기 탐지: 정상 거래 패턴에서 벗어나는 거래 탐지

 

4. PCA / FA / MDS / SOM — 최종 비교

방법 입력 데이터 보존하려는 것 가정 결과 주요 용도
PCA 변수×관측치 행렬 분산 (정보량) 선형 관계 주성분 점수 차원 축소, 시각화, 노이즈 제거
FA 변수×관측치 행렬 공통 분산 (잠재 구조) 잠재 요인 존재 요인 점수 잠재 구조 발견, 설문 분석
MDS 거리(비유사도) 행렬 거리 관계 최소 가정 2D/3D 좌표 지각도, 포지셔닝, 시각화
SOM 변수×관측치 행렬 위상 구조 최소 가정 (비선형) 2D 격자 지도 군집화, 이상 탐지, 패턴 발견
📌 어떤 방법을 언제 쓸까? — 실무 선택 가이드
• 변수가 너무 많고 다중공선성이 있다 → PCA (전처리 목적)
• 설문 척도 데이터에서 숨겨진 개념을 발견하고 싶다 → FA
• 데이터 간 유사도/거리만 있고 2D로 시각화하고 싶다 → MDS
• 고차원 데이터를 비선형적으로 군집화·시각화하고 싶다 → SOM
• 군집 내 위상(토폴로지) 구조가 중요하다 → SOM
• 데이터 양이 적고 해석이 중요하다 → PCA 또는 FA

📌 핵심 정리

  • FA의 핵심: 관측 변수 뒤에 잠재 요인이 있다는 가정. X = ΛF + ε
  • PCA vs FA: PCA는 전체 분산 설명 / FA는 공통 분산(잠재 구조) 설명
  • 공통성(h²): 요인들이 설명하는 분산 비율. 1이면 완전 설명, 0이면 설명 못함
  • 요인 회전: 해석 용이성 향상. 직교(Varimax) vs 사교(Oblimin)
  • EFA vs CFA: EFA는 구조 탐색, CFA는 가설 검증
  • MDS의 핵심: 거리(비유사도) 행렬을 저차원에 시각화. 거리 관계 보존
  • 계량적 MDS: 정확한 거리 재현 / 비계량적 MDS: 순서만 보존
  • Stress: MDS 적합도. 0.1 이하면 좋음. 원본-저차원 거리 차이
  • SOM의 핵심: 비선형 비지도 학습. 2D 격자에 위상 구조를 보존하며 매핑
  • BMU: 입력과 가장 가까운 뉴런. BMU와 이웃 뉴런 함께 업데이트
  • SOM 해석: U-matrix(군집 경계), 컴포넌트 플레인(변수 분포), 히트맵(데이터 밀도)

▶ 1편(차원의 저주 · PCA) → 2편(FA · MDS · SOM) 순서로 읽으면 차원 축소 방법론의 전체 그림이 완성된다.

728x90
반응형