주성분 분석
차원 축소
복잡한 데이터의 패턴을 파악하고 시각화하는 차원축소를 알아봅니다. 수많은 변수로 이루어진 복잡한 데이터에서 공통의 요인을 찾아내고 패턴이 잘 드러나도록 시각화하는 방법을 배웁니다.
변수
- 데이터를 이루는 여러 건의 자료들 속 달라지는 정보들
- 사람: 이름, 키, 나이, 전화번호 등
- 스마트폰: CPU, 화면 크기 운영체제, 제조사 등
- 자동차: 모델, 연료, 크기, 엔진 등
차원
- 위치를 나타내는데 필요한 숫자의 개수
- 3차원: 가로, 세로, 높이
변수와 차원
- 변수와 차원은 비슷한 개념으로 생각할 수 있음
이름 | 면적 | 인구 |
---|---|---|
한국 | 100,210 | 50,617,045 |
일본 | 377,944 | 126,989,659 |
필리핀 | 300,000 | 102,370,400 |
- 변수: 면적, 인구 |
- 면적과 인구를 하나의 차원으로 나타내 2차원 상에 표현
변수가 많을 때 생기는 문제들
- 컴퓨터: 처리해야 할 데이터가 많아지면 메모리가 많이 필요하고 시간도 오래 걸림
- 시각화: 변수가 많아지면 그래프로 표현하기 어려움
- 분석: 쓸모없는 변수들도 포함되어 결과가 잘못 나올 수도 있음
- 데이터: 변수가 많아질수록 필요한 데이터가 많아짐
- 해석: 변수가 많아지면 해석하기가 어려움
해결책
- 변수 선택: 중요한 변수만 사용
- 변수 추출: 새로운 변수를 생성
이름 | 면적($km^2$) | 면적($mi^2$) |
---|---|---|
한국 | 100,210 | 38,691 |
일본 | 377,944 | 145,925 |
필리핀 | 300,000 | 115,831 |
- 대부분의 데이터에는 중복 정보들이 존재함
- 한국, 필리핀, 일본이 한 직선에 표현됨
- 변수가 두 가지이지만 사실은 하나의 변수만 있어도 면적을 표현할 수 있음
- 하나의 선으로 표현되진 않지만 대략적으로 경향성을 보임
- 약간의 정보 손실은 감수하고 이런 식으로 데이터를 변경할 수 있음
- 점선만큼 왜곡이 생김
- 변수가 두 개에서 하나로 줄어듦
- 정보를 잃는 대신 변수를 줄임
변수를 줄여도 괜찮을까?
- 차원을 축소하면서 데이터가 일부 사라짐
- 그러나 대부분의 정보는 존재
- 남은 것은 여러 변수에 공통적인 정보를 갖고 있음
- 점들이 옮겨지면서 그만큼의 오차가 생기지만 증가하는 패턴은 여전히 그대로 존재함
- 모든 변수에는 오차와 잡음이 섞여 있음
- 오차는 각 변수에 들어가는 독특한 것이기 때문에 공통 정보만 추출하면 오차와 잡음도 사라짐
- 정보가 줄어서 더 좋은 정보가 될 수 있음
변수가 줄어서 해결되는 문제들
- 컴퓨터
- 시각화
- 분석
- 데이터
- 해석(?): 해석이 쉬워지기도 하지만 어려워지는 경우도 있음
- 해석이 쉬워지는 경우: 고객 만족도 조사
- 별점: 고객마다 별점 주는 기준이 다를 수 있고 무성의한 응답을 하는 경우도 있음
- 재방문: 재구매를 위한 방문일 수도 있으나 이전에 샀던 재품을 반품이나 교환하러 왔을 수도 있음
- 이러한 부정확한 변수들을 합쳐 하나의 변수로 만들면 더 정확해져 해석이 더 쉬워짐
- 해석이 어려워지는 경우: 반대로 서로 상관 없는 것들을 합쳐 놓으면 정보는 많이 보존되어 있지만 정보의 의미가 무엇인지 해석하기 어려움
차원 축소의 방법들
- 주성분분석(PCA)
- 요인분석(FA): 연구방법론으로 많이 쓰임
- 독립성분분석(ICA): 특수한 분야에서만 사용
- 다차원 척도법(MDS)
- 비선형 차원축소법들
차원 축소와 관련 있는 방법들
- 인공신경망 / 딥러닝
- 다변량 분석법 / 구조방정식 모형
설치 및 데이터
필요 패키지
아래 명령을 R에 입력하여 패키지들을 설치합니다
install.packages(c('rgl', 'lle', 'tsne', 'vegan'))
비선형 차원 축소를 위한 실습 데이터
차원 축소의 방법들
- 주성분분석(PCA)
- 요인분석(FA)
- 독립성분분석(ICA)
- 다차원 척도법(MDS)
- 비선형 차원축소법들
주성분분석(PCA)
- 데이터의 경향성을 잘 설명하는 선을 찾아 이 선을 새로운 차원으로 선택하는 게 주성분분석의 기본 원리
다차원 척도법(MDS)
- 차원을 줄이는 것이 아니라 만드는 것
- 예) 제품의 유사성을 만족될 수 있는 공간을 찾는 것
- A사, S사, L사의 휴대폰 중 A사의 휴대폰과 S사의 휴대폰이 비슷하다면 2차원 또는 3차원에서 가까이 붙어 있을 것이고 L사 폰과는 멀리 떨어져 있을 것임
- 이런 식으로 좌표를 찾아내는 것
독립성분분석(Independennt Component Analysis)
- 원: 마이크
- 사각형: 사람
- 1번 사람이 하는 말도 두 마이크에 다 들어갈 것이고 2번 사람이 하는 말도 두 마이크에 다 들어갈 것이며 3번 사람이 하는 말도 두 마이크에 다 들어갈 것임
- 즉 1번 마이크에도 세 사람의 말이 들어가고 2번 마이크에도 세 사람의 말이 들어감
- 오디오가 물리게 됨
- 독립성분분석에서는 한 마이크가 한 사람의 목소리만 잡도록 수학적, 통계적 방식을 이용해 변환을 함
- 사회 과학 데이터 분석에서는 많이 쓰이진 않음
- 신호 탐지를 하는 분야에서 사용
비선형 차원 축소
- 비선형적인 구부러진 공간을 찾는 것
- 점들을 하나로 연결한 뒤 직선으로 펼치면 하나의 차원에 어떤 정보의 손실 없이 전부 들어가게 됨
- 일반적으로 통계를 할 때 많이 사용되지 않음
- 관계 파악하기 어려워 이해하기 어려움
- 시각화를 할 때 사용
주성분 분석 (PCA)
Principal Component Analysis
사용되는 용도
- 지표 만들기: 수치가 여러 가지가 있을 때 수치들을 종합해 하나의 수치로 만드는 것
- 시각화: 대개 2차원으로 줄여 데이터를 보여줌
- 분석: 주성분분석을 한 뒤 데이터 분석을 하거나 데이터 분석에 주성분분석을 결합하기도 함
원리
- 점들이 우상향으로 퍼져 있음
- 즉, 분산이 우상향에서 가장 큼
- 분산이 초록색 화살표에서 가장 크게 존재
- 그 다음으로 분산이 파란색 화살표에서 크게 존재
- 이 두선을 새로운 축으로 잡을 수 있음
- 회전을 시키면 초록색 화살표가 가로축, 파란색 화살표가 세로축이 됨
- 각 축이 설명하는 분산들을 합치면 전체 분산이 됨
- 초록색 화살표: 성분 1에 의해 설명되는 분산
- 파란색 화살표: 성분 2에 의해 설명되는 분산
- 파란색 차원을 포기하면 파란색 방향으로 흩어진 것들은 다 없어지게 됨
- 즉, 가로 방향으로 흩어진 정도는 그대로지만 세로 방향으로 흩어진 정도는 없어짐
정리: 데이터 안의 분산의 방향을 큰 순서대로 찾아내 분산이 큰 성분을 선택
PCA 실습
USArrests
내장 데이터 사용
head(USArrests)
Murder | Assault | UrbanPop | Rape | |
---|---|---|---|---|
Alabama | 13.2 | 236 | 58 | 21.2 |
Alaska | 10.0 | 263 | 48 | 44.5 |
Arizona | 8.1 | 294 | 80 | 31.0 |
Arkansas | 8.8 | 190 | 50 | 19.5 |
California | 9.0 | 276 | 91 | 40.6 |
Colorado | 7.9 | 204 | 78 | 38.7 |
- 미국 50개 주의 Murder(살인), Assault(폭력), Rape(성폭력) 범죄의 인구 10만명당 체포 건수와 도시에 사는 인구의 비율
분산 구하기
var(USArrests)
Murder | Assault | UrbanPop | Rape | |
---|---|---|---|---|
Murder | 18.970465 | 291.0624 | 4.386204 | 22.99141 |
Assault | 291.062367 | 6945.1657 | 312.275102 | 519.26906 |
UrbanPop | 4.386204 | 312.2751 | 209.518776 | 55.76808 |
Rape | 22.991412 | 519.2691 | 55.768082 | 87.72916 |
- 우하향 대각선이 분산
- 나머지는 공분산
- Assault의 분산이 큼
분산만 구하기
diag(var(USArrests))
- Murder
- 18.9704653061224
- Assault
- 6945.16571428571
- UrbanPop
- 209.518775510204
- Rape
- 87.7291591836735
- 대각선 값만 나옴
분산 합 구하기
sum(diag(var(USArrests)))
7261.38411428571
주성분분석 실행
arrest.pca = prcomp(USArrests)
arrest.pca
Standard deviations (1, .., p=4):
[1] 83.732400 14.212402 6.489426 2.482790
Rotation (n x k) = (4 x 4):
PC1 PC2 PC3 PC4
Murder 0.04170432 -0.04482166 0.07989066 -0.99492173
Assault 0.99522128 -0.05876003 -0.06756974 0.03893830
UrbanPop 0.04633575 0.97685748 -0.20054629 -0.05816914
Rape 0.07515550 0.20071807 0.97408059 0.07232502
- Standard deviations: 표준 편차
- 네 개의 변수로 네 개의 새로운 변수를 만듦
- PC1의 표준 편차는 83이므로 분산은 6889이므로 원래 분산인 7261에서 6889만큼 설명
- Rotation
- 각 데이터에 Rotation PC1 밑에 있는 숫자를 곱한 뒤 다 더해서 PC1을 만듦
주성분분석 요약
summary(arrest.pca)
Importance of components:
PC1 PC2 PC3 PC4
Standard deviation 83.7324 14.21240 6.4894 2.48279
Proportion of Variance 0.9655 0.02782 0.0058 0.00085
Cumulative Proportion 0.9655 0.99335 0.9991 1.00000
- Proportion of Variance: 원래 분산 중에 몇 퍼센트를 차지하는지
- Cumulative Proportion: 위의 값의 합계를 낸 것
- 첫 번째 차원이 대부분을 설명하고 있음
- 두 가지 차원만 가지고도 99.33%를 보존하여 설명할 수 있음
각 차원마다 어떤 값을 가지는지 확인
#max_print_lines
arrest.pca$x
PC1 | PC2 | PC3 | PC4 | |
---|---|---|---|---|
Alabama | 64.802164 | -11.4480074 | -2.49493284 | -2.4079009 |
Alaska | 92.827450 | -17.9829427 | 20.12657487 | 4.0940470 |
Arizona | 124.068216 | 8.8304030 | -1.68744836 | 4.3536852 |
Arkansas | 18.340035 | -16.7039114 | 0.21018936 | 0.5209936 |
California | 107.422953 | 22.5200698 | 6.74587299 | 2.8118259 |
Colorado | 34.975986 | 13.7195840 | 12.27936280 | 1.7214637 |
Connecticut | -60.887282 | 12.9325302 | -8.42065719 | 0.6999023 |
Delaware | 66.731025 | 1.3537978 | -11.28095735 | 3.7279812 |
Florida | 165.244370 | 6.2746901 | -2.99793315 | -1.2476807 |
Georgia | 40.535177 | -7.2902396 | 3.60952946 | -7.3436728 |
Hawaii | -123.536106 | 24.2912079 | 3.72444284 | -3.4728494 |
Idaho | -51.797002 | -9.4691910 | -1.52006356 | 3.3478283 |
Illinois | 78.992097 | 12.8970605 | -5.88326477 | -0.3676407 |
Indiana | -57.550961 | 2.8462647 | 3.73816049 | -1.6494302 |
Iowa | -115.586790 | -3.3421305 | -0.65402935 | 0.8694960 |
Kansas | -55.789694 | 3.1572339 | 0.38436416 | -0.6527917 |
Kentucky | -62.383181 | -10.6732715 | 2.23708903 | -3.8762164 |
Louisiana | 78.277631 | -4.2949175 | -3.82786965 | -4.4835590 |
Maine | -89.261044 | -11.4878272 | -4.69240562 | 2.1161995 |
Maryland | 129.330136 | -5.0070315 | -2.34717282 | 1.9283242 |
Massachusetts | -21.266283 | 19.4501790 | -7.50714835 | 1.0348189 |
Michigan | 85.451527 | 5.9045567 | 6.46434210 | -0.4990479 |
Minnesota | -98.954816 | 5.2096006 | 0.00657376 | 0.7318957 |
Mississippi | 86.856358 | -27.4284196 | -5.00343624 | -3.8797577 |
Missouri | 7.986289 | 5.2756414 | 5.50057972 | -0.6794055 |
Montana | -62.483635 | -9.5105021 | 1.83835536 | -0.2459426 |
Nebraska | -69.096544 | -0.2111959 | 0.46802086 | 0.6565664 |
Nevada | 83.613578 | 15.1021839 | 15.88869482 | -0.3341962 |
New Hampshire | -114.777355 | -4.7345584 | -2.28238693 | 0.9359106 |
New Jersey | -10.815725 | 23.1373389 | -6.31015739 | -1.6124273 |
New Mexico | 114.868163 | -0.3364531 | 2.26126996 | 1.3812478 |
New York | 84.294231 | 15.9239655 | -4.72125960 | -0.8920194 |
North Carolina | 164.325514 | -31.0966153 | -11.69616350 | 2.1111927 |
North Dakota | -127.495597 | -16.1350394 | -1.31182982 | 2.3009639 |
Ohio | -50.086822 | 12.2793244 | 1.65733077 | -2.0291157 |
Oklahoma | -19.693723 | 3.3701310 | -0.45314329 | 0.1803457 |
Oregon | -11.150240 | 3.8660682 | 8.12998050 | 2.9140109 |
Pennsylvania | -64.689142 | 8.9115466 | -3.20646858 | -1.8749353 |
Rhode Island | 3.063973 | 18.3739704 | -17.47001970 | 2.3082597 |
South Carolina | 107.281069 | -23.5361159 | -2.03279501 | -1.2517463 |
South Dakota | -86.106720 | -16.5978586 | 1.31437998 | 1.2522874 |
Tennessee | 17.506264 | -6.5065756 | 6.10012753 | -3.9228558 |
Texas | 31.291122 | 12.9849566 | -0.39340922 | -4.2420040 |
Utah | -49.913397 | 17.6484577 | 1.78816852 | 1.8677052 |
Vermont | -124.714469 | -27.3135591 | 4.80277765 | 2.0049857 |
Virginia | -14.817448 | -1.7526150 | 1.04538813 | -1.1738408 |
Washington | -25.075839 | 9.9679669 | 4.78112764 | 2.6910819 |
West Virginia | -91.544647 | -22.9528778 | -0.40198344 | -0.7368781 |
Wisconsin | -118.176328 | 5.5075792 | -2.71132077 | -0.2049724 |
Wyoming | -10.434539 | -5.9244529 | -3.79444682 | 0.5178674 |
- 새로운 변수 값들을 가지게 됨
시각화
biplot(arrest.pca)
- 각 주들의 위치를 표현해 줌
- x축이 PC1, y축이 PC2이며 0이 평균
- 4차원을 2차원으로 줄이면서 원래 변수들이 납작하게 표현됨
- Assault 축은 길게 남아 있고 나머지 축은 납작함
- Assault는 단위가 크고 분산이 크기 때문에 차원을 줄였음에도 불구하고 차지하는 비중이 많이 줄어들지 않음
- 즉, Assault와 PC1이 거의 비슷함
- 새로 차원을 뽑았는데 전의 변수와 비슷하다면 차원을 잘 줄였다고 할 수 없음
- 해결하는 방법은 다음 강의에서 설명
표준화와 PCA
- 목표: 첫 번째 차원이 Assault를 너무 많이 반영하여 표준화를 진행 한 뒤 다시 PCA
표준화
- 데이터에서 평균을 빼주고 표준 편차로 나누어 평균이 0이고 표준 편차가 1이 되도록 만들어주는 것
- 수능에서 원점수와 상관 없이 평균에 비해 얼마나 큰지 작은지를 나타내 등급을 정할 때 사용
데이터 확인
#max_print_lines
USArrests
Murder | Assault | UrbanPop | Rape | |
---|---|---|---|---|
Alabama | 13.2 | 236 | 58 | 21.2 |
Alaska | 10.0 | 263 | 48 | 44.5 |
Arizona | 8.1 | 294 | 80 | 31.0 |
Arkansas | 8.8 | 190 | 50 | 19.5 |
California | 9.0 | 276 | 91 | 40.6 |
Colorado | 7.9 | 204 | 78 | 38.7 |
Connecticut | 3.3 | 110 | 77 | 11.1 |
Delaware | 5.9 | 238 | 72 | 15.8 |
Florida | 15.4 | 335 | 80 | 31.9 |
Georgia | 17.4 | 211 | 60 | 25.8 |
Hawaii | 5.3 | 46 | 83 | 20.2 |
Idaho | 2.6 | 120 | 54 | 14.2 |
Illinois | 10.4 | 249 | 83 | 24.0 |
Indiana | 7.2 | 113 | 65 | 21.0 |
Iowa | 2.2 | 56 | 57 | 11.3 |
Kansas | 6.0 | 115 | 66 | 18.0 |
Kentucky | 9.7 | 109 | 52 | 16.3 |
Louisiana | 15.4 | 249 | 66 | 22.2 |
Maine | 2.1 | 83 | 51 | 7.8 |
Maryland | 11.3 | 300 | 67 | 27.8 |
Massachusetts | 4.4 | 149 | 85 | 16.3 |
Michigan | 12.1 | 255 | 74 | 35.1 |
Minnesota | 2.7 | 72 | 66 | 14.9 |
Mississippi | 16.1 | 259 | 44 | 17.1 |
Missouri | 9.0 | 178 | 70 | 28.2 |
Montana | 6.0 | 109 | 53 | 16.4 |
Nebraska | 4.3 | 102 | 62 | 16.5 |
Nevada | 12.2 | 252 | 81 | 46.0 |
New Hampshire | 2.1 | 57 | 56 | 9.5 |
New Jersey | 7.4 | 159 | 89 | 18.8 |
New Mexico | 11.4 | 285 | 70 | 32.1 |
New York | 11.1 | 254 | 86 | 26.1 |
North Carolina | 13.0 | 337 | 45 | 16.1 |
North Dakota | 0.8 | 45 | 44 | 7.3 |
Ohio | 7.3 | 120 | 75 | 21.4 |
Oklahoma | 6.6 | 151 | 68 | 20.0 |
Oregon | 4.9 | 159 | 67 | 29.3 |
Pennsylvania | 6.3 | 106 | 72 | 14.9 |
Rhode Island | 3.4 | 174 | 87 | 8.3 |
South Carolina | 14.4 | 279 | 48 | 22.5 |
South Dakota | 3.8 | 86 | 45 | 12.8 |
Tennessee | 13.2 | 188 | 59 | 26.9 |
Texas | 12.7 | 201 | 80 | 25.5 |
Utah | 3.2 | 120 | 80 | 22.9 |
Vermont | 2.2 | 48 | 32 | 11.2 |
Virginia | 8.5 | 156 | 63 | 20.7 |
Washington | 4.0 | 145 | 73 | 26.2 |
West Virginia | 5.7 | 81 | 39 | 9.3 |
Wisconsin | 2.6 | 53 | 66 | 10.8 |
Wyoming | 6.8 | 161 | 60 | 15.6 |
- 변수마다 단위가 다름
- Assault가 단위가 커 많이 반영하게 됨
표준화하기
#max_print_lines
scale(USArrests)
Murder | Assault | UrbanPop | Rape | |
---|---|---|---|---|
Alabama | 1.24256408 | 0.78283935 | -0.52090661 | -0.003416473 |
Alaska | 0.50786248 | 1.10682252 | -1.21176419 | 2.484202941 |
Arizona | 0.07163341 | 1.47880321 | 0.99898006 | 1.042878388 |
Arkansas | 0.23234938 | 0.23086801 | -1.07359268 | -0.184916602 |
California | 0.27826823 | 1.26281442 | 1.75892340 | 2.067820292 |
Colorado | 0.02571456 | 0.39885929 | 0.86080854 | 1.864967207 |
Connecticut | -1.03041900 | -0.72908214 | 0.79172279 | -1.081740768 |
Delaware | -0.43347395 | 0.80683810 | 0.44629400 | -0.579946294 |
Florida | 1.74767144 | 1.97077766 | 0.99898006 | 1.138966691 |
Georgia | 2.20685994 | 0.48285493 | -0.38273510 | 0.487701523 |
Hawaii | -0.57123050 | -1.49704226 | 1.20623733 | -0.110181255 |
Idaho | -1.19113497 | -0.60908837 | -0.79724965 | -0.750769945 |
Illinois | 0.59970018 | 0.93883125 | 1.20623733 | 0.295524916 |
Indiana | -0.13500142 | -0.69308401 | -0.03730631 | -0.024769429 |
Iowa | -1.28297267 | -1.37704849 | -0.58999237 | -1.060387812 |
Kansas | -0.41051452 | -0.66908525 | 0.03177945 | -0.345063775 |
Kentucky | 0.43898421 | -0.74108152 | -0.93542116 | -0.526563903 |
Louisiana | 1.74767144 | 0.93883125 | 0.03177945 | 0.103348309 |
Maine | -1.30593210 | -1.05306531 | -1.00450692 | -1.434064548 |
Maryland | 0.80633501 | 1.55079947 | 0.10086521 | 0.701231086 |
Massachusetts | -0.77786532 | -0.26110644 | 1.34440885 | -0.526563903 |
Michigan | 0.99001041 | 1.01082751 | 0.58446551 | 1.480613993 |
Minnesota | -1.16817555 | -1.18505846 | 0.03177945 | -0.676034598 |
Mississippi | 1.90838741 | 1.05882502 | -1.48810723 | -0.441152078 |
Missouri | 0.27826823 | 0.08687549 | 0.30812248 | 0.743936999 |
Montana | -0.41051452 | -0.74108152 | -0.86633540 | -0.515887425 |
Nebraska | -0.80082475 | -0.82507715 | -0.24456358 | -0.505210947 |
Nevada | 1.01296983 | 0.97482938 | 1.06806582 | 2.644350114 |
New Hampshire | -1.30593210 | -1.36504911 | -0.65907813 | -1.252564419 |
New Jersey | -0.08908257 | -0.14111267 | 1.62075188 | -0.259651949 |
New Mexico | 0.82929443 | 1.37080881 | 0.30812248 | 1.160319648 |
New York | 0.76041616 | 0.99882813 | 1.41349461 | 0.519730957 |
North Carolina | 1.19664523 | 1.99477641 | -1.41902147 | -0.547916860 |
North Dakota | -1.60440462 | -1.50904164 | -1.48810723 | -1.487446939 |
Ohio | -0.11204199 | -0.60908837 | 0.65355127 | 0.017936483 |
Oklahoma | -0.27275797 | -0.23710769 | 0.16995096 | -0.131534211 |
Oregon | -0.66306820 | -0.14111267 | 0.10086521 | 0.861378259 |
Pennsylvania | -0.34163624 | -0.77707965 | 0.44629400 | -0.676034598 |
Rhode Island | -1.00745957 | 0.03887798 | 1.48258036 | -1.380682157 |
South Carolina | 1.51807718 | 1.29881255 | -1.21176419 | 0.135377743 |
South Dakota | -0.91562187 | -1.01706718 | -1.41902147 | -0.900240639 |
Tennessee | 1.24256408 | 0.20686926 | -0.45182086 | 0.605142783 |
Texas | 1.12776696 | 0.36286116 | 0.99898006 | 0.455672088 |
Utah | -1.05337842 | -0.60908837 | 0.99898006 | 0.178083656 |
Vermont | -1.28297267 | -1.47304350 | -2.31713632 | -1.071064290 |
Virginia | 0.16347111 | -0.17711080 | -0.17547783 | -0.056798864 |
Washington | -0.86970302 | -0.30910395 | 0.51537975 | 0.530407436 |
West Virginia | -0.47939280 | -1.07706407 | -1.83353601 | -1.273917376 |
Wisconsin | -1.19113497 | -1.41304662 | 0.03177945 | -1.113770203 |
Wyoming | -0.22683912 | -0.11711392 | -0.38273510 | -0.601299251 |
- 평균 0, 표준 편차 1
표준화하여 주성분분석하기
arrest.pca = prcomp(USArrests, scale. = T)
summary(arrest.pca)
Importance of components:
PC1 PC2 PC3 PC4
Standard deviation 1.5749 0.9949 0.59713 0.41645
Proportion of Variance 0.6201 0.2474 0.08914 0.04336
Cumulative Proportion 0.6201 0.8675 0.95664 1.00000
- 첫 번째 차원에 극단적으로 몰리지 않음
- 하나의 차원으로 62%를 설명하는 것도 많이 설명한다고 볼 수 있음
- 두 개의 차원으로 86%를 설명
시각화
biplot(arrest.pca)
- 네 개의 변수가 비슷하게 반영되었음
- 각 축의 바깥으로 갈수록 그 변수의 값이 커지는 지역임
- 좌측 하단: 범죄도 많고 도시 인구도 많은 지역
- 좌측 상단: 범죄는 많고 도시 인구는 적은 지역
- 우측 상단: 범죄도 적고 도시 인구도 적은 지역
- 우측 하단: 범죄는 적고 도시 인구는 많은 지역
시뮬레이션으로 PCA의 특성 알아보기
시뮬레이션1
공통 부분 만들기
#hide
set.seed(1234)
common = rnorm(100)
- 100개의 난수 생성
noise 만들기
noise1 = rnorm(100)
noise2 = rnorm(100)
common과 noise의 패턴 확인하기
plot(common, noise1)
plot(common, noise2)
- 별다른 패턴이 존재하지 않음
noise간의 패턴 확인하기
plot(noise1, noise2)
- 별다른 패턴이 존재하지 않음
x와 y 만들기
x = common + noise1
y = common + noise2
x와 y의 그래프 그리기
plot(x, y)
- 많이 퍼져 있긴 하지만 x가 증가할수록 y가 증가하는 패턴을 보임
- 주성분 분석을 하면 우상향 축이 가장 많은 분산을 설명할 것이고 우하향 축이 그 다음으로 많은 분산을 설명할 것임
- 우상향 축은
common
을 많이 포함하고 있음
데이터 합치기
m = cbind(x, y)
주성분분석
p = prcomp(m)
summary(p)
Importance of components:
PC1 PC2
Standard deviation 1.7914 0.9493
Proportion of Variance 0.7807 0.2193
Cumulative Proportion 0.7807 1.0000
- 첫 번째 차원이 71%를 차지하고 common에 해당함
- 두 번째 차원이 29%를 차지함
그래프 그리기
biplot(p)
- x와 y가 약간 벌어져 있지만 비슷한 방향(PC1의 - 방향)을 가리킴
PC1의 값 확인하기
p$x[,1]
- -0.987952770301215
- 0.643350026054367
- 1.7945584388685
- -3.0824199336421
- 0.336874627689796
- 1.45945811825666
- -0.0336067721634608
- 0.224135900672707
- -0.445368926811501
- -2.01221627114992
- -0.429398886786651
- -2.06908564978431
- -0.717636270011832
- -0.387791428353817
- 1.15619473795156
- 0.807910156854894
- -1.61639416083148
- -1.52345988368477
- -0.851299846835085
- 3.93143491172796
- 0.780384182269092
- -0.683078178312719
- 2.52389724061966
- 2.09659494905968
- 0.57851409969789
- -2.38327647693971
- 2.548684937755
- -1.9340042035421
- -0.873441953185373
- -0.950002845580414
- 2.11439497674614
- -0.611410881130266
- -2.40733316217756
- -0.0770147339598183
- -3.14243212820329
- -2.5968741927619
- -5.54003669998595
- -3.35452793493294
- 0.328138047292457
- -0.584510491442726
- 1.94138763977957
- -0.160456000058598
- -1.47129677685181
- 0.119782552220927
- -0.450394698044474
- -0.828793172486977
- 0.648416466959533
- -1.20599416334206
- -0.116303084299769
- -0.186108128615817
- -2.4212538704964
- 0.0873765762953723
- -0.0198099669164251
- -1.48757516167773
- -0.877741805950571
- 1.56158829926791
- 3.30808957550692
- -2.62339687049072
- 1.93196081717296
- -1.53650728590465
- 1.12001122948218
- 3.254625271885
- -0.142093888129477
- -2.25716985871218
- 0.597783606011817
- 2.55206557266405
- -0.529865055947966
- 1.11640406189807
- 2.01468371614543
- 2.06092748362542
- 1.06083213517552
- 0.777162203572375
- -0.187055901780468
- 0.40950268345089
- 5.46288186615487
- -1.18552092006904
- -2.08750620374277
- 1.88734045480356
- 0.606569548134926
- -0.16062552174808
- -2.7988869287955
- 0.109368623313774
- -1.681202192658
- 0.708310837324387
- 1.33798208890089
- 2.6798256449948
- 1.06718297811381
- -1.01821005633235
- -0.812072308085937
- -1.65322950514429
- 0.338796608899469
- -1.41549014551427
- 0.677282370989456
- 1.39304289597263
- 2.07974775042958
- 2.23183102487102
- -1.93305777357574
- 0.38782347572461
- 1.82479117995123
- 1.86228933667364
common과 PC1 그래프 그리기
plot(common, p$x[,1])
- 오차가 있긴 하지만 뚜렷한 직선 경향성을 볼 수 있음
- 그 이유는 공통 요소(common)을 많이 반영하고 있기 때문
- 데이터의 공통 요소와 첫 번째 축(차원)은 밀접한 관련이 있음
시뮬레이션 2
위와 비슷하지만 noise의 비중을 줄임
x = common + 0.5 * noise1
y = common + 0.5 * noise2
x와 y의 그래프 그리기
plot(x, y)
- 직선 경향이 전보다 훨씬 뚜렷해짐
데이터 합치기
m = cbind(x, y)
주성분분석
p = prcomp(m)
summary(p)
Importance of components:
PC1 PC2
Standard deviation 1.5304 0.47418
Proportion of Variance 0.9124 0.08759
Cumulative Proportion 0.9124 1.00000
- noise가 줄어 common이 차지하는 비율이 증가해 첫 번째 차원이 설명하는 비율이 증가함
그래프 그리기
biplot(p)
- x와 y의 방향성이 PC1 방향으로 좁아짐
common과 PC1 그래프 그리기
plot(common, p$x[,1])
- common이 증가하면 PC1이 감소하고 common이 감소하면 PC1이 증가함
- 컴퓨터가 찾는 것이기 때문에 방향성은 틀릴 수 있음
보기 쉽게 common과 PC1 그래프 그리기
plot(common, -p$x[,1])
- 노이즈가 섞여 있는 데이터로 주성분분석을 하면 공통 요소를 찾아줌
시뮬레이션3
위와 비슷하지만 noise의 비중을 늘림
x = common + 2 * noise1
y = common + 2 * noise2
x와 y의 그래프 그리기
plot(x, y)
- 증가하는 패턴을 찾기가 어려움
데이터 합치기
m = cbind(x, y)
주성분분석
p = prcomp(m)
summary(p)
Importance of components:
PC1 PC2
Standard deviation 2.5637 1.8986
Proportion of Variance 0.6458 0.3542
Cumulative Proportion 0.6458 1.0000
- 첫 번째 차원과 두 번째 차원의 설명 비율이 거의 비슷함
그래프 그리기
biplot(p)
- x가 y가 거의 관련이 없어 직각을 이루고 있음
common과 PC1 그래프 그리기
plot(common, -p$x[,1])
- 공통 요소를 완벽하게 뽑아내진 못하지만 경향성이 보이긴 함
- PC1이 common을 반영하고 있기 때문
정리
- 두 데이터 간 공통 요소가 크면 클수록 분산이 첫 번째 차원에서 많이 설명함
- 따라서 PC1이 공통 요소와 밀접한 관계를 가짐
PCA를 활용한 시험 점수 분석
패키지 설치하기 - 오른쪽 하단 Packages 탭에서 psych 다운
시뮬레이션으로 예제 데이터 만들기
library(psych)
#max_print_lines
Harman74.cor
- $cov
VisualPerception Cubes PaperFormBoard Flags GeneralInformation PargraphComprehension SentenceCompletion WordClassification WordMeaning Addition ... NumberRecognition FigureRecognition ObjectNumber NumberFigure FigureWord Deduction NumericalPuzzles ProblemReasoning SeriesCompletion ArithmeticProblems VisualPerception 1.000 0.318 0.403 0.468 0.321 0.335 0.304 0.332 0.326 0.116 ... 0.238 0.414 0.176 0.368 0.270 0.365 0.369 0.413 0.474 0.282 Cubes 0.318 1.000 0.317 0.230 0.285 0.234 0.157 0.157 0.195 0.057 ... 0.131 0.272 0.005 0.255 0.112 0.292 0.306 0.232 0.348 0.211 PaperFormBoard 0.403 0.317 1.000 0.305 0.247 0.268 0.223 0.382 0.184 -0.075 ... 0.065 0.263 0.177 0.211 0.312 0.297 0.165 0.250 0.383 0.203 Flags 0.468 0.230 0.305 1.000 0.227 0.327 0.335 0.391 0.325 0.099 ... 0.127 0.322 0.187 0.251 0.137 0.339 0.349 0.380 0.335 0.248 GeneralInformation 0.321 0.285 0.247 0.227 1.000 0.622 0.656 0.578 0.723 0.311 ... 0.229 0.187 0.208 0.263 0.190 0.398 0.318 0.441 0.435 0.420 PargraphComprehension 0.335 0.234 0.268 0.327 0.622 1.000 0.722 0.527 0.714 0.203 ... 0.251 0.291 0.273 0.167 0.251 0.435 0.263 0.386 0.431 0.433 SentenceCompletion 0.304 0.157 0.223 0.335 0.656 0.722 1.000 0.619 0.685 0.246 ... 0.172 0.180 0.228 0.159 0.226 0.451 0.314 0.396 0.405 0.437 WordClassification 0.332 0.157 0.382 0.391 0.578 0.527 0.619 1.000 0.532 0.285 ... 0.175 0.296 0.255 0.250 0.274 0.427 0.362 0.357 0.501 0.388 WordMeaning 0.326 0.195 0.184 0.325 0.723 0.714 0.685 0.532 1.000 0.170 ... 0.248 0.242 0.274 0.208 0.274 0.446 0.266 0.483 0.504 0.424 Addition 0.116 0.057 -0.075 0.099 0.311 0.203 0.246 0.285 0.170 1.000 ... 0.154 0.124 0.289 0.317 0.190 0.173 0.405 0.160 0.262 0.531 Code 0.308 0.150 0.091 0.110 0.344 0.353 0.232 0.300 0.280 0.484 ... 0.240 0.314 0.362 0.350 0.290 0.202 0.399 0.304 0.251 0.412 CountingDots 0.314 0.145 0.140 0.160 0.215 0.095 0.181 0.271 0.113 0.585 ... 0.173 0.119 0.278 0.349 0.110 0.246 0.355 0.193 0.350 0.414 StraightCurvedCapitals 0.489 0.239 0.321 0.327 0.344 0.309 0.345 0.395 0.280 0.408 ... 0.139 0.281 0.194 0.323 0.263 0.241 0.425 0.279 0.382 0.358 WordRecognition 0.125 0.103 0.177 0.066 0.280 0.292 0.236 0.252 0.260 0.172 ... 0.370 0.412 0.341 0.201 0.206 0.302 0.183 0.243 0.242 0.304 NumberRecognition 0.238 0.131 0.065 0.127 0.229 0.251 0.172 0.175 0.248 0.154 ... 1.000 0.325 0.345 0.334 0.192 0.272 0.232 0.246 0.256 0.165 FigureRecognition 0.414 0.272 0.263 0.322 0.187 0.291 0.180 0.296 0.242 0.124 ... 0.325 1.000 0.324 0.344 0.258 0.388 0.348 0.283 0.360 0.262 ObjectNumber 0.176 0.005 0.177 0.187 0.208 0.273 0.228 0.255 0.274 0.289 ... 0.345 0.324 1.000 0.448 0.324 0.262 0.173 0.273 0.287 0.326 NumberFigure 0.368 0.255 0.211 0.251 0.263 0.167 0.159 0.250 0.208 0.317 ... 0.334 0.344 0.448 1.000 0.358 0.301 0.357 0.317 0.272 0.405 FigureWord 0.270 0.112 0.312 0.137 0.190 0.251 0.226 0.274 0.274 0.190 ... 0.192 0.258 0.324 0.358 1.000 0.167 0.331 0.342 0.303 0.374 Deduction 0.365 0.292 0.297 0.339 0.398 0.435 0.451 0.427 0.446 0.173 ... 0.272 0.388 0.262 0.301 0.167 1.000 0.413 0.463 0.509 0.366 NumericalPuzzles 0.369 0.306 0.165 0.349 0.318 0.263 0.314 0.362 0.266 0.405 ... 0.232 0.348 0.173 0.357 0.331 0.413 1.000 0.374 0.451 0.448 ProblemReasoning 0.413 0.232 0.250 0.380 0.441 0.386 0.396 0.357 0.483 0.160 ... 0.246 0.283 0.273 0.317 0.342 0.463 0.374 1.000 0.503 0.375 SeriesCompletion 0.474 0.348 0.383 0.335 0.435 0.431 0.405 0.501 0.504 0.262 ... 0.256 0.360 0.287 0.272 0.303 0.509 0.451 0.503 1.000 0.434 ArithmeticProblems 0.282 0.211 0.203 0.248 0.420 0.433 0.437 0.388 0.424 0.531 ... 0.165 0.262 0.326 0.405 0.374 0.366 0.448 0.375 0.434 1.000 - $center
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- $n.obs
- 145
psych
는 심리학에서 많이 쓰이는 패키지- n.obs: 관찰 건수
- 지능 검사에 대한 점수 상관 행렬
- 실제로 PCA나 요인분석을 할 때 상관 행렬로 변환한 다음에 분석을 함
library(MASS)
iq = mvrnorm(145, Harman74.cor$center, Harman74.cor$cov)
- Harman74.cor의 상관 행렬로 학생들의 점수 데이터를 생성
iq = iq * 15 + 50
iq = round(iq)
- 보기 쉽게 변환
주성분 분석
p = prcomp(iq, scale. = T)
summary(p)
Importance of components:
PC1 PC2 PC3 PC4 PC5 PC6 PC7
Standard deviation 3.0026 1.47007 1.27909 1.18395 1.06461 0.96679 0.94400
Proportion of Variance 0.3756 0.09005 0.06817 0.05841 0.04723 0.03895 0.03713
Cumulative Proportion 0.3756 0.46569 0.53386 0.59227 0.63950 0.67844 0.71557
PC8 PC9 PC10 PC11 PC12 PC13 PC14
Standard deviation 0.92006 0.81764 0.79781 0.77208 0.72423 0.71656 0.68450
Proportion of Variance 0.03527 0.02786 0.02652 0.02484 0.02185 0.02139 0.01952
Cumulative Proportion 0.75084 0.77870 0.80522 0.83006 0.85191 0.87331 0.89283
PC15 PC16 PC17 PC18 PC19 PC20 PC21
Standard deviation 0.62122 0.59741 0.58146 0.57014 0.53200 0.5138 0.47465
Proportion of Variance 0.01608 0.01487 0.01409 0.01354 0.01179 0.0110 0.00939
Cumulative Proportion 0.90891 0.92378 0.93787 0.95141 0.96320 0.9742 0.98359
PC22 PC23 PC24
Standard deviation 0.3980 0.35138 0.33465
Proportion of Variance 0.0066 0.00514 0.00467
Cumulative Proportion 0.9902 0.99533 1.00000
- 시험 과목이 24이기 때문에 주성분이 24개가 나옴
- 하나의 점수로 줄여도 34%밖에 설명하지 못함
- 이를 통해 부분 점수를 줄 수 있음
- 언어, 수리 등 대과목 별로 부분 점수를 줄 수 있음
- 학생들 차이를 잘 드러내는 점수를 위해 약 80% 보존하고 싶다면 주성분 10개를 사용해야 함
- 비율에는 기준이 없음
- 부분 점수를 많이 쓰면 원래 정보를 많이 담지만 부분 점수를 적게 쓰면 원래 정보를 잃음
- 원래 정보를 잃어버린다고 해서 나쁜 것은 아님
- 알고자 하는 것은 학생의 언어별, 수리별 능력이기 때문에 공통적인 것만 잘 뽑아 낸다면 소수의 주성분만 쓰는 것이 나쁜 것은 아님
주성분 수 결정하기
plot(p)
- 급격하게 꺾이는 부분에서 끊음
- 첫 번째나 두 번째가 적절해 보임
biplot(p)
- 수리와 관련된 시험은 우측 상단에 있고 언어와 관련된 시험은 우측 하단에 있음
- 과목은 24개가 있지만 이 중 방향성이 비슷한 과목이 있음을 확인할 수 있음
psych
라이브러리의 principal
함수로 주성분 분석
principal(iq, 3)
Principal Components Analysis
Call: principal(r = iq, nfactors = 3)
Standardized loadings (pattern matrix) based upon correlation matrix
RC2 RC1 RC3 h2 u2 com
VisualPerception 0.02 0.31 0.70 0.58 0.42 1.4
Cubes 0.11 0.08 0.61 0.40 0.60 1.1
PaperFormBoard 0.10 0.06 0.63 0.41 0.59 1.1
Flags 0.16 0.14 0.47 0.26 0.74 1.4
GeneralInformation 0.71 0.38 0.15 0.67 0.33 1.6
PargraphComprehension 0.80 0.14 0.16 0.69 0.31 1.1
SentenceCompletion 0.84 0.12 0.04 0.72 0.28 1.0
WordClassification 0.70 0.24 0.20 0.58 0.42 1.4
WordMeaning 0.81 0.10 0.13 0.69 0.31 1.1
Addition 0.32 0.79 -0.06 0.73 0.27 1.3
Code 0.33 0.71 0.19 0.64 0.36 1.6
CountingDots -0.04 0.76 0.21 0.62 0.38 1.2
StraightCurvedCapitals 0.22 0.62 0.35 0.55 0.45 1.9
WordRecognition 0.46 0.12 0.29 0.31 0.69 1.9
NumberRecognition 0.10 0.27 0.41 0.25 0.75 1.9
FigureRecognition 0.17 0.17 0.67 0.50 0.50 1.3
ObjectNumber 0.10 0.62 0.11 0.41 0.59 1.1
NumberFigure 0.14 0.67 0.40 0.63 0.37 1.7
FigureWord 0.17 0.51 0.36 0.42 0.58 2.1
Deduction 0.52 0.09 0.45 0.49 0.51 2.0
NumericalPuzzles 0.30 0.45 0.49 0.53 0.47 2.7
ProblemReasoning 0.45 0.20 0.48 0.48 0.52 2.3
SeriesCompletion 0.41 0.33 0.59 0.62 0.38 2.4
ArithmeticProblems 0.47 0.56 0.30 0.63 0.37 2.5
RC2 RC1 RC3
SS loadings 4.56 4.35 3.90
Proportion Var 0.19 0.18 0.16
Cumulative Var 0.19 0.37 0.53
Proportion Explained 0.36 0.34 0.30
Cumulative Proportion 0.36 0.70 1.00
Mean item complexity = 1.6
Test of the hypothesis that 3 components are sufficient.
The root mean square of the residuals (RMSR) is 0.07
with the empirical chi square 387.48 with prob < 4.3e-13
Fit based upon off diagonal values = 0.96
- 앞의 3개의 차원만 선택
- 원래 점수의 약 50%를 설명함
prcomp
보다 더 많은 정보를 줌- 숫자가 클수록 해당 주성분과 관련이 큼
- 3개의 각 주성분 별로 언어, 수리, 시공간 영역과 관련이 있음
- ArithmeticProblems
- 산수 문제도 언어 능력이 필요하다는 것을 알 수 있음
- h2: 주성분에 의해 설명이 되는 부분
- u2: 주성분에 의해 설명이 되지 않는 부분
- SentenceCompletion(문장 완성 검사)
- 3개의 주성분으로 77% 설명됨
- 언어 영역과 관련이 있어 h2높게 나옴
- ObjectNumber
- 3개의 주성분으로 68% 설명하지 못함
- 언어, 수리, 시공간 능력과 모두 관련이 없어 u2가 높게 나옴
- 이 과목을 반영할 수 있도록 축을 더 넣거나 언어, 수리, 시공간과 관련이 없기 때문에 다음부터는 출제하지 않도록 결정할 수 있음
- 후에 다중회귀분석을 통해 성적하고 관련이 높은 과목이 언어, 수리, 시공간 중에 어떤 것인지 알아낼 수도 있음
PCA 후 oblimin 회전
p = principal(iq, 3, rotate = 'oblimin')
p
Loading required namespace: GPArotation
Principal Components Analysis
Call: principal(r = iq, nfactors = 3, rotate = "oblimin")
Standardized loadings (pattern matrix) based upon correlation matrix
TC2 TC1 TC3 h2 u2 com
VisualPerception -0.13 0.19 0.71 0.58 0.42 1.2
Cubes 0.02 -0.07 0.65 0.40 0.60 1.0
PaperFormBoard 0.02 -0.09 0.67 0.41 0.59 1.0
Flags 0.09 0.03 0.47 0.26 0.74 1.1
GeneralInformation 0.67 0.28 0.00 0.67 0.33 1.3
PargraphComprehension 0.82 -0.01 0.04 0.69 0.31 1.0
SentenceCompletion 0.88 -0.01 -0.09 0.72 0.28 1.0
WordClassification 0.68 0.11 0.09 0.58 0.42 1.1
WordMeaning 0.84 -0.05 0.02 0.69 0.31 1.0
Addition 0.19 0.84 -0.24 0.73 0.27 1.3
Code 0.18 0.70 0.04 0.64 0.36 1.1
CountingDots -0.23 0.80 0.11 0.62 0.38 1.2
StraightCurvedCapitals 0.06 0.58 0.25 0.55 0.45 1.4
WordRecognition 0.43 -0.01 0.24 0.31 0.69 1.6
NumberRecognition 0.00 0.20 0.39 0.25 0.75 1.5
FigureRecognition 0.07 0.01 0.68 0.50 0.50 1.0
ObjectNumber -0.03 0.65 0.00 0.41 0.59 1.0
NumberFigure -0.04 0.64 0.30 0.63 0.37 1.4
FigureWord 0.03 0.46 0.29 0.42 0.58 1.7
Deduction 0.49 -0.09 0.41 0.49 0.51 2.0
NumericalPuzzles 0.17 0.34 0.42 0.53 0.47 2.3
ProblemReasoning 0.38 0.04 0.44 0.48 0.52 2.0
SeriesCompletion 0.30 0.16 0.53 0.62 0.38 1.8
ArithmeticProblems 0.35 0.49 0.17 0.63 0.37 2.1
TC2 TC1 TC3
SS loadings 4.48 4.33 4.01
Proportion Var 0.19 0.18 0.17
Cumulative Var 0.19 0.37 0.53
Proportion Explained 0.35 0.34 0.31
Cumulative Proportion 0.35 0.69 1.00
With component correlations of
TC2 TC1 TC3
TC2 1.00 0.39 0.33
TC1 0.39 1.00 0.41
TC3 0.33 0.41 1.00
Mean item complexity = 1.4
Test of the hypothesis that 3 components are sufficient.
The root mean square of the residuals (RMSR) is 0.07
with the empirical chi square 387.48 with prob < 4.3e-13
Fit based upon off diagonal values = 0.96
- 기존 주성분 분석의 축 방향은 PC1과 PC2와 상관 없음
- rotaion을 통해 축을 회전시켜 주성분과 축의 방향을 일치하게 만듦
- 통계적 의미는 전혀 변하지 않음
- h2와 u2는 변하지 않음
- PC1, PC2, PC3만 변함
- rotation을 하지 않았던 위의
principal
의 PC1, PC2, PC3의 순서가 달라졌음
oblimin 회전시킨 PCA로 부분 점수 보기
#max_print_lines
p$scores
TC2 | TC1 | TC3 |
---|---|---|
0.12333655 | -0.69805055 | -0.284939214 |
1.62237932 | 1.66824266 | 2.935444560 |
-1.65610724 | -1.61380091 | -0.528123212 |
1.27483112 | 0.95287140 | -1.338265172 |
0.29099576 | 1.10614329 | 0.141238180 |
1.68261801 | 0.89170193 | 0.859988823 |
-0.68959833 | -1.85178830 | 0.345401736 |
0.25953725 | 0.30055691 | -1.006452223 |
-0.10680720 | -0.02488884 | 0.307546278 |
2.11803478 | -0.43275531 | -0.009771343 |
-2.09434867 | -0.13236227 | 0.086084555 |
0.61520953 | 0.09821401 | 1.826421487 |
-1.17849277 | -1.54109955 | -1.658917204 |
-0.23634803 | -1.72367247 | 0.252010710 |
0.77895655 | -0.07266185 | 0.298398872 |
1.10554986 | 0.97693880 | 0.228065192 |
-1.49076060 | 0.00264200 | -0.727699175 |
1.99324081 | 1.11156323 | 0.893701130 |
-0.48949999 | 1.14506863 | 0.151058989 |
-0.32179882 | -0.16668443 | -0.584706918 |
-0.88908496 | -0.25366755 | -0.532820698 |
-0.89511739 | -1.09102171 | 0.182530589 |
1.21494079 | -1.65028739 | 0.422944373 |
-0.66972903 | -2.72918273 | -0.833623623 |
-2.33122462 | 0.02691829 | 0.067282903 |
1.47575110 | -0.41000281 | 0.745335426 |
-0.50532644 | 1.15354984 | 0.073829753 |
0.04314186 | 0.84185541 | 0.461144016 |
0.78465839 | -0.38323550 | -0.192299526 |
0.32796493 | 1.08544169 | 1.127186203 |
... | ... | ... |
-0.13589626 | -0.852587249 | -0.47027764 |
-0.24177725 | 0.452206908 | -0.72989567 |
-1.36832444 | -2.009765012 | -0.03524090 |
0.20453171 | 0.694184879 | 0.69901180 |
1.48332051 | 1.659580313 | 1.08785418 |
-0.37317776 | 0.599072061 | 1.11628194 |
0.69550911 | -0.447540516 | -0.10576922 |
0.44846483 | 0.707028093 | -0.86033140 |
0.00761960 | 1.057521883 | -0.09952582 |
0.10422791 | -0.326569115 | -0.37906697 |
-1.81451991 | -0.117207351 | -0.46522144 |
1.40962022 | 2.495990209 | 1.42768734 |
-0.48883451 | -1.283640062 | 0.25585085 |
0.53427776 | 1.991984048 | 1.50140739 |
0.23276171 | -0.053964326 | -0.62686071 |
-0.87573301 | -0.190040148 | -0.60575551 |
0.06558164 | 0.478706982 | 0.83054815 |
-0.58571234 | -0.816655571 | -1.02375126 |
0.02796655 | -0.715332532 | 0.01336562 |
-0.24870668 | 0.256072814 | 0.03255771 |
0.58801617 | -0.247584764 | 1.09771561 |
-0.41059930 | -0.380221907 | -1.76572527 |
-0.59707373 | -0.356032453 | -0.29595181 |
1.12660384 | 0.406893802 | 0.85245653 |
0.36702731 | -0.746840602 | 0.82957608 |
-0.27868947 | -0.075355624 | 0.22677671 |
-0.16975639 | -1.120871092 | -0.58155877 |
1.67516768 | 0.663020727 | 0.23522660 |
0.93135163 | 0.006651926 | -0.16984424 |
1.44890447 | 1.376397797 | -0.50496779 |
- 평균이 0, 표준편차 1