1 분 소요

※ t-test in Python

■ 단일 표본 t-검정

# 기본 사용법
> from scipy.stats import *

> kstest(data, 'norm') # 정규성 검정
> ttest_1samp(data, mu)


# 사용 예시
> from scipy.stats import *

# 정규성 검정
> kstest(data, 'norm') 
# KstestResult(statistic=0.74..., pvalue=0.091...)
# p-value > 0.05 이므로 정규성을 띔

# 단일표본 t-검정
> ttest_1samp(data, 163)
# 통계량이 음수, data < 163
# p-value가 0.05보다 작으므로 귀무가설 기각


■ 독립 표본 t-검정

  • 매개변수
    • groupA: (배열/ 시퀀스타입의 표본데이터)
    • groupB : (배열/ 시퀀스타입의 표본데이터)
    • equal_var: {‘등분산’: True, ‘이분산’: False}
# 기본 사용법
> from scipy.stats import *
> ttest_ind(groupA, groupB, equal_var, ...)
# 사용 예시 1
> df = pd.read_csv('… .csv')
> group_A = df.loc[data1['반'] == 'A', '점수'].values
> group_B = df.loc[data1['반'] == 'B', '점수'].values

# 정규성 검정
> kstest(group_A, 'norm') # KstestResult(statistic=0.74..., pvalue=0.081...)
> kstest(group_B, 'norm') # KstestResult(statistic=0.74..., pvalue=0.061...)
# p-value > 0.05 이므로 정규성을 띔

# 등분산 검정
> levene(group_A, group_B)
# LeveneResult(statistic=2.03..., pvalue=0.16...)
# p-value > 0.05이므로 귀무가설 기각 X
# 두 그룹은 등분산이다.

# 독립 표본 t-검정
> ttest_ind(group_A, group_B, equal_var = True)
# TtestResult(statistic=2.51..., pvalue=0.01..., df=28.0)
# p-value < 0.05 이므로 귀무가설 기각
# 두 표본은 서로 다르다.


■ 쌍체 표본 t-검정

  • 매개변수
    • a: 효과 전 데이터
    • b: 효과 후 데이터
# 기본 사용법
> from scipy.stats import *
> ttest_rel(a, b, ...)

```py

사용 예시

data = pd.read_csv(‘… .csv’) before = data[data.columns[0]] after = data[data.columns[1]]

정규성 검정

kstest(before-after, ‘norm’) KstestResult(statistic=0.7424620196514834, pvalue=0.17…)

정규분포를 따른다

쌍체 표본 t-검정

ttest_rel(before, after)

Ttest_relResult(statistic=9.70…, pvalue=5.37…e-13)

p-value < 0.05 이므로 귀무가설 기각

양의 효과가 있다.

댓글남기기