통계 - 대응표본 T 검정(Paired t-Test)

2024. 1. 19. 09:37· 데이터 분석&엔지니어링 캠프
목차
  1. 대응표본 T 검정
  2. 1. 가설 설정
  3. 2. 정규성 검정
  4. 4. 대응표본 T 통계량 계산
  5. 5. 결정/결론
  6. 파이썬 라이브러리 Scipy 활용 방법

본 글은 통계학에서 사용되는 대응표본 T 검정을 설명하기 위해 작성되었습니다. 금번에도 파이썬 라이브러리 Scipy를 활용하여 대응표본 T 검정을 진행하도록 하겠습니다. 

 

대응표본 T 검정

대응표본 T 검정이란 두 관련된 집단 간의 평균을 비교하는 통계적 기법입니다. 이 방법은 일반적으로 동일한 피험자 집단에 대해 두 가지 측정값이 있는 경우에 적용됩니다. 대응표본 t-검정은 두 관련된 집단 간의 평균 차이가 통계적으로 유의한지 여부를 판단하는 데 사용됩니다.

1. 가설 설정

H₀ : 𝜇D  = 0 → 귀무가설  (𝜇𝐷 = 𝜇₁ - 𝜇₂) 실험 전과 후의 평균의 차이는 0이다.
H₁ : 𝜇D  ≠ 0 → 대립가설 실험 전과 후의 평균의 차이는 0이 아니다.

2. 정규성 검정

두 그룹의 표본 수가 30개 이하일 경우, 정규성 검정을 실시해야 합니다.

두 그룹의 표본 수가 30개 이상일 경우, 중심극한정리에 의해 정규성을 만족했다고 가정합니다.

* Scipy에서 정규성 검정은 Shapiro-Wilk 검정을 통해서 확인 가능합니다.

 

4. 대응표본 T 통계량 계산

두 그룹의 평균과 표준편차를 사용하여 대응표본 T 통계량을 계산합니다.

5. 결정/결론

계산된 T 통계량이 임계값을 초과하면 귀무가설을 기각하고 대립가설을 채택합니다.

그렇지 않으면 귀무가설을 기각하지 않습니다.

통계적으로 유의한 차이가 있다면, 두 그룹 간에 평균 차이가 존재한다고 결론 내립니다.

 

 

파이썬 라이브러리 Scipy 활용 방법

다음은 파이썬 Scipy 라이브러리를 활용하여 독립표본 T 검정을 진행하도록 하겠습니다. 책 누구나 파이썬 통계분석의 챕터 11의 데이터 파일 ch11_training_ind.csv을 사용하였습니다.

 

책은 아래 링크를 통해 구입 가능합니다.

https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=237744461&start=slayer

 

누구나 파이썬 통계분석

파이썬을 활용하면 복잡한 수식이 없이도 통계분석을 할 수 있다. 책을 따라 실습하다 보면 어느새 통계분석을 하는 자신을 발견하게 될 것이다. 데이터, 1차원 데이터 정리, 2차원 데이터 정리,

www.aladin.co.kr

 

이번에 다루는 데이터에는 A의 학급에서는 근력운동을 하면 집중력이 향상된다는 이야기가 돌아 A가 실제로 근력운동을 시작하기 전과 후를 비교하기로 하였습니다. A는 20명에게 근력운동을 하게 한 후, 운동 전과 후에 집중력 측정 테스트를 받게 한 결과입니다.

 

근력운동 전과 후 집중력에 유의한 차이가 있는지 대응표본 T 검정을 통해 알아보고자 합니다.
 
가설은 아래와 같습니다.

귀무가설 : 근력운동 전과 후의 테스트 평균은 같다.

대립가설 : 근력운동 전과 후의 테스트 평균은 같지 않다.


유의수준은 0.05로 설정하도록 하겠습니다.

 

우선 데이터를 불러오도록 하겠습니다.
데이터 파일은 하기 링크를 통해 다운로드 가능합니다. 

https://www.hanbit.co.kr/support/supplement_list.html 

 

한빛출판네트워크

더 넓은 세상, 더 나은 미래를 위한 아시아 출판 네트워크 :: 한빛미디어, 한빛아카데미, 한빛비즈, 한빛라이프, 한빛에듀

www.hanbit.co.kr

 

 

 

>>> import pandas as pd
>>> from scipy import stats
>>> df = pd.read_csv("./data/ch11_training_rel.csv")
>>> df.head()

 

 

다음은 정규성 검정을 하도록 하겠습니다.

 

>>> a = stats.shapiro(df['전'])
>>> b = stats.shapiro(df['후'])
>>> print(a, b)
ShapiroResult(statistic=0.9670045375823975, pvalue=0.690794825553894) 
ShapiroResult(statistic=0.9786625504493713, pvalue=0.9156817197799683)

 

결과는 모두 p-value가 0.05보다 커서 정규성을 만족합니다.

 

 

다음으로는, Scipy 라이브러리 내에 있는 ttest_rel를 통해 t통계량과 p-value를 구할 수 있습니다.

>>> t_score, p_value = stats.ttest_rel(df['전'], df['후'])
>>> print(round(t_score, 4), round(p_value, 2))
-2.2042 0.04

 

p-value가 유의수준인 0.05보다 작기 때문에 귀무가설(근력운동 전과 후의 평균이 같다)이 기각되었습니다. 따라서 근력운동 전과 후의 평균 점수에 유의한 차이가 있다고 말할수 있다는 결론을 내릴 수 있습니다.

'데이터 분석&엔지니어링 캠프' 카테고리의 다른 글

Django - pyburger 프로젝트 (1)  (0) 2024.01.24
리눅스 명령어 모음  (0) 2024.01.22
통계 - 독립표본 T 검정(Independent Samples t-Test)  (2) 2024.01.15
통계 - 단일표본 T 검정(One Sample t-Test)  (2) 2024.01.13
통계 - 회귀 분석  (0) 2024.01.12
  1. 대응표본 T 검정
  2. 1. 가설 설정
  3. 2. 정규성 검정
  4. 4. 대응표본 T 통계량 계산
  5. 5. 결정/결론
  6. 파이썬 라이브러리 Scipy 활용 방법
'데이터 분석&엔지니어링 캠프' 카테고리의 다른 글
  • Django - pyburger 프로젝트 (1)
  • 리눅스 명령어 모음
  • 통계 - 독립표본 T 검정(Independent Samples t-Test)
  • 통계 - 단일표본 T 검정(One Sample t-Test)
ms2063
ms2063
ms2063
ms2063
ms2063
전체
오늘
어제
  • 분류 전체보기 (23)
    • 데이터 분석&엔지니어링 캠프 (22)
    • Git・Github (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Machine Learning
  • Independent Samples t-Test
  • 대응표본 T 검정
  • 독립표본 T 검정
  • 머신 러닝
  • 통계
  • scikit-learn
  • git
  • 파이썬
  • github
  • scipy
  • ttest_ind
  • 시퀀스 자료형
  • 장고
  • Python
  • Django
  • Sequence types
  • Pandas
  • 피처 엔지니어링
  • 랜덤 서치

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
ms2063
통계 - 대응표본 T 검정(Paired t-Test)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.