PCA를 활용한 시험 점수 분석
패키지 설치하기 - 오른쪽 하단 Packages 탭에서 psych 다운
시뮬레이션으로 예제 데이터 만들기
library(psych)
Harman74.cor
$cov VisualPerception Cubes PaperFormBoard Flags VisualPerception 1.000 0.318 0.403 0.468 Cubes 0.318 1.000 0.317 0.230 PaperFormBoard 0.403 0.317 1.000 0.305 ...
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로 부분 점수 보기
p$scores
TC2 TC1 TC3 [1,] 0.12333655 -0.69805055 -0.284939214 [2,] 1.62237932 1.66824266 2.935444560 [3,] -1.65610724 -1.61380091 -0.528123212 [4,] 1.27483112 0.95287140 -1.338265172 ...
- 평균이 0, 표준편차 1