← 10. 패턴·세분화

주성분분석(PCA)

서로 겹치는 변수들의 정보를 최대한 지키면서 차원을 줄입니다.

표준화고유값·설명분산적재량과 점수바이플롯

전력 사용량도시가스 사용량냉방 수요난방 수요최대 전력 수요에너지 사용 변동성가중합PC1 · 46%종합 소비 강도PC2 · 25%냉방 ↔ 난방두 성분 합계 71%

한 에너지 연구기관이 전국 120개 지역의 에너지 사용 특성을 비교한다고 가정해 보겠습니다. 연구기관은 지역별 전력 사용량과 도시가스 사용량, 여름철 냉방 수요, 겨울철 난방 수요, 최대 전력 수요 등 여러 지표를 수집했습니다.

그런데 이러한 지표들은 서로 밀접하게 관련될 수 있습니다. 전력 소비가 많은 지역은 최대 전력 수요도 높은 경우가 많고, 난방 수요가 높은 지역은 도시가스 사용량도 높게 나타날 수 있습니다.

이처럼 변수들이 서로 비슷한 정보를 담고 있다면 모든 지표를 각각 비교하는 것보다 공통적인 변동을 소수의 새로운 지표로 요약하는 편이 유용할 수 있습니다. 주성분분석(Principal Component Analysis, PCA)은 여러 수치형 변수의 정보를 가능한 한 많이 유지하면서 차원을 줄이는 분석 방법입니다.

이번 글에서는 주성분이 만들어지는 원리와 표준화, 고유값과 설명분산비율, 주성분 적재량과 점수, 시각화, 요인분석과의 차이, 결과 해석 및 주의사항을 하나의 예제로 살펴보겠습니다.

SECTION 1

주성분분석은 무엇을 하나요?

PCA는 원래 변수들의 선형결합으로 새로운 변수인 주성분(Principal Component)을 만듭니다.

첫 번째 주성분(PC1)은 데이터의 변동을 가장 많이 설명하는 방향이며, 두 번째 주성분(PC2)은 첫 번째 주성분과 직교하면서 남은 변동을 가장 많이 설명하는 방향입니다. 이후 주성분도 같은 원리로 구성됩니다.

전력 사용량도시가스 사용량냉방 수요난방 수요최대 전력 수요에너지 사용 변동성가중합직교 방향PC146%종합 소비 강도PC225%냉방 ↔ 난방두 성분 합계 71%
여섯 지표를 두 주성분으로 요약

예를 들어 여섯 개의 에너지 지표를 두 개의 주성분으로 요약하면 지역마다 여섯 개의 값을 일일이 비교하는 대신 PC1과 PC2라는 두 좌표로 전체적인 특징을 살펴볼 수 있습니다.

다만 두 주성분만 사용하면 원래 데이터의 일부 정보는 사라집니다. 얼마나 많은 정보를 유지했는지는 설명분산비율로 확인해야 합니다.

PCA는 관측된 데이터의 변동을 요약하는 방법입니다. 주성분에 원인이나 인과적 의미가 자동으로 부여되는 것은 아니며, 새 성분의 이름도 원래 변수들의 기여도를 보고 연구자가 해석해야 합니다.

SECTION 2

어떤 연구에서 활용하나요?

PCA는 서로 상관된 수치형 변수가 많고, 이를 소수의 지표로 요약하거나 시각화하고 싶을 때 유용합니다.

지역별 에너지 특성을 비교하는 것 외에도 여러 건강검진 지표의 패턴을 탐색하거나, 제품의 수많은 성능 지표를 압축하고, 머신러닝 모델에 입력할 특성의 차원을 줄이는 데 활용할 수 있습니다.

활용 목적PCA로 얻을 수 있는 것
데이터 요약여러 변수의 변동을 대표하는 주성분
시각화2차원 또는 3차원 주성분 좌표
중복 정보 감소높은 상관을 보이는 변수들의 정보 압축
후속 분석회귀·군집분석 등에 사용할 주성분 점수

다만 PCA로 차원을 줄였다고 해서 예측 성능이 반드시 좋아지는 것은 아닙니다. 예측에 중요한 정보가 분산이 작은 방향에 존재할 수도 있기 때문입니다. 후속 분석의 목적에 따라 원래 변수와 주성분을 비교해야 합니다.

SECTION 3

실제 사례: 지역별 에너지 사용 특성

