주성분분석 (Principal component analysis)

통계
한 줄 정의: 서로 얽혀 있는 여러 변수를, 정보 손실을 최소화하면서 훨씬 적은 수의 새로운 축(주성분)으로 압축하는 방법입니다.

쉽게 풀면

학생들의 국어, 영어, 수학, 사회, 과학 점수 5개를 한 번에 분석하려니 너무 복잡합니다. 그런데 자세히 보니 국어·영어·사회 점수는 서로 비슷하게 오르내리고("언어/문과 능력"), 수학·과학 점수도 서로 비슷하게 움직입니다("이과 능력").

주성분분석은 이렇게 "함께 움직이는 변수들의 묶음"을 찾아내서, 5개 점수를 "문과 능력 점수"와 "이과 능력 점수"라는 2개의 새로운 축으로 요약해줍니다. 원래 정보를 최대한 유지하면서 변수 개수를 줄이는 것이 핵심입니다.

왜 중요한가

변수 수가 많아질수록 데이터를 시각화하거나 분석 모형에 그대로 투입하기가 어려워지는데(차원의 저주), 주성분분석은 이런 고차원 데이터를 다루기 쉬운 형태로 압축하는 대표적인 해법입니다. 유전체 데이터의 변이 패턴을 요약하거나, 영상 데이터의 특징을 추출하거나, 여러 경제지표를 하나의 종합지수로 묶는 등 데이터의 차원을 줄이면서도 핵심 정보를 보존해야 하는 거의 모든 분야에서 전처리 및 탐색적 분석 도구로 널리 쓰입니다.

언제 쓰나

서로 상관이 높은 여러 연속형 변수를 몇 개의 요약 점수로 줄이고 싶을 때 씁니다.

주성분분석은 자료의 전체 분산을 가장 많이 담는 방향을 찾는 요약 방법일 뿐, 눈에 보이지 않는 요인이 문항을 만든다는 모형이 아닙니다. 그래서 척도의 신뢰도를 검증하거나 잠재구조를 확인하는 목적이라면 탐색적 요인분석이나 크론바흐 알파를 쓰는 것이 맞고, 주성분분석 결과만으로 타당도·신뢰도를 주장하기는 어렵습니다(Preacher & MacCallum, 2003).

상황보통 고르는 방법
변수를 적은 수의 점수로 압축주성분분석
문항 뒤의 잠재 요인 구조 추정요인분석
변수 대신 대상 간 거리 정보로 지도 그리기다차원척도법
고차원 자료의 비선형 시각화t-SNE

결과는 이렇게 읽는다

작은 예(가상의 상관행렬): 변수 4개 중 앞의 셋은 서로 상관이 .6~.8로 높고 네 번째는 거의 무관(.1~.2)합니다. 고유값은 2.44, 0.97, 0.41, 0.18이고 설명 분산 비율은 61.0%, 24.3%, 10.2%, 4.4%입니다. Kaiser 기준으로는 1개(0.97은 1에 약간 못 미침), 누적 85.3%인 2개까지 남기는 것도 가능합니다. 첫 성분의 적재값은 .93, .90, .84, .25로, 앞의 세 변수를 대표하는 축임을 알 수 있습니다.

논문에는 이렇게 보고한다

(수치는 위 가상의 예에 맞춘 형식 예시입니다.)

상관행렬에 대한 주성분분석 결과, 고유값 1 이상인 성분은 1개였고 전체 분산의 61.0%를 설명하였다. 평행분석에서도 1개 성분이 지지되었다.

논문에서는 이렇게 쓰입니다

실제 논문에서

국내 학술지 논문에서 이 용어가 쓰인 문장을 그대로 옮겼습니다. 제목·학술지·연도와 원문 링크를 함께 적었습니다.

예시 문장

아래는 용어의 쓰임을 보여 주려고 만든 예시로, 실제 논문에서 가져온 문장이 아닙니다.

