susinlee 님의 블로그
5. 두 변수의 관계 파악하기 본문
데이터 분석시에는 종종 각 개체에서 두 개 이상이 변수를 동시에 관측하게 됩니다. 이 경우, 두 변수 간의 관계를 이해하기 위해 데이터를 요약하고 해석하는 방법이 필요합니다. 두 변수의 유형데 따라 적합한 도표와 분석 방법을 알아봅시다.
1. 두 범주형 변수
분할표
두 변수가 모두 범주형에 속하는 경우, 분할표를 작성할 수 있습니다. 행과 열은 각각 하나의 변수의 범주를 나타내고, 각 칸에는 범주 조합에 해당하는 빈도가 표시됩니다. margins=True 옵션으로 합계 컬럼을 생성할 수 있습니다.
- 분할표 그리기
data = sns.load_dataset('titanic')
table = pd.crosstab(data['sex'], data['embarked'], margins=True)
table
2. 두 수치형 변수
산점도
다음으로 두 수치형 변수의 경우 산점도를 그릴 수 있습니다. 산점도는 두 수치형 변수의 관계를 시각적으로 나타낸 그래프입니다. 각 데이터 점은 두 변수의 값에 해당하는 위치에 그려집니다. 점들의 패턴을 통해 두 변순 간의 관계(선형, 비선형, 무관 등)를 시각적으로 확인할 수 있습니다.
- 산점도 그리기
data = sns.load_dataset('penguins')
sns.scatterplot(x='flipper_length_mm', y='body_mass_g', data=data)
seaborn의 pairplot()을 이용해 데이터프레임의 모든 수치형 변수들의 산점도와 히스토그램을 한번에 그릴 수 있습니다. 또 hue 매개변수를 통해 특정 범주형 변수의 범주별로 데이터의 색상을 다르게 부여할 수 있습니다.
- 페어플롯 그리기
# 페어플롯 그리기
sns.pairplot(data)
# 범주별로 색상 부여
# sns.pairplot(data, hue='species')
상관계수
상관계수는 두 수치형 변수 간의 선형 관계를 정량적으로 측정한 값입니다. 일반적으로 피어슨 상관계수를 말합니다. 상관계수는 -1과 1사이의 값을 가지며, 다음과 특징을 가집니다.
- 1 : 완전한 양의 선형 관계. 한 변수가 증가하면 다른 변수도 일정 비율로 증가합니다.
- 0 : 선형 관계 없음. 한 변수의 변화가 다른 변수에 영향을 미치지 않습니다.
- -1 : 완전한 음의 선형 관계 . 한 변수가 증가하면 다른 변수는 일정 비율로 감소합니다.
상관계수는 선형 관계를 나타내는 데 유용하지만, 비선형 관계나 다른 유형의 관계를 설명하지는 못한다는 점에 주의해야 합니다.
- 상관계수 시각화 하기 (데이터프레임에 범주형 컬럼이 존재할 때는 numeric_only=True 매개변수가 필요합니다. )
# 상관계수 구하기
corr = data.corr(numeric_only=True)
# 히트맵 그리기
sns.heatmap(corr, annot=True, fmt='.2f', cmap='grey')
해당 페이지는 다음 자료들을 참고하여 작성하였습니다.
- 통계101x데이터 분석(아베 마사토)
- 통계학 : 파이썬을 이용한 분석 (인하대학교 통계학과)
- 위키백과
'학습 > 통계학' 카테고리의 다른 글
4. 데이터의 경향 파악하기 - 그래프 그리기 (0) | 2025.01.15 |
---|---|
3. 데이터의 경향 파악하기 - 수치로 요약하기 (0) | 2025.01.15 |
2. 데이터의 유형 (0) | 2025.01.11 |
1. 기초 통계학 소개 (0) | 2025.01.10 |