summ의 블로그

이변량분석 범주형 변수 본문

파이썬

이변량분석 범주형 변수

summ._ 2024. 9. 13. 23:10

240913

이변량분석 범주형 변수

 

- 카이제곱검정: 시그마 (관측 빈도 - 기대빈도)**2 / 기대빈도  

- 가설: 두 변수끼리 관계가 없다 / 있다 

 

범주형 변수

 

  • 교차표 사용하여 빈도 알기
pd.crosstab(data.변수1, data.변수2) # normalize='columns' or 'index' 비율로 나타낼 수 있음

 

빈도이기에 변수 위치 바껴도 상관이 없다. 

 

  • 시각화: 모자이크플롯 사용
mosaic(data, ['변수1', '변수2'])
plt.axhline(1- data['변수2'].mean(), color = 'r')
plt.show()

 

ex. titanic survive 변수를 이용한다면

생존하지 않은 승객의 비율을 나타내는 수평선을 그려 이 선이 전체 데이터에서 어느 정도의 비율이 사망했는지 보여줌

 

  • 수치화: 카이제곱 검정 사용
spst.chi2_contingency( pd.crosstab(data.변수1, data.변수2))

 

** normalize 옵션 사용 xx 

 

카이제곱 통계량 102.89

유의확률 4.54e-23

자유도 2 (1*2)

 

 

x 수치형 y 범주형 변수 분석

 

  • 시각화
#1
sns.kdeplot(x='수치형 변수', data = data, hue ='범주형 변수')
plt.show()

#2
sns.kdeplot(x='수치형 변수', data = titanic, hue ='범주형 변수', 
            common_norm = False)
plt.show()

 

** 그래프 해석이 중요함 

kdeplot이 가까우면 차이가 별로 없음

kdeplot이 조금 떨어지면 차이가 약간 존재

kdeplot이 멀리 떨어지면 차이가 크게 존재

 

'파이썬' 카테고리의 다른 글

웹 크롤링 (2)  (1) 2024.09.21
파이썬 기초와 웹 크롤링 기초  (0) 2024.09.19
범주형 변수와 수치형 변수 분석  (0) 2024.09.13
수치형변수 이변량분석  (0) 2024.09.12
[Python] 왕기초 (4)  (0) 2024.09.10