2016년 1월 19일 화요일

T-Test 검정 실습

본문은 먼저 작성한 T 검정 방법을 통한 실습 내용을 다룬다.

먼저 샘플 데이터를 생성한다.

100명의 학생 (남학생 40, 여학생 60)의 성적 표본을 만들었다.

데이터 샘플 4개이다.
genderscore1score2
12M79.10212278.820603
31M81.70105178.597056
52F80.87003682.106735
28M80.09334081.895030

상세 보기 내용이다.
score1score2
count100.000000100.000000
mean79.48151580.947656
std2.0918501.954426
min73.46330376.973637
25%78.07064379.708372
50%79.72120280.781994
75%80.68171882.232054
max86.46994986.001438

다음은 가설을 세우고 검정하는 과정이다.

과목(score2)에서 남학생(M)과 여학생(F) 점수 분포에 차이가 있을 것으로 추론을 하였고,
다음과 같은 가설을 세웠다.

  • 귀무가설 H0: 남학생 점수 = 여학생 점수
  • 대립가설 H1: 남학생 점수 != 여학생 점수

유의 수준은 0.05로 정했다.

이해를 돕기 위해 플롯을 통해서 데이터를 시각화 해 보았다.

두개의 독립된 표본을 가짐으로 독립표본 T 검정 방법을 통해 결과를 추출한다.
Ttest_indResult(statistic=-4.8233119946622285, pvalue=5.1783040057372635e-06)

p-value < 0.05 (유의 수준) 임으로 귀무가설은 기각되고, 대립가설을 받아 들인다.
남학생과 여학생 점수에는 유의한 차이가 있는 것으로 볼 수 있다.


참고 - 검정 테스트 코드들

# 단일표본 T 검정
stats.ttest_1samp(<독립표본 1>, 80)
>>Ttest_1sampResult(statistic=0.38968001242188899, pvalue=0.6976102219750262)

# 독립표본 T 검정
stats.ttest_ind(<독립표본 1>, <독립표본 2>)
>>Ttest_indResult(statistic=-4.8233119946622285, pvalue=5.1783040057372635e-06)

# 대응표본 T 검정
stats.ttest_rel(<대응표본 1>, <대응표본 2>)
>>Ttest_relResult(statistic=-2.7629453241484772, pvalue=0.0068304073158760937)

# 대응표본을 단일표본 T 검정으로 푸는 방법
stats.ttest_1samp(<대응표본 1> - <대응표본 2>, 0)
>>Ttest_relResult(statistic=-2.7629453241484772, pvalue=0.0068304073158760937)

# 히스토그램과 정규 분포 그래프 그리는 방법
ax = figure(figsize=(6,3)).add_subplot(111)
test = sort(M)
fit = stats.norm.pdf(test, np.mean(test), np.std(test))
ax.plot(test,fit)
ax.hist(test,normed=True,bins=20)

# 표본 만들기 (mean, standard deviation, count)
stats.norm.rvs(loc=<평균>,scale=<표준편차>,size=<건수>)


0 개의 댓글:

댓글 쓰기