공분산(Covariance)
- 공분산의 각 변량에 대한 편차의 곱
- 변수간의 상관관계를 알아보기 위한 분석 방법, 또 다른 방법으로 상관분석(Correlation)이 있다.
- 공분산 > 0 경우: X값이 커질때 Y값도 커지거나, X값이 작아질 때 Y값도 작아지는 경우
- 공분산 < 0 경우: X값이 커질때 Y값은 작아지거나, X값이 작아질 때 Y값은 커지는 경우
- 공분산 = 0 경우: X와 Y간에 규칙성이 없거나 한 변수가 고정적인 값을 가지는 경우
- 측정단위에 따라 값이 달라지므로 상관관계의 정도를 나타내기에는 부적합하다.
- 관계의 정도는 상관계수 사용, -1 <= 상관계수 <= 1
- 상관계수 = 공분산(X,Y) / 표준편차(X) * 표준편차(Y)
공분산행렬
- 말그대로 공분산의 행렬이다.
- cov.wt 함수를 이용
- 결과
- $cov 공분산행렬
- $center 각 열의 평균
- $n.obs 행수
- $cor 상관계수행렬
> cost.d <-read.table("cost.d", header=T)
> cov.wt(cost.d, cor=T)
$cov
fuel repair capital
fuel 23.013361 12.366395 2.906609
repair 12.366395 17.544111 4.773082
capital 2.906609 4.773082 13.963334
$center
fuel repair capital
12.218611 8.112500 9.590278
$n.obs
[1] 36
$cor
fuel repair capital
fuel 1.0000000 0.6154424 0.1621444
repair 0.6154424 1.0000000 0.3049570
capital 0.1621444 0.3049570 1.0000000
> set.seed(2)
> library(mvtnorm)
> x <- rmvnorm(20, sigma=matrix(c(1, 0.98, 0.98, 1), 2))
> x
[,1] [,2]
[1,] 0.62872170 1.05125106
[2,] -0.61625134 -0.81208810
[3,] 2.23543105 2.23568460
[4,] 0.36178518 0.79807392
[5,] -0.05901189 -0.04696427
[6,] -1.44903706 -1.81448776
[7,] 0.85017069 0.81754232
[8,] -0.56312456 -0.61359221
[9,] 2.03787185 1.86925931
[10,] 0.07583804 0.13642630
[11,] 0.79101426 0.83645122
[12,] 0.96199934 0.86826634
[13,] 0.37699900 0.58472713
[14,] -0.98481735 -0.87797193
[15,] 0.88841158 0.52652788
[16,] -2.16636324 -1.92376783
[17,] -0.41200937 -0.78035322
[18,] -0.54347793 -0.67618649
[19,] 0.43040268 0.20810378
[20,] 0.17868536 0.08269170
> plot(x[,1], x[,2], xlab="X1", ylab="X2")