연구기관이 지역 120곳에서 다음 여섯 변수를 수집했다고 가정하겠습니다.

모든 변수는 지역 규모 차이를 줄이기 위해 인구 또는 관련 시설 규모를 고려한 지표로 정의했습니다.

변수측정 내용단위
전력 사용량1인당 연간 전력 사용량MWh/인
도시가스 사용량1인당 연간 도시가스 사용량MWh/인
냉방 수요여름철 1인당 냉방 전력 사용량kWh/인
난방 수요겨울철 1인당 난방 에너지 사용량kWh/인
최대 전력 수요인구 1만 명당 최대 전력 수요MW
에너지 사용 변동성월별 소비량의 변동계수지수

연구 질문은 "지역별 에너지 소비 지표 여섯 개를 소수의 주성분으로 요약할 수 있으며, 그 주성분은 어떤 사용 특성을 나타내는가?"입니다.

이 예제의 수치와 결과표는 PCA의 해석 과정을 보여주기 위해 구성한 값이며, 실제 지역의 에너지 통계는 아닙니다.

SECTION 4

PCA 전에 표준화가 필요한 이유

원래 변수들의 단위와 분산이 다르면 값의 변동 범위가 큰 변수가 첫 번째 주성분에 지나치게 큰 영향을 미칠 수 있습니다.

예를 들어 냉방 수요는 kWh, 도시가스 사용량은 MWh, 변동성은 단위가 없는 지수이므로 이들을 원래 단위 그대로 분석하면 단위 선택 자체가 결과에 영향을 줄 수 있습니다.

표준화 전 표준편차표준화 후전력 사용량1.8 MWh1.0도시가스 사용량1.2 MWh1.0냉방 수요210 kWh1.0난방 수요320 kWh1.0최대 전력 수요0.6 MW1.0에너지 사용 변동성0.08 지수1.0
표준화 전후의 변수 산포

이 때문에 여러 단위의 지표를 함께 분석할 때는 평균을 0, 표준편차를 1로 맞추는 표준화(Standardization)를 자주 사용합니다.

zij = ( xij − x̄j ) ÷ sj

여기서 xij는 지역 i의 변수 j 값, x̄j는 변수 j의 평균, sj는 표준편차입니다. 표준화한 데이터에 PCA를 적용하면 실질적으로 상관행렬을 기반으로 주성분을 구하는 것과 같습니다.

모든 변수가 동일한 단위이고 분산 차이 자체가 연구에서 중요한 정보라면 공분산행렬 기반 PCA를 선택할 수도 있습니다. 따라서 표준화는 무조건 적용하는 절차가 아니라 변수의 단위와 분석 목적에 따라 결정해야 합니다.

SECTION 5

주성분은 어떻게 계산하나요?

PCA는 표준화된 변수들을 가중합하여 새로운 좌표를 만듭니다.

첫 번째 주성분 점수는 다음과 같이 표현할 수 있습니다.

PC1i = w1zi1 + w2zi2 + ⋯ + w6zi6

계수 wj는 각 원래 변수에 부여한 가중치이며, 주성분이 설명하는 분산이 최대가 되도록 정해집니다. 표준적인 PCA에서는 주성분 방향이 서로 직교하도록 구성합니다.

PC1설명 46%PC2설명 25%
주성분 축의 방향

행렬 관점에서는 공분산행렬 또는 상관행렬을 고유값 분해하거나, 표준화한 데이터 행렬을 특잇값 분해(SVD)하여 주성분을 구할 수 있습니다. 고유벡터는 주성분의 방향을, 고유값은 해당 방향으로 설명되는 분산을 나타냅니다.

여기서 중요한 점은 계산된 주성분이 원래 변수와 다른 새로운 합성변수라는 사실입니다. PC1을 '에너지 소비 규모'라고 부를 수 있을지는 계산식과 적재량을 확인한 뒤 판단해야 합니다.

SECTION 6

몇 개의 주성분을 남겨야 하나요?

주성분 수는 누적 설명분산비율과 스크리 도표, 후속 분석 목적을 종합해 결정합니다.

아래는 여섯 개 변수를 표준화해 PCA를 수행한 결과입니다.

