[Python 통계 실습] t-검정(t-test)

robin·2021년 8월 17일
0

Python 통계 실습

목록 보기
2/3
post-thumbnail

0. 데이터 준비

데이터 불러오기

[코드]

import pandas as pd
import scipy.stats as stats 
import pingouin as pg

vehicles = pd.read_csv('vehicles.csv') # csv 파일을 dataframe으로 읽어옴. 
 
print(vehicles.shape) # dataframe의 차원 확인함.
print(vehicles.head(3)) # dataframe의 처음 3개 열을 리턴함.
print(vehicles.tail(3)) # dataframe의 마지막 3개 열을 리턴함.

[결과]

vehicles.shape:

(426880, 26)

vehicles.head(3):

vehicles.tail(3):

데이터 전처리하기

  • 가격이 0인 데이터들을 결측치로 판단하여 제거함.
  • 가격의 z-score가 3이상인 데이터를 이상치로 판단하여 제거함.

[코드]

vehicles = vehicles[vehicles['price'] != 0]
# vehicles의 가격이 0인 rows를 제거함.
vehicles = vehicles.reset_index(drop=True)
# vehicles의 index를 재정렬함.

vehicles = vehicles[(np.abs(stats.zscore(vehicles['price'])) < 3)]
# vehicles의 가격의 z-score가 3이상인 rows를 제거함. 

vehicles.shape # dataframe의 차원 확인함.

[결과]

vehicles.shape:

(393965, 26)

1. 단일 표본 t 검정(one sample t-test)

분석 목적

: auid의 가격이 중고차의 평균 가격인 25000달러와 통계적으로 유의미한 차이가 나는지 확인하고자 함.

(1) 그룹의 평균과 표준편차

[코드]

audi = vehicles[vehicles['manufacturer'] == 'audi']

print('audi 평균 가격: ', audi.price.mean())
print('audi 가격 표준편차: ', audi.price.std())

[결과]
audi 평균 가격: 24865.23
audi 가격 표준편차: 15600.28

(2) 단일 표본 t 검정

[코드]

pg.ttest(audi.price, 25000, confidence = 0.95)

[결과]

Tdoftailp-valCI95%cohen-dBF10power
T-test-0.732037179two-sided0.464174[24504.32, 25226.13]0.0086390.0170.11327

(3) 결과 보고

auid의 가격이 중고차의 평균 가격인 25000달러와 통계적으로 유의미한 차이가 나는지 확인하기 위하여 단일 표본 t 검정을 실시하였다. audi의 가격(M = 24865.23, SD = 15600.28)은 중고차 평균 가격인 25000달러와 통계적으로 유의미한 차이가 없다, t(7179) = -0.73, p > .05.

2. 독립 표본 t 검정(independent samples t-test))

분석 목적

: audi와 lexus의 가격 차이가 통계적으로 유의미한지 확인하고자 함.

(1) 각 그룹의 평균과 표준편차

[코드]

audi = vehicles[vehicles['manufacturer'] == 'audi']
lexus = vehicles[vehicles['manufacturer'] == 'lexus']

print('audi 평균 가격: ', audi.price.mean())
print('audi 가격 표준편차: ', audi.price.std())

print('lexus 평균 가격: ', lexus.price.mean())
print('lexus 가격 표준편차: ', lexus.price.std())

[결과]
audi 평균 가격: 24865.23
audi 가격 표준편차: 15600.28

lexus 평균 가격: 20344.98
lexus 가격 표준편차: 12079.34

(2) 독립표본 t 검정

  • lexus와 audi의 평균 가격의 차이가 통계적으로 유의미한 차이인지 검증하기 위하여 독립표본 t 검정을 실시함.

[코드]

pg.ttest(audi.price, lexus.price, confidence = 0.95)

[결과]

Tdoftailp-valCI95%cohen-dBF10power
T-test19.68224213508two-sided4.738776e-85[4070.08, 4970.42]0.3255381.728e+811.0

(3) 효과 크기

1) eta-squared

[코드]

pg.compute_effsize(audi.price, lexus.price,  eftype = 'eta-square')

[결과]

0.03

2) cohen's d

[코드]

pg.compute_effsize(audi.price, lexus.price, eftype = 'cohen')

[결과]

0.33

(4) 결과 보고

audi의 가격과 lexus의 가격에 차이가 있는지 알아보기 위하여 독립 표본 t검정을 실시하였다. audi의 가격(M = 24865.23, SD = 15600.28)이 lexus의 가격(M = 20344.98, SD = 12079.34)보다 통계적으로 유의미하게 높았다, t(13508) = 19.68, p < .05, η2η^2 = 0.03.

profile
데이터 분석을 공부하는 🌱

0개의 댓글