# naver search confirm # markdown number and equation 편상관계수(partial correlation) 구하기 //google adsense
본문 바로가기
R_데이터 분석 기술

편상관계수(partial correlation) 구하기

by 노마드분석가 2022. 6. 19.

1. 들어가며

일반적으로 두 변수의 상관관계는 인과관계를 의미하지 않는다. 따라서 논리적으로 인과관계가 없는 변수들 간에도 기계적으로 상관계수를 구하면 높은 상관계수가 나올 수 있다.

 

상관관계와 상관계수

1. 들어가며 연속형 변수 x, y의 관계는 상관관계(correlation) 분석을 통해 2가지 사실을 알 수 있다. 관계의 방향 관계의 강도 보통 관계의 방향은 그래프를 그려 확인하고, 관계의 강도는 그래프로

diseny.tistory.com

예를 들면 통계학 교과서에 가끔 인용되는 교회수와 범죄자수의 상관관계가 그렇다. 도시의 교회수와 범죄자수의 관계에서는 두 변수 사이에 숨어 있는 제3의 변수 "인구수"가 있다. 교회수가 많으면 당연히 인구가 많을 것이고 인구가 많으면 당연히 범죄자수도 많을 수 있는 것이다. 이런 경우 제 3의 변수를 통제하고 순수한 변수간의 상관관계를 구할 수 있는데 이를 편상관계수라고 한다.  

 

2. 편상관계수 예제 데이터 생성 

다음과 같은 개념으로 예제 데이터를 만들어 보자. 시력과 혈압의 상관계수를 구하는데 이 둘 사이에는 제3의 변수인 나이가 있다고 가정하자. 

 

 

part_cor = data.frame( #데이터 프레임 생성
            시력 = c(2.5, 2.4, 2.1, 1.5, 1.3, 1.2, 1.1, 0.9, 0.8,1.0), #10개
            나이 = c(33,35,33,38,40,40,41,39,45,44),
            혈압 = c(110,121,122,125,121,130,132,133,132,140))

먼저 시력과 혈압의 상관계수를 구해보자. 코드를 실행하면 -0.846이라는 아주 높은 음의 상관관계가 나온다. 

cor(part_cor$시력,part_cor$혈압)

3. 편상관계수 구하기

다음 그림과 같은 개념으로 제3의 변수인 "나이"를 통제하고 "시력"과 "혈압"의 순수한 상관관계를 분석해보자. 

 

 

library(psych) #필요 패키지
# partial.r(데이터프레임, 상관계수 구하는 변수, 통제변수) 수
partial.r(part_cor,c(1,3),2) # 1번째 변수 시력, 3번째 변수 혈압, 2번째 변수 나이

 코드를 실행하면 아래와 같은 결과를 출력한다. 

 

               시력    혈압
##  시력  1.00   -0.45
##  혈압 -0.45    1.00

 

제3의 변수인 "나이" 효과를 제거하고 순수한 "시력"과 "혈압"의의 상관 계수는 - 0.846에서 - 0.45로 대폭 줄어들었다는 사실을 알 수 있다. 

 

관련글

 

R을 이용해 상관계수 구하기

관련글 상관관계와 상관계수 1. 들어가며 연속형 변수 x, y의 관계는 상관관계(correlation) 분석을 통해 2가지 사실을 알 수 있다. 관계의 방향 관계의 강도 보통 관계의 방향은 그래프를 그려 확인

diseny.tistory.com

 

반응형

댓글