programming/파이썬으로 배우는 통계학

[파이썬/통계] Python에 의한 기술 통계 : 평균치 차이 검정

Jofresh 2023. 5. 16. 13:44
728x90
반응형

이번에는 실제 분석할 때도 많이 쓰이는 평균값의 차이에 대한 검정의 이론과 실행 방법을 설명하겠습니다. 

 

필요한 라이브러리 임포트

# 수치 계산에 사용하는 라이브러리입니다.
import numpy as np
import pandas as pd
import scipy as sp
from scipy import stats

# 그래프를 그리는 라이브러리입니다.
from matplotlib import pyplot as plt
import seaborn as sns
sns.set()

# 표시 자리수 지정입니다.
%precision 3
# 그래프를 jupyter Notebook 내에 표시하도록 하기 위한 지정입니다.
%matplotlib inline

통계에 사용될 raw 데이터

3-9-1-paired-t-test.csv
0.00MB

- 이제부터 raw 데이터는 그냥 파일 형태로 드리도록 하겠습니다.

- 데이터는 약을 먹기 전(before)과 후(after)의 체온 변화를 나타냅니다.

# 파일 불러오기
paired_test_data = pd.read_csv(
    "3-9-1-paired-t-test.csv")
print(paired_test_data)

이 데이터를 대상으로 대응표본 t검정을 시행하겠습니다. 아래 항목을 중점적으로 검정하겠습니다.

- 귀무가설: 약을 먹기 전과 후의 체온이 변하지 않는다.

- 대립가설: 약을 먹기 전과 후의 체온이 다르다.

 

유의수준 = 5%. p값이 0.05보다 작으면 귀무가설은 기각되고, 약을 먹으면 체온이 유의미한 수준으로 변화한다고 볼 수 있따는 주장을 할 수 있게 됩니다. 

 

대응 가능한 t 검정

p값이 0.05보다 작으므로 약을 먹기 전과 후의 체온은 유의미한 차이가 있다고 주장할 수 있습니다.

- stats.ttest_rel(after, before)은 Python의 SciPy 라이브러리에서 제공되는 함수로, 대응 표본에 대한 t-검정을 수행하는 역할을 합니다.

 

대응 없는 t 검정

독립표본 t-검정(Independent Samples t-test)은 두 개의 독립적인 표본 간에 평균 차이가 통계적으로 유의미한지를 검정하는 통계적인 방법입니다. 각 표본은 서로 독립적이며, 한 표본의 관측치는 다른 표본의 관측치와 연관되지 않습니다.

- Python의 SciPy 라이브러리에서는 stats.ttest_ind() 함수를 사용하여 독립표본 t-검정을 수행할 수 있습니다. 이 함수는 두 개의 독립적인 표본 데이터를 인자로 받아서 t-검정 결과를 반환합니다.

 

독립표본 t검정도 p값이 0.05보다 작으므로 역시 유의미한 차이가 있다고 판단할 수 있습니다. 하지만 p값이 대응표본 t검정의 결과와 차이가 있습니다. 당연한 말이지만 같은 데이터에 대해 같은 목적의 검정을 해도 검정 방법이 달라지면 p값도 달라집니다.

728x90
반응형