모던지 / 데이터분석 준전문가 / 데이터분석 9강. 다변량 분석

데이터분석 9강. 다변량 분석

주성분분석은 변수를 고르는 방법이 아니라 변수를 섞어 새로 만드는 방법입니다. 그래서 첫 주성분이 무엇을 뜻하는지는 분석가가 해석해야 합니다.

풀고 시작

문제 1. 서로 강하게 상관된 변수 열 개를 서로 상관없는 적은 수의 새 변수로 요약하고 싶습니다. 가장 알맞은 방법은 무엇입니까?
주성분분석은 원래 변수들을 섞어 서로 상관없는 주성분을 만들고, 분산을 많이 설명하는 앞쪽 몇 개만 남겨 차원을 줄입니다. 다차원척도법은 개체 사이의 거리를 지도로 옮기는 방법입니다.

여러 변수를 한꺼번에 본다는 것

지금까지는 변수 하나나 둘을 다뤘습니다. 다변량 분석은 여러 변수를 동시에 다루면서 그 사이의 구조를 찾습니다. 변수가 많으면 서로 겹치는 정보가 생기고, 사람이 한눈에 보기도 어렵습니다. 그래서 핵심은 정보를 잃지 않으면서 차원을 줄이는 것입니다. 이 강에서는 변수를 요약하는 주성분분석과 개체 사이의 거리를 지도로 그리는 다차원척도법을 봅니다.

주성분분석: 변수를 섞어 새 축을 만든다

주성분분석(PCA, principal component analysis)은 칼 피어슨이 1901년에, 해럴드 호텔링이 1933년에 발전시킨 방법입니다. 원래 변수들에 가중치를 곱해 더한 새 변수를 만드는데, 첫째 주성분은 자료의 분산을 가장 많이 담는 방향으로 잡고, 둘째 주성분은 첫째와 직교하는(상관이 없는) 방향 가운데 분산이 가장 큰 쪽으로 잡습니다. 이렇게 만든 주성분들은 서로 상관이 없어 8강의 다중공선성 문제를 피할 수 있습니다.

변수의 단위가 다르면 분산이 큰 변수가 첫째 주성분을 독차지합니다. 연봉(원)과 나이(세)를 그대로 넣으면 연봉의 숫자가 훨씬 커서 사실상 연봉 하나만 보게 되죠. 그래서 단위가 다를 때는 표준화한 뒤, 곧 상관행렬로 분석합니다. R에서는 prcomp(df, scale. = TRUE)처럼 씁니다.

pc <- prcomp(df, scale. = TRUE)
summary(pc)
#                         PC1  PC2  PC3  PC4
# Standard deviation     1.60 1.05 0.50 0.30
# Proportion of Variance 0.64 0.28 0.06 0.02
# Cumulative Proportion  0.64 0.92 0.98 1.00

Standard deviation을 제곱한 값이 그 주성분의 분산, 곧 고유값입니다. Proportion of Variance는 전체 분산 가운데 그 주성분이 설명하는 비율이고, Cumulative Proportion은 앞에서부터 쌓은 누적 기여율입니다. 표준화한 변수 넷의 전체 분산은 4이므로 첫째 주성분의 고유값 2.56은 전체의 64퍼센트입니다.

몇 개를 남길지는 세 가지 기준으로 정합니다. 누적 기여율이 70에서 90퍼센트 정도에 이를 때까지 남기는 방법, 고유값을 차례로 그린 스크리 그림(scree plot)에서 기울기가 급히 완만해지는 팔꿈치 앞까지 남기는 방법, 상관행렬로 분석했을 때 고유값이 1 이상인 것만 남기는 방법입니다. 위 결과라면 두 개를 남기면 됩니다.

주성분의 뜻은 적재값(loading), 곧 원래 변수에 붙은 가중치를 보고 해석합니다. 모든 변수에 비슷한 크기의 양수 가중치가 붙었다면 "전반적인 크기"를, 두 무리의 변수가 반대 부호를 가졌다면 "둘 사이의 대비"를 나타낸다고 읽습니다. 관측되지 않는 잠재 요인이 변수들을 만들어 낸다고 가정하는 요인분석과 달리, 주성분분석은 그런 가정 없이 분산을 요약할 뿐입니다.