"12개 설문 문항에 주성분분석을 실시한 결과, 고유값 1 이상인 3개의 주성분이 추출되었으며 전체 분산의 68.4%를 설명하였다."

이 문장은 원래 12개나 되던 문항을 정보 손실을 크게 겪지 않으면서 3개의 핵심 축으로 줄였다는 뜻입니다. "68.4%를 설명한다"는 것은 원본 데이터가 가진 전체 변동성 중 68.4%를 이 3개 주성분만으로도 충분히 요약할 수 있다는 의미입니다.

"수만 개의 유전자 발현값에 주성분분석을 적용하여 상위 두 개의 주성분만으로 정상군과 환자군이 뚜렷하게 구분되는 것을 확인하였다."

유전체학에서는 방대한 수의 유전자 발현 데이터를 소수의 축으로 요약해, 시료 간 차이를 시각적으로 파악하는 탐색적 분석에 흔히 활용됩니다.

"안면 이미지 데이터셋에 주성분분석을 적용해 얻은 주요 성분들을 특징 벡터로 사용하여 얼굴 인식 모델의 입력 차원을 축소하였다."

영상처리와 컴퓨터비전 분야에서는 고해상도 이미지의 픽셀 정보를 그대로 다루는 대신, 주성분분석으로 핵심적인 특징만 추출해 연산량을 줄이는 데 사용합니다.

조금 더 깊게 보면

주성분분석은 변수들 간의 공분산(또는 상관) 행렬을 고유값 분해하여, 데이터의 분산을 가장 많이 설명하는 방향부터 순서대로 축(주성분)을 찾아내는 방식으로 작동합니다. 각 주성분이 설명하는 분산의 비율을 스크리 도표(scree plot)로 그려 몇 개의 주성분까지 사용할지 판단하는 경우가 많으며, 변수의 척도가 서로 다르면 결과가 특정 변수에 치우칠 수 있어 분석 전에 표준화를 거치는 것이 일반적입니다.

주의할 점

주성분분석은 요인분석과 자주 혼동되지만 목적이 다릅니다. 요인분석은 "관측되지 않은 잠재 개념(요인)이 문항들을 만들어낸다"고 가정하고 그 잠재 개념을 추정하는 반면, 주성분분석은 그런 가정 없이 순수하게 "데이터의 분산을 가장 잘 설명하는 방향"을 수학적으로 찾아 압축할 뿐입니다. 따라서 심리 측정 도구의 잠재 구조를 확인하려는 목적이라면 요인분석이 더 적절할 수 있습니다.

헷갈리기 쉬운 용어

용어목적가정
주성분분석분산을 최대한 보존하며 변수를 요약잠재 요인 모형 없음. 성분은 변수의 합성
요인분석문항 사이 공통 변동을 만드는 잠재 요인 추정요인이 문항을 만든다는 측정 모형을 가정
다차원척도법대상 간 거리를 보존하는 지도거리(비유사도) 행렬이 입력
t-SNE가까운 점들의 이웃 구조를 시각화축의 의미·거리 크기는 해석 불가

유클리드 거리를 입력으로 한 고전적 다차원척도법은 주성분분석과 같은 좌표를 줍니다.

참고 문헌

  1. Jolliffe, I. T. (2002). Principal Component Analysis (2nd ed.). Springer.
  2. Jolliffe, I. T., & Cadima, J. (2016). Principal component analysis: A review and recent developments. Philosophical Transactions of the Royal Society A, 374(2065), 20150202.
  3. Hotelling, H. (1933). Analysis of a complex of statistical variables into principal components. Journal of Educational Psychology, 24(6), 417–441.
  4. Cattell, R. B. (1966). The scree test for the number of factors. Multivariate Behavioral Research, 1(2), 245–276.
  5. Preacher, K. J., & MacCallum, R. C. (2003). Repairing Tom Swift’s electric factor analysis machine. Understanding Statistics, 2(1), 13–43.

표의 기준값은 위 문헌에 근거한 관례이며, 분야·학술지마다 다른 기준을 쓸 수 있습니다.

관련 용어