Notice
Recent Posts
Recent Comments
09-29 04:02
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

Byeol Lo

[ADP] 4장 데이터 분석 - 다변량 분석 본문

AI/ADP

[ADP] 4장 데이터 분석 - 다변량 분석

알 수 없는 사용자 2024. 8. 1. 14:37

상관분석

두 변수간의 관계를 알아보기 위해 해야하는 것이 상관분석이다. 두 변수의 상관관계를 나타내는 지표는 다음과 같다.

 

피어슨의 상관계수

$$\rho = Corr (X, Y) = \frac{Cov(X, Y)}{\sqrt{Var(X)Var(Y)}}$$

이때 -1 ≤ p ≤ 1 이며, X, Y가 독립이면 0의 값을 가진다. 이 모수의 피어슨의 상관계수를 추정하기 위해, 표본 상관계수r 을 사용한다.

$$r = \frac{\sum_{i=1}^{n} (x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^n (x_i - \bar{x})} \sqrt{\sum_{i=1}^n (y_i - \bar{y})}}$$

corr(data, type = "pearson")

 

스피어만의 상관계수

 피어슨의 상관계수는 두 변수 간의 선형관계의 크기를 측정하는 값이다. 이는 비선형적인 상관관계는 나타내지 못하기 때문에 모든 변수를 순위로 변환시켜서 두 순위 사이의 피어슨 상관계수로 쓴다.

$$\theta = \frac{\sum (r_i - \bar{r})(s_i - \bar{s})}{\sqrt{\sum (r_i - \bar{r})^2}\sqrt{\sum (s_i - \bar{s})^2}}$$

corr(data, type="spearman")

 

다차원 척도법

여러 대상 간의 거리가 주어질 때, 대상들을 동일한 상대적 거리를 가진 실수공간의 점들로 배치시키는 방법. 보통 자료들의 상대적 관계를 직관적으로 이해하기 위해 시각화에 더 가깝다.

data(eurodist)
eurodist
loc <- cmdscale(eurodist)
plot(loc[,1], loc[,2], type="n", main="eurodist")
text(loc[,1], loc[,2], rownames(loc), cex=0.8)
abline(v=0, h=0)

eurodist의 데이터를 가져와서 배치시켜보았다.

 

주성분 분석 PCA

고차원의 데이터의 정보를 최대한 보존하는 저차원 자료로 변환시키는 방법, 이 또한 깊이 있는 내용은 다른 포스트로 대체한다.

 R은 다음 함수를 통해 사용할 수 있다.

princomp(data, cor=TRUE)

여기서 cor=TRUE 옵션은 주성분분석을 공분산행렬이 아닌 상관계수 행렬을 사용하여서 수행하도록 한다는 뜻이다.

library(datasets)
data(USArrests)
summary(USArrests)
fit <- princomp(USArrests, cor=TRUE)
summary(fit)
loadings(fit)
Importance of components:
                          Comp.1    Comp.2    Comp.3     Comp.4
Standard deviation     1.5748783 0.9948694 0.5971291 0.41644938
Proportion of Variance 0.6200604 0.2474413 0.0891408 0.04335752
Cumulative Proportion  0.6200604 0.8675017 0.9566425 1.00000000

분해되어서 다시 재결합된 변수1 부터 4까지 보여주는 것을 볼 수 있다(독립변수가 4개이기 때문). 또 첫번째 주성분이 데이터 전체의 62퍼센트를 설명할 수 있는 능력이 있으며, 갈수록 적어짐을 알 수 있다. 따라서 이를 통해 comp1, 2, 3만 사용하면 데이터(분산)의 95퍼센트를 설명할 수 있다.

Loadings:
         Comp.1 Comp.2 Comp.3 Comp.4
Murder    0.536  0.418  0.341  0.649
Assault   0.583  0.188  0.268 -0.743
UrbanPop  0.278 -0.873  0.378  0.134
Rape      0.543 -0.167 -0.818       

               Comp.1 Comp.2 Comp.3 Comp.4
SS loadings      1.00   1.00   1.00   1.00
Proportion Var   0.25   0.25   0.25   0.25
Cumulative Var   0.25   0.50   0.75   1.00

새로 생긴 각 comp 변수 별로 원래 변수가 해당 변수에 얼마나 영향을 주고 있는지 볼 수 있다. 첫번째 변수만 보면

$$Comp.1 = 0.536 * Murder + 0.583 * Assault + 0.278 * UrbanPop + 0.543 * Rape$$

로 나타낼 수 있다.

Comments