주성분고유값설명분산비율누적 설명분산비율
PC12.7646%46%
PC21.5025%71%
PC30.7212%83%
PC40.488%91%
PC50.366%97%
PC60.183%100%
01230%50%100%고유값누적2.76PC11.50PC20.72PC30.48PC40.36PC50.18PC646%71%83%91%97%100%
고유값과 누적 설명분산비율

표준화한 변수 여섯 개를 사용했으므로 고유값의 합은 6입니다. 예를 들어 PC1의 설명분산비율은 2.76 ÷ 6 = 0.46, 즉 46%입니다. PC1과 PC2를 함께 사용하면 원래 변수들의 총분산 중 71%를 설명할 수 있습니다.

이번 예제에서는 두 성분으로 지역의 전체적인 패턴을 살펴보는 것이 목적이므로 PC1과 PC2를 선택했다고 가정하겠습니다. 그러나 정보 보존이 더 중요한 연구라면 누적 83%를 설명하는 PC3까지 남길 수 있습니다.

'누적 70%면 충분하다' 또는 '고유값 1 이상이면 무조건 선택한다'는 규칙을 절대적인 기준으로 사용해서는 안 됩니다.

SECTION 7

주성분 적재량은 어떻게 읽나요?

주성분 적재량(Loading)은 원래 변수와 주성분 사이의 관계를 이해하는 데 사용합니다.

아래 표는 원래 변수와 주성분의 상관계수 형태로 표시한 적재량을 개념적으로 단순화한 예시입니다.

원래 변수PC1PC2
전력 사용량0.820.18
도시가스 사용량0.72-0.44
냉방 수요0.600.68
난방 수요0.67-0.59
최대 전력 수요0.840.25
에너지 사용 변동성0.300.47
PC1PC2전력 사용량+0.82+0.18도시가스 사용량+0.72−0.44냉방 수요+0.60+0.68난방 수요+0.67−0.59최대 전력 수요+0.84+0.25에너지 사용 변동성+0.30+0.47
주성분 적재량

이 표는 주성분의 의미를 설명하기 위한 예시 패턴입니다. 앞 절의 고유값을 이용해 정확히 역산한 동일한 행렬의 계산 결과로 제시한 것은 아닙니다.

PC1은 전력 사용량과 최대 전력 수요, 도시가스 사용량 등 전반적인 에너지 사용 규모에 높은 양의 관계를 보입니다. 따라서 연구 목적상 '종합 에너지 소비 강도'로 해석할 수 있습니다.

PC2에서는 냉방 수요의 적재량이 양수이고 난방 수요 및 도시가스 사용량의 적재량이 음수입니다. 따라서 '냉방 중심 대비 난방 중심 사용 특성'으로 해석할 수 있습니다.

PCA의 주성분 부호는 임의적입니다. 같은 분석을 다른 프로그램에서 수행했을 때 한 주성분의 모든 부호가 반대로 나타나더라도 수학적으로 동일한 방향을 표현할 수 있습니다. 따라서 양수 자체에 고정된 실체적 의미를 부여하지 않아야 합니다.

SECTION 8

주성분 점수는 무엇을 의미하나요?

주성분 점수(Component Score)는 각 지역이 추정된 주성분 축에서 어느 위치에 있는지 나타냅니다.

주성분 적재량이 변수를 설명한다면 주성분 점수는 관측 대상인 지역을 설명합니다. 예를 들어 다음과 같은 점수가 나왔다고 가정하겠습니다.

지역PC1 점수PC2 점수해석 예시
A지역+1.80+0.90에너지 소비 강도가 높고 냉방 중심
B지역+1.20-1.10소비 강도가 높고 난방 중심
C지역-1.30+0.40소비 강도는 낮지만 상대적으로 냉방 중심
D지역-0.90-0.80소비 강도가 낮고 난방 중심
PC1 →↑ PC2소비 강도 높음소비 강도 낮음냉방 중심난방 중심A지역(+1.80, +0.90)B지역(+1.20, -1.10)C지역(-1.30, +0.40)D지역(-0.90, -0.80)
네 지역의 주성분 점수

점수가 0이라는 것은 표준화된 분석 자료에서 해당 주성분 축의 중심 부근이라는 의미입니다. 주성분 점수가 +1.80이라고 해서 전력 사용량이 1.8배라는 뜻은 아닙니다. 또한 PCA 점수는 측정 단위가 없는 합성좌표에 가까우므로 절댓값보다 지역 간 상대적인 위치와 패턴을 해석하는 것이 자연스럽습니다.