다차원척도법: 거리를 지도로 옮긴다

다차원척도법(MDS, multidimensional scaling)은 개체 사이의 거리나 비유사성만 주어졌을 때, 그 거리를 최대한 지키도록 개체들을 2차원이나 3차원 지도 위의 점으로 배치합니다. 도시 사이의 거리표만 있어도 지도를 거의 되살릴 수 있고, 소비자가 느끼는 브랜드 사이의 비슷함으로 브랜드 지도를 그릴 수도 있습니다.

지도가 원래 거리를 얼마나 잘 지켰는지는 스트레스(stress) 값으로 봅니다. 0이면 완벽하고, 작을수록 좋습니다. 조지프 크러스컬이 제시한 기준으로는 0.05 이하면 좋고, 0.1 정도면 보통, 0.2 이상이면 나쁘다고 봅니다. 거리가 구간척도나 비율척도로 잰 실제 거리라면 계량적 MDS(R의 cmdscale)를, 순위처럼 순서만 믿을 수 있는 비유사성이라면 비계량적 MDS(MASS 패키지의 isoMDS)를 씁니다.

인출 문제

문제 1. 주성분분석에서 첫째 주성분을 잡는 기준으로 옳은 것은?
첫째 주성분은 분산이 가장 큰 방향이고, 둘째는 첫째와 직교하는 방향 가운데 분산이 가장 큰 방향입니다. 주성분분석에는 종속변수가 없습니다.
문제 2. 연봉(원)과 나이(세)를 함께 주성분분석할 때 표준화하는 이유는 무엇입니까?
주성분분석은 분산이 큰 방향을 찾으므로 단위 때문에 분산이 큰 변수가 결과를 지배합니다. 표준화하면 모든 변수의 분산이 1이 되어 공정하게 비교됩니다.
문제 3. prcomp 결과에서 PC1의 Standard deviation이 1.60일 때 PC1의 고유값은 얼마입니까?
고유값은 주성분의 분산이므로 표준편차를 제곱해 1.6 곱하기 1.6으로 2.56입니다.
문제 4. 다차원척도법의 스트레스 값에 관한 설명으로 옳은 것은?
스트레스는 지도 위 거리와 원래 거리의 어긋남을 잰 값이라 작을수록 좋습니다. 흔히 0.05 이하면 좋고 0.2 이상이면 나쁘다고 봅니다.

더 풀기

출제기준의 세부항목을 따라 이 강의 범위에서 새로 낸 문제입니다. 모의고사도 여기에서 뽑습니다.

묶음 1

