먼저 샘플 데이터를 생성한다.
100명의 학생 (남학생 40, 여학생 60)의 성적 표본을 만들었다.데이터 샘플 4개이다.
gender | score1 | score2 | |
---|---|---|---|
12 | M | 79.102122 | 78.820603 |
31 | M | 81.701051 | 78.597056 |
52 | F | 80.870036 | 82.106735 |
28 | M | 80.093340 | 81.895030 |
상세 보기 내용이다.
score1 | score2 | |
---|---|---|
count | 100.000000 | 100.000000 |
mean | 79.481515 | 80.947656 |
std | 2.091850 | 1.954426 |
min | 73.463303 | 76.973637 |
25% | 78.070643 | 79.708372 |
50% | 79.721202 | 80.781994 |
75% | 80.681718 | 82.232054 |
max | 86.469949 | 86.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 개의 댓글:
댓글 쓰기