SECTION 9

PCA 시각화에서는 무엇을 확인하나요?

첫 두 주성분으로 지역을 산점도에 표시하면 서로 비슷한 에너지 사용 특성을 가진 지역들이 가까운 위치에 나타나는지 확인할 수 있습니다.

가로축을 PC1, 세로축을 PC2로 두면 오른쪽으로 갈수록 종합 에너지 소비 강도가 높은 방향, 위쪽으로 갈수록 냉방 중심 특성이 강한 방향으로 해석할 수 있습니다. 이는 위에서 정한 주성분 방향을 유지할 때의 설명입니다.

다만 2차원 그림에 표현되는 분산은 이 예제에서 71%입니다. 따라서 두 지역이 그림에서 가까이 나타나더라도 나머지 29%의 정보에서는 차이가 존재할 수 있습니다. PC1·PC2 산점도 하나만으로 지역의 유사성을 완전히 판단해서는 안 됩니다.

PC1PC2전력 사용량도시가스 사용량냉방 수요난방 수요최대 전력 수요에너지 사용 변동성냉방난방기타 변수지역
바이플롯

원래 변수의 적재량을 화살표로 함께 표시하는 바이플롯(Biplot)을 이용하면 지역별 점수와 변수 방향을 동시에 살펴볼 수 있습니다. 이때 화살표 길이와 각도는 사용한 바이플롯 스케일링 방식에 따라 해석이 달라질 수 있으므로 해당 방식을 확인해야 합니다.

SECTION 10

PCA와 탐색적 요인분석(EFA)은 무엇이 다른가요?

PCA와 EFA는 모두 여러 변수를 소수의 차원으로 정리하지만 분석 목적과 통계적 가정은 다릅니다.

PCA는 관측변수의 전체 분산을 최대한 보존하는 새로운 성분을 만듭니다. EFA는 여러 문항의 공통분산을 설명하는 잠재요인을 추정하고, 문항 고유의 변동 및 측정오차를 별도로 고려합니다.

구분PCAEFA
목적정보 압축과 차원 축소공통 잠재요인 탐색
사용하는 분산관측변수의 전체 분산공통분산 중심
결과서로 직교하는 주성분회전과 모형에 따라 상관 가능한 요인
주요 사용 예여러 에너지 지표를 소수의 좌표로 요약설문 문항에서 자율성·협업 같은 잠재개념 탐색

예를 들어 여섯 개 에너지 지표를 두 개의 합성지표로 축약하려면 PCA가 적절한 출발점입니다. 반면 12개 설문 문항이 실제로 몇 개의 심리적 잠재요인을 측정하는지 알아보고 싶다면 EFA가 더 적절할 수 있습니다.

주성분에 의미 있는 이름을 붙일 수 있다는 사실만으로 PCA가 잠재변수 모형이 되는 것은 아닙니다.

SECTION 11

후속 분석에 PCA를 사용할 때는 무엇을 주의해야 하나요?

PCA 점수는 군집분석이나 회귀모형, 시각화 등의 입력으로 사용할 수 있습니다.

하지만 차원 축소가 항상 후속 분석의 품질을 높이는 것은 아닙니다. 예를 들어 지역의 특정 위험을 예측하는 데 중요한 변수가 전체 분산에는 크게 기여하지 않는다면 상위 주성분만 남길 때 예측 정보가 사라질 수 있습니다.

머신러닝에서 PCA를 사용한다면 훈련 데이터에서만 표준화 평균·표준편차와 주성분 방향을 학습해야 합니다.

이후 검증 데이터와 테스트 데이터에는 훈련 데이터에서 학습한 변환을 그대로 적용합니다. 전체 데이터에서 PCA를 먼저 계산한 뒤 훈련·테스트 데이터를 나누면 데이터 누수가 발생할 수 있습니다.

또한 주성분의 의미는 분석에 포함된 변수와 표본, 표준화 방법에 따라 달라집니다. 새로운 변수나 지역을 추가해 PCA를 다시 수행하면 적재량과 주성분 점수가 달라질 수 있으므로 결과를 비교할 때 같은 변환 기준을 유지해야 합니다.

SECTION 12

PCA 결과를 해석할 때 흔히 하는 실수

설명분산비율을 예측 정확도로 해석해서는 안 됩니다.