문제 1. 다변량 분석의 핵심 목표로 가장 알맞은 것은?
다변량 분석은 변수가 많을 때 겹치는 정보를 정리하고 한눈에 볼 수 있는 구조를 찾는 것이 목표입니다.
문제 2. 주성분분석을 처음 제안하고 발전시킨 사람들로 옳은 것은?
칼 피어슨이 1901년에 제안하고 해럴드 호텔링이 1933년에 발전시켰습니다. 이하카와 젠틀먼은 R을 만든 사람들입니다.
문제 3. 주성분분석으로 만든 주성분들끼리의 관계로 옳은 것은?
주성분은 서로 직교하도록 잡으므로 상관이 없습니다. 그래서 주성분을 회귀의 독립변수로 쓰면 다중공선성이 생기지 않습니다.
문제 4. 주성분분석을 다중공선성 해결에 쓸 수 있는 이유로 알맞은 것은?
상관이 높은 변수들 대신 서로 상관없는 주성분을 독립변수로 쓰면 계수가 안정됩니다. 이렇게 하는 회귀를 주성분회귀라고 부릅니다.
문제 5. 주성분분석이 변수 선택과 다른 점으로 옳은 것은?
변수 선택은 원래 변수 가운데 일부를 고르지만, 주성분분석은 모든 변수를 섞어 새 축을 만듭니다. 그래서 주성분의 뜻을 따로 해석해야 합니다.
문제 6. prcomp 결과의 Proportion of Variance가 뜻하는 것은 무엇입니까?
Proportion of Variance는 각 주성분의 고유값을 전체 분산으로 나눈 기여율입니다. 앞에서부터 쌓은 것이 Cumulative Proportion입니다.
문제 7. 누적 기여율이 PC1 0.64, PC2 0.92, PC3 0.98일 때 누적 기여율 80퍼센트를 기준으로 남길 주성분의 수는 몇 개입니까?
PC1까지는 64퍼센트로 80퍼센트에 못 미치고, PC2까지 쌓으면 92퍼센트로 기준을 넘습니다. 그래서 두 개를 남깁니다.
문제 8. 표준화한 변수 다섯 개로 주성분분석을 했을 때 모든 주성분의 고유값을 더하면 얼마입니까?
표준화한 변수는 분산이 1이므로 다섯 개의 전체 분산은 5이고, 주성분의 고유값을 모두 더하면 전체 분산과 같습니다.
문제 9. 스크리 그림으로 주성분의 수를 정하는 방법으로 옳은 것은?
스크리 그림은 고유값을 차례로 그린 것으로, 급하게 떨어지다 평평해지는 지점 뒤의 주성분은 설명하는 분산이 작아 버립니다.
문제 10. 상관행렬로 주성분분석을 했을 때 고유값이 1 이상인 주성분만 남기는 이유로 알맞은 것은?
표준화한 변수는 분산이 1이므로 주성분이 요약의 의미를 가지려면 적어도 변수 하나만큼은 설명해야 한다는 기준입니다.

묶음 2

문제 1. 주성분의 뜻을 해석할 때 보는 것은 무엇입니까?
적재값은 주성분을 만들 때 원래 변수마다 곱한 가중치입니다. 어떤 변수에 큰 가중치가 붙었는지를 보고 주성분의 의미를 읽습니다.
문제 2. 첫째 주성분의 적재값이 모든 변수에서 비슷한 크기의 양수로 나왔습니다. 가장 알맞은 해석은 무엇입니까?
모든 변수가 같은 방향으로 비슷하게 기여하면 첫째 주성분은 전체적인 수준을 나타냅니다. 부호가 다른 무리가 있을 때 대비로 해석합니다.
문제 3. 둘째 주성분의 적재값이 신체 크기 변수에는 양수, 운동 능력 변수에는 음수로 나왔습니다. 가장 알맞은 해석은 무엇입니까?
두 무리의 변수에 반대 부호가 붙으면 그 주성분은 한쪽이 클수록 다른 쪽이 작은 대비를 나타냅니다.
문제 4. 주성분분석과 요인분석을 가르는 가장 큰 차이는 무엇입니까?
요인분석은 지능 같은 보이지 않는 요인이 여러 시험 점수를 만든다는 모형을 세웁니다. 주성분분석은 모형 없이 분산을 가장 잘 담는 축을 찾습니다.
문제 5. R에서 표준화해 주성분분석을 하는 표현으로 알맞은 것은?
prcomp는 기본으로 공분산을 쓰므로 scale. = TRUE를 줘야 표준화한 뒤 분석합니다. cmdscale은 계량적 다차원척도법 함수입니다.
문제 6. 다차원척도법에 필요한 입력으로 가장 알맞은 것은?
다차원척도법은 개체끼리 얼마나 멀거나 다른지만 알면 그 관계를 지키는 지도를 그립니다. 원래 변수 값이 없어도 됩니다.
문제 7. 도시 사이의 거리표만 주어졌을 때 도시들의 위치를 2차원 지도로 되살리는 방법은 무엇입니까?
다차원척도법은 거리를 최대한 지키도록 점을 배치하므로 거리표에서 지도를 거의 되살립니다. 회전이나 뒤집힘은 생길 수 있습니다.
문제 8. 크러스컬의 기준으로 스트레스 값이 0.25인 지도를 평가하면 어떻습니까?
스트레스는 0.05 이하면 좋고 0.1 정도면 보통, 0.2 이상이면 나쁘다고 봅니다. 0.25는 원래 거리를 제대로 지키지 못한 지도입니다.
문제 9. 소비자에게 브랜드 쌍의 비슷함을 순위로만 물었습니다. 알맞은 다차원척도법은 무엇입니까?
순위처럼 순서만 믿을 수 있는 비유사성에는 거리의 순서를 지키도록 배치하는 비계량적 MDS를 씁니다. R에서는 MASS 패키지의 isoMDS가 대표적입니다.
문제 10. 실제로 잰 거리처럼 비율척도의 거리에 쓰는 R의 계량적 MDS 함수는 무엇입니까?
cmdscale은 고전적인 계량적 다차원척도법 함수입니다. isoMDS는 비계량적 MDS, prcomp는 주성분분석, step은 변수 선택 함수입니다.

