R) 상관관계

테이블화 한 어떤 데이터에 대해
각 항목(또는 컬럼)간 상관 관계를 크게 세가지 종류로 분류할 수 있다.


각 항목에 대해 상관계수에 대해 

0보다 클수록 비례하게 증가하는 양의 상관 관계

0보다 작을 수록 반비례하는 음의 상관 관계

독립적인 관계를 갖는 0 : 무관계로 나눌 수 있다.

※ 각 항목을 각각 f(x) = y 와 같은 관계로 나타내고 그래프로 나타낸다면 시각적인 표현이 가능하다.


※ 기본적으로 제공하는 Iris(붓꽃) 데이터를 기준으로 실습을 진행하였습니다.

개인적으로 시도한 것 중 하나로

각 항목과 종(Species)과의 상관 관계를 분석을 생각했다.
→ 각 범주형 데이터와 항목간의 상관관계를 분석한다면, 각 항목에 따라 두드러지게 항목의 값이 구분이 가능할 것이라 생각

※ cor() 함수는 문자열에 대해 적용이 불가하므로 별도의 변환이 필요
1. 범주형 데이터:Species에 대해 setosa : 0
                                          versicorlor : 1
                                          virginica :2
    로 각각 변환

2. cor() 를 이용하여 상관관계 분석
                                          

1이라면 자기 자신, 0에 가깝다면 무관계에 가깝고, 이외에는 반비례/비례인 관계라고 볼 수 있으나


검증을 위해 실행 후, 변환한 iris 의 데이터의 항목에 대해 분포 그래프를 작성하였다.


Species 의 경우 Petal.Length, Petal.Width 에 대해 상관도가 높은것을 확인할 수 있으나, 이 결과는 신뢰성이 떨어지는 편이다.

1. 변환된 0~2까지의 값이 연속형 변수처럼 해석될 위험이 있음
2. 범주형 데이터의 각 값의 위치를 바꾸는 경우 의미를 갖지 않는 경우가 발생할 수 있음

이에 따라 다른 방법으로 상관분석을 하거나, 범주형 항목을 제외한 다른 항목들로 데이터를 분석한다.

Species 항목을 제외한 다른 항목들로 구성한 데이터 셋으로 상관관계를 분석
- 위의 결과와는 큰 차이가 없다. 단지 열과 행이 하나 없어졌을 뿐



상관관계 분석에 대해 시각적인 표현이 가능한 함수가 포함된 라이브러리를 로드한다.

corrplot

corrplot(상관분석 결과 , type ="full/lower/upper", method="circle/square/ellipse/number/shade/color/pie", addCoef.col="글꼴의 색" )

- type : 전체 표현 또는 일부 표현
- method : 빗금, 사각형, 타원 등 표현 방법
- addcoef.col : 내부 수치에 대한 글자 색



위와 같은 수치형, 시각적 표현도 가능하나, 다른 방법으로는 상관관계를 연결하여 색으로 표현한 방법이다.


corrr 라이브러리




색이 진하면 진할 수록 연결된 각 항목과의 상관 관계가 높은 것을 알 수 있다.




댓글