PC1과 PC2가 총분산의 71%를 설명한다는 것은 여섯 에너지 지표의 변동 중 71%를 두 축으로 표현한다는 뜻입니다. 이후 회귀분석에서 목표변수를 71% 정확도로 예측한다는 의미가 아닙니다.

표준화 여부를 빠뜨리지 않아야 합니다.

서로 다른 단위의 변수를 표준화하지 않으면 변수의 측정 단위가 주성분 방향을 결정하는 데 큰 영향을 줄 수 있습니다. 반대로 분산 차이가 연구에서 중요한 경우에는 표준화를 선택하지 않을 수도 있습니다.

적재량과 점수를 혼동하지 않아야 합니다.

적재량은 어떤 변수가 주성분과 관련되는지 보여주며, 점수는 각 관측 대상이 주성분 축에서 어디에 위치하는지 보여줍니다.

주성분을 원인으로 해석하지 않아야 합니다.

지역이 PC1에서 높은 점수를 보인다는 사실은 여러 에너지 지표에 공통된 변동 패턴을 나타낼 뿐, PC1이라는 요인이 지역의 전력 소비를 발생시켰다는 의미는 아닙니다.

데이터 구조와 이상치를 확인해야 합니다.

PCA는 평균과 분산·공분산에 기초하므로 극단적인 관측값의 영향을 크게 받을 수 있습니다. 이상치를 무조건 삭제하기보다는 데이터 오류와 실제 특이 지역을 구분하고 필요하면 강건 PCA 등의 대안을 검토해야 합니다.

SECTION 13

PCA 결과는 어떻게 보고하나요?

PCA 결과를 보고할 때는 표본과 변수 수, 전처리 및 표준화 방식, 성분 수 결정 기준, 각 주성분의 고유값과 설명분산비율, 주요 적재량, 해석을 함께 제시하는 것이 좋습니다.

후속 분석에 점수를 사용했다면 점수 산출 방법과 변환 기준도 기록해야 합니다.

결과 보고 예시

지역별 에너지 소비 특성을 요약하기 위해 120개 지역의 여섯 개 지표를 대상으로 주성분분석(PCA)을 실시하였다. 변수 간 측정 단위가 달라 모든 지표를 표준화한 뒤 상관행렬 기반 PCA를 적용하였다. 분석 결과 첫 번째 주성분의 고유값은 2.76으로 전체 분산의 46%를 설명했으며, 두 번째 주성분의 고유값은 1.50으로 25%를 추가 설명하였다. 두 주성분의 누적 설명분산비율은 71%였다.

첫 번째 주성분은 전력 사용량과 최대 전력 수요 등 전반적인 소비 수준과 밀접하게 관련되어 종합 에너지 소비 강도로 해석하였다. 두 번째 주성분은 냉방 수요와 난방 수요의 대비를 반영하는 방향으로 나타나 냉방 중심 대비 난방 중심 사용 특성으로 해석하였다. 이 결과는 서로 관련된 여섯 개의 에너지 지표를 두 개의 주요 축으로 요약하여 지역별 패턴을 비교할 수 있음을 보여준다.

적재량의 예시 패턴과 고유값 표는 원리를 설명하기 위해 별도로 구성했습니다.

✓마무리

PCA는 변수의 정보를 압축하는 방법입니다

주성분분석은 여러 수치형 변수를 소수의 새로운 성분으로 요약하는 차원 축소 방법입니다.


첫 번째 주성분부터 차례대로 가능한 한 많은 분산을 설명하도록 구성되므로, 서로 상관된 변수들의 패턴을 정리하고 시각화하는 데 유용합니다.

분석에서는 변수의 단위와 표준화 여부를 먼저 결정하고, 고유값과 설명분산비율을 이용해 유지할 성분 수를 선택합니다. 이후 적재량으로 각 성분의 의미를 해석하고, 주성분 점수로 관측 대상의 상대적 위치를 살펴볼 수 있습니다.

다만 PCA는 잠재요인을 확인하거나 인과관계를 검증하는 방법이 아닙니다. 또한 설명분산비율이 높다고 해서 후속 예측 성능까지 보장되는 것은 아니므로 연구 목적에 맞게 결과를 활용해야 합니다.

KEY TAKEAWAY

PCA의 핵심은 변수를 무조건 줄이는 것이 아니라, 어느 정도의 정보를 유지하면서 데이터를 더 간결하게 표현할 수 있는지 확인하는 데 있습니다.