묶음 3

문제 1. 주성분분석과 다차원척도법의 공통점으로 가장 알맞은 것은?
주성분분석은 변수를 요약해, 다차원척도법은 거리를 지도로 옮겨 차원을 줄입니다. 둘 다 예측이 아니라 구조를 보는 방법입니다.
문제 2. 주성분분석과 다차원척도법의 차이로 옳은 것은?
주성분분석은 변수의 값을 받아 분산이 큰 축을 찾고, 다차원척도법은 거리만 받아 점의 위치를 찾습니다.
문제 3. 변수 20개로 주성분분석을 했더니 첫째 주성분 하나가 누적 기여율 95퍼센트를 차지했습니다. 가장 알맞은 해석은 무엇입니까?
변수들이 함께 움직일수록 한 방향이 대부분의 분산을 담습니다. 변수들이 서로 상관이 없다면 기여율이 고르게 퍼집니다.
문제 4. 주성분분석을 할 때 원래 변수들 사이의 상관이 거의 없다면 어떤 일이 생깁니까?
겹치는 정보가 없으면 요약할 거리도 없습니다. 주성분분석은 변수들이 상관되어 있을 때 효과가 큽니다.
문제 5. 고유값에 관한 설명으로 옳은 것은?
주성분은 분산이 큰 순서로 잡으므로 고유값도 앞에서부터 작아집니다. 분산이라 음수가 될 수 없습니다.
문제 6. 누적 기여율로 주성분의 수를 정할 때 흔히 쓰는 기준 범위는 어느 정도입니까?
흔히 누적 기여율이 70에서 90퍼센트에 이를 때까지 남깁니다. 100퍼센트를 채우려면 모든 주성분을 남겨야 해 차원을 줄이는 의미가 없어집니다.
문제 7. 다차원척도법의 결과 지도에서 두 점이 가깝게 놓였다면 무엇을 뜻합니까?
다차원척도법은 원래의 거리나 비유사성을 지키도록 배치하므로 가까운 점은 비슷한 개체입니다. 군집을 확정하는 것은 군집분석의 몫입니다.
문제 8. 다차원척도법 지도의 축에 관한 설명으로 가장 알맞은 것은?
점 사이의 거리는 지도를 돌리거나 뒤집어도 변하지 않으므로 축 자체에 정해진 뜻이 없습니다. 점들이 어떻게 늘어섰는지를 보고 축의 의미를 붙입니다.
문제 9. 설문 문항 30개로 고객의 성향을 몇 개의 차원으로 요약해 이후 분석에 쓰려 합니다. 가장 알맞은 첫 단계는 무엇입니까?
상관된 문항이 많을 때는 주성분분석으로 몇 개의 축으로 요약하는 것이 알맞습니다. 차원 수는 누적 기여율, 스크리 그림, 고유값 기준으로 정합니다.
문제 10. 다변량 분석에 관한 진술로 옳지 않은 것은?
주성분분석은 원래 변수를 고르는 것이 아니라 모든 변수에 가중치를 곱해 섞은 새 축을 만듭니다. 나머지 셋은 옳은 진술입니다.

이전: 8강 회귀분석 · 다음: 10강 시계열 예측

모던지 · 궁금하면 모던지 GitHub · 2026-09-30