빅데이터분석기사

데이터 차원축소 종류: PCA(주성분 분석), FA(요인분석), t-SNE(t-분산 확률적 이웃 임베딩), MDS(다차원척도법)

Jia H 2025. 4. 1. 18:17

🚀 주성분분석(Principal Component Analysis, PCA)

✅️ 차원축소의 목적

- 여러 변수들을 소수의 주성분으로 추소하여 데이터를 쉽게 이해 및 관리

- 주성분분석을 통해 차원을 축소하여 연산속도 개선

- 회귀분석에서 다중공선성 최소화 등

 

✅️ 주성분분석을 이해하기 위한 수학적 개념

주요 개념 설명
공분산
(Covariance)
- 2개의 연속형 변수의 상관 정도(선형관계)를 나타내는 값
- 원 데이터의 분산에 대한 정보 저장
공분산행렬
(Covariance Matrix)
- 변수들 사이의 공분산을 행렬로 나타낸 값
- 정방행렬(Square Matrix)
- 대칭행렬(Symmetric Matrix): 전치(Transpose)를 시켰을 때 동일한 행렬
- 데이터의 구조적 의미: 각 데이터의 변동이 얼마나 닮았나를 확인
고유벡터
(Eigen Vectors)
- 공분산행렬 A에 의해 선형변환(Linear Transformation)되는 수많은 벡터들 중에 변환되기 전과 변환 후의 방향이 똑같은 벡터
- 선형변환에 의한 변환 결과가 자기 자신의 상수배수가 되는 0이 아닌 벡터
고유값
(Eigen Values)
- 변환 전과 후의 길이 변화 비율
- 고유벡터에 의해 변환되는 스케일
새로운 차원의 데이터 - 원데이터에 고유벡터를 내적 연산한 값(차원축소된 값)

 

✅️ 주성분분석 절차

구분 절차
Step 1 평균과 편차를 구하고 공분산행렬 계산
Step 2 고유분해를 이용해 고유값과 고유벡터 계산
Step 3 고유값이 큰 순서대로 나열
Step 4 지정된 최소 분산 크기 이상을 설명하도록 n번째 고유벡터 선택
Step 5 기존 데이터값에 고유벡터를 내적하여 새로운 차원의 값 생성

 

 

✅️ 주성분의 결정 기준

구분 설명
고유값 기준(Eigenvalue Criterion)과
누적기여율(Cumulative Proportion)

