데이터 분석을 하다 보면 변수(Feature)가 너무 많아 모델이 복잡해지거나, 변수들끼리 상관관계가 높아(다중공선성) 분석이 어려울 때가 있습니다. 이때 사용하는 가장 강력한 무기가 바로 주성분분석(PCA, Principal Component Analysis)입니다.
오늘은 복잡한 데이터를 심플하게 압축하면서도 정보 손실을 최소화하는 PCA의 원리와 해석 방법을 정리해 보겠습니다.
1. 주성분분석(PCA)이란?
PCA는 고차원의 데이터를 저차원으로 축소하는 기법입니다. 쉽게 말해, "데이터의 분포를 가장 잘 표현하는 새로운 좌표축(주성분)을 찾아 데이터를 회전시키는 것"입니다.
PCA의 핵심 목적
- 상관성 제거: 서로 상관성이 있는 변수들을 상관성이 없는(0에 가까운) 변수들로 변환합니다.
- 차원 축소: 데이터의 정보를 최대한 보존하면서 변수의 개수를 줄입니다.
- 직교(Orthogonal): 새로운 좌표축들은 서로 90도로 교차(직교)하여 독립적입니다.
- 변동성 정렬: 데이터를 잘 설명하는 순서대로(분산이 큰 순서대로) 주성분을 나열합니다.
활용 분야: 데이터 전처리, 시각화, 노이즈 제거, 모델링 성능 향상 등
2. 주성분의 원리 (Linear Combination)
데이터에 $k$개의 변수($X_1, X_2, \dots, X_k$)가 있다고 가정해 봅시다.
주성분($PC$)은 이 원본 변수들의 선형 결합(Linear Combination)으로 표현됩니다.
- 즉, 주성분은 기존 변수들을 적절한 비율($\alpha$, 가중치)로 섞어서 만든 새로운 변수입니다.
- 반대로 원본 변수($X$) 역시 주성분들의 조합으로 다시 표현할 수 있습니다.
3. PCA 결과의 3요소 (해석 방법)
PCA를 수행하면 다음과 같은 결과물들을 얻게 됩니다. 이 용어들은 꼭 기억해야 합니다.
① Loading (적재값)
- 주성분을 구성하는 가중치 벡터입니다.
- 각 원본 변수가 해당 주성분을 만드는 데 얼마나 기여했는지를 나타냅니다. (위 수식의 $\alpha$에 해당)
② Variance (분산, $\sigma^2$)
- 각 주성분이 데이터를 얼마나 설명하는지를 나타내는 정보의 양입니다.
- 분산이 클수록 해당 주성분 방향으로 데이터가 넓게 퍼져 있다는 뜻이며, 이는 중요한 정보임을 의미합니다.
③ Transformed Score (주성분 점수)
- 원본 데이터를 새로운 좌표축(주성분)으로 변환했을 때의 새로운 좌표값입니다.
4. 시각화로 이해하는 PCA
2차원 데이터($X_1, X_2$)가 있을 때 PCA가 어떻게 작동하는지 그림으로 상상해 봅시다.

- 데이터 분포 확인: 데이터가 우상향하는 타원형으로 퍼져 있다고 가정합니다.
- 첫 번째 축 찾기 ($PC_1$): 데이터가 가장 길게 퍼져 있는(분산이 가장 큰) 방향으로 축을 긋습니다. 이것이 제1주성분($PC_1$)이며, 정보량($\sigma_1$)이 가장 큽니다.
- 두 번째 축 찾기 ($PC_2$): $PC_1$과 직교(90도)하면서, 남은 변동을 가장 잘 설명하는 방향으로 축을 긋습니다. 이때의 분산은 $\sigma_2$입니다.
- 축 회전 (Rotation): 이제 $X_1, X_2$ 축을 버리고, $PC_1, PC_2$를 새로운 $X, Y$축으로 삼아 데이터를 다시 그립니다.
결과: 원래는 $X_1, X_2$가 상관관계가 높았지만, 변환된 $PC_1, PC_2$는 서로 상관관계가 0인 독립적인 변수가 됩니다.
5. 주성분 계산 방법
실무에서 컴퓨터는 어떻게 주성분을 계산할까요? 크게 두 가지 수학적 방법이 사용됩니다.
- 특이값 분해 (SVD, Singular Value Decomposition): 데이터 행렬 자체를 분해하는 방법. (Scikit-learn 등 대부분의 라이브러리가 사용하는 방식)
- 고유값 분해 (Eigenvalue Decomposition): 공분산 행렬 또는 상관계수 행렬을 분해하는 방법.
주의사항: 표준화(Standardization)
PCA를 하기 전에는 반드시 표준화($\frac{X - \bar{X}}{\sigma}$)를 해야 합니다. 변수마다 단위(예: 키(cm)와 몸무게(kg))가 다르면 분산의 크기가 달라져 결과가 왜곡되기 때문입니다.
6. 몇 개의 주성분을 써야 할까? (누적 분산)
주성분은 서로 독립적이므로, 전체 정보량(Total Variance)은 개별 주성분 분산의 합과 같습니다.
보통 누적 기여율(Cumulative Variance Ratio)을 확인하여, 전체 정보의 80~90% 이상을 설명하는 지점까지의 주성분 개수를 선택합니다.
요약
- PCA: 데이터의 정보를 유지하며 차원을 줄이는 기법.
- 원리: 분산(정보)이 가장 큰 방향으로 새로운 축을 찾고 데이터를 회전시킴.
- 특징: 변수 간 상관성을 없애고(직교), 중요한 순서대로 정렬됨.
- 필수 전처리: 스케일링(Standardization) 필수!
'Study Note > 통계' 카테고리의 다른 글
| PCA와 비슷하지만 다른, 요인분석(Factor Analysis)의 모든 것 (0) | 2025.12.19 |
|---|---|
| PCA 활용: 복잡한 데이터를 한눈에 보는 법 (차원 축소 & 시각화) (0) | 2025.12.18 |
| 정확도(Accuracy)의 함정: 민감도, 특이도, 그리고 베이즈 정리 (0) | 2025.12.17 |
| 분류 문제의 시작, 로지스틱 회귀(Logistic Regression) 완벽 해부 (0) | 2025.12.16 |
| 숫자를 센다? 무조건 '푸아송 회귀'입니다. (feat. 의료 데이터 활용법) (0) | 2025.12.15 |