<고유값 기준>
- 고유값이 1이상이거나 1에 가까운 주성분만 선택(주성분이 설명하는 분산의 양
- 위 사례에서 PC1이 2.9381이기 때문에 PC1 선택(단 PC2도 1에 가깝지 때문에 PC2까지 선택)

<누적기여율>
- 주성분분석 결과 누적기여율이 85% 이상에 해당하는 주성분의 수 결정
- 위 사례에서는 PC2: 95.8%, PC3: 99.48%이므로 2개의 주성분 선정
스크리그래프(ScreePlot) - 수평축에 주성분을 높고 수직축에 해당 주성분에 대응하는 고유값을 연결한 차트


- 그래프가 완만해지는 부분 이전의 주성분 선택
- 위 사례에서 PC3까지 3개의 주성분 선정

 

 

🚀 요인분석(Factor Analysis, FA)

✅️ 요인분석의 목적

- 변수들이 하나의 요인으로 묶여짐으로써 적은 수의 요인으로 축소

- 요인에 포함되지 않거나 포함되더라도 중요도가 낮은 변수 제거

- 관련된 변수들이 묶여져 요인을 이루고 이들 요인들은 상호 독립적인 특성 파악

- 측정항목의 타당성(Validity)을 평가

 

✅️ 요인분석 개념

구분 설명
요인(Factor) - 상관계수가 높은 변수들을 포함해 새롭게 생성한 변수 집단
요인적재값
(Factor Loading)
- 변수와 해당 요인 간의 상관계수
- 요인적재값의 제곱은 해당 변수가 요인에 의해 설명되는 분산의 비율을 의미
요인행렬
(Factor Matrix)
- 요인들에 대한 모든 변수의 요인적재값을 모은 행렬
고유값
(Eigen Value)
- 각 요인에 대한 모든 변수들의 요인적재값 제곱의 합
- 해당 요인이  설명할 수 있는 변수들의 분산 총합으로, 변수 속 정보(분산)가 어떤 요인에 의해 어느 정도 설명될 수 있는지를 나타내는 비율
공통성
(Communality)
- 여러 요인이 설명할 수 있는 한 변수의 분산의 양을 백분율로 나타낸 것
- 한 변수의 공통성은 추출된 요인들이 그 변수의 정보(분산)을 얼마만큼 설명할 수 있는지를 의미하며, 0과 1사이의 값을 가짐

 

📌 주성분분석과 요인분석의 차이 비교

구분 주성분분석 요인분석
공통점 변수 축소 기능, 데이터 패턴 탐색 용이, 타 분석을 위한 사전 분석 역할 수행
원리 변수의 전체 분산을 토대로 요인을 추출
(원 변수들의 선형 결합으로 만들어짐)
변수 간의 공통 분산만(공분산)을 토대로 요인을 추출
그룹 내 변수들 간에는 상관계수가 높고 다른 그룹 변수 간에는 상관관계가 낮음
목적 변수들의 변동을 설명 여러 변수의 공분산 구조의 의미를 밝힘
변수 개수 원 변수를 1~2개로 축약 서로 상관성을 갖는 변수들의 군집의 수만큼 축약

 

 

🚀 t-SNE(t-Distributed Stochastic Neighbot Embedding)

✅️ t-SNE의 목적

- 고차원 데이터를 저차원으로 축소하여 시각적으로 표현하는 데 사용

- 데이터의 군집(클러스터) 구조를 유지하며, 비선형적인 차원 축소 수행

- 지도학습이 아닌 비지도 학습 방식으로 데이터 패턴을 분석

 

✅️ t-SNE 특징

- 데이터 포인트 간의 상대적 거리(유사성)을 유지하지만, 전체적인 전역 구조(global structure) 표현에는 약함

- 데이터가 복잡할수록 해석이 어려워질 수 있음

- 고차원 공간의 데이터 밀도를 고려하여 시각적으로 의미 있는 군집을 표현

 

✅️ t-SNE 절차

단계 설명
Step 1 고차원 데이터에서 두 점 간 유사도를 확률 분포로 변환
Step 2 저차원 공간에서 유사한 확률 분포를 생성
Step 3 두 확률 분포 간 차이를 최소화하는 방향으로 점들의 위치를 조정
Step 4 저차원 공간에서 시각적으로 클러스터를 분석

 

🚀 다차원척도법(Multidimensional Scaling, MDS)

 

✅️ MDS의 목적

 

- 고차원 데이터를 저차원으로 변환하여 데이터 간 거리를 보존하는 차원 축소 기법

- 데이터 간 유사성을 측정하여 2D 또는 3D 공간에서 시각화 가능

- 선형 및 비선형 차원 축소 방식으로 활용

 

✅️ MDS 특징

- 전체적인 전역 구조(global structure)를 보존하는 데 강함

- 차원 축소 후에도 원본 데이터 간 거리 관계를 최대한 유지하려 함

- 데이터가 많아질수록 연산 비용이 커질 수 있음

 

✅️ MDS 절차

단계 설명
Step 1 데이터 간 거리 행렬 계산
Step 2 거리 행렬을 기반으로 좌표를 최적화하여 저차원 임베딩 생성
Step 3 스트레스 함수 값을 최소화하는 방식으로 반복 학습
Step 4 최적화된 좌표를 통해 데이터 시각화 수행

 

 


📚 차원 축소 기법 비교

기법 방식 전역 구조 유지 지역 구조 유지 비선형성
PCA 선형 변환 ✅ 강함 ❌ 약함 ❌ 없음
FA 선형 변환 ✅ 강함 ❌ 약함 ❌ 없음
t-SNE 확률 기반 ❌ 약함 ✅ 강함 ✅ 강함
MDS 거리 기반 ✅ 강함 ✅ 강함 ✅ 강함