9-1. Python으로 상관분석하기 (t검정)

2025. 2. 3. 15:41·스포츠 AI·빅데이터(2024~)/빅데이터기반 스포츠경기분석

* 검정 주제: 프로배구에서 승패에 따른 상대범실

경기데이터.xlsx
0.11MB

1. 데이터 불러오기(경기데이터.xlsx)

import pandas as pd

data = pd.read_excel("경기데이터.xlsx", sheet_name = "프로배구") #데이터불러오기
data.head()

2. 등분산성 검증(두 집단의 분산이 동일한지)

from scipy import stats

win_errors = data.상대범실[data.승패 == 1]  # 승리 시 상대범실
loss_errors = data.상대범실[data.승패 == 0] # 패배 시 상대범실

# Levene's test 수행: scipy.stats 모듈의 levene 함수를 사용하여 등분산 검정을 수행합니다.
statistic, p_value = stats.levene(win_errors, loss_errors)

# 결과 출력: 검정 통계량과 p-값을 출력합니다.
print('Levene 검정 통계량: %.3f' % statistic)
print('p-값: %.3f' % p_value)

# 결과 해석: p-값을 기준으로 등분산 가정을 만족하는지 판단합니다.
alpha = 0.05  # 유의수준 설정 (일반적으로 0.05 사용)
if p_value < alpha:
    print("등분산 가정이 만족되지 않습니다.")
else:
    print("등분산 가정이 만족됩니다.")

p_value(유의확률) > alpha(유의수준) 이면 등분산 가정이 만족한다고 판단
-> T 검정 진행

3. 상관분석(T검정) 진행

# T-검정 수행: scipy.stats 모듈의 ttest_ind 함수를 사용하여
# 두 그룹 (승리, 패배) 간 상대범실의 평균 차이를 검정합니다.
t_statistic, p_value = stats.ttest_ind(win_errors, loss_errors)

# 결과 출력: T-통계량과 p-값을 출력합니다.
print('T-통계량: %.3f' % t_statistic)
print('p-값: %.3f' % p_value)

# 결과 해석: p-값을 기준으로 유의미한 차이가 있는지 판단합니다.
alpha = 0.05  # 유의수준 설정 (일반적으로 0.05 사용)
if p_value < alpha:
    print("승패와 상대범실 간에 유의미한 차이가 있습니다.")
else:
    print("승패와 상대범실 간에 유의미한 차이가 없습니다.")

p_value(유의확률) > alpha(유의수준) 이면 두 집단 간 유의미한 차이가 없다고 결론내리며 대립가설이 채택되었다고 합니다.(반대의 경우 귀무가설 채택)

4. 결과정리

# N, M, SD 계산: 각 그룹에 대해 N, M, SD 값을 계산합니다.
win_N = len(win_errors)  # 승리 시 상대범실 데이터 개수 (N)
win_M = win_errors.mean()  # 승리 시 상대범실 평균 (M)
win_SD = win_errors.std()  # 승리 시 상대범실 표준편차 (SD)

loss_N = len(loss_errors)  # 패배 시 상대범실 데이터 개수 (N)
loss_M = loss_errors.mean()  # 패배 시 상대범실 평균 (M)
loss_SD = loss_errors.std()  # 패배 시 상대범실 표준편차 (SD)

# 결과 출력: 계산된 N, M, SD 값을 출력합니다.
print("승리 시 상대범실:")
print("N:", win_N)
print("M: %.3f" %win_M)
print("SD: %.3f" %win_SD)

print("\n패배 시 상대범실:")
print("N: ", loss_N)
print("M: %.3f" %loss_M)
print("SD: %.3f" %loss_SD)

프로배구에서 승패에 따른 상대범실의 차이검증

 

반응형
'스포츠 AI·빅데이터(2024~)/빅데이터기반 스포츠경기분석' 카테고리의 다른 글
  • 9-2. Python으로 상관분석하기 (ANOVA검정)
  • 8. MLP 알고리즘
  • 7. Pagerank 알고리즘
  • 6. 스포츠 데이터를 활용한 의사결정 매커니즘
수영하는 두루미
수영하는 두루미
한국체육대학교에서 스포츠 AI빅데이터를 공부하고 있습니다. B.S. Computer Science
  • 수영하는 두루미
    두루미의 스포츠 데이터분석실
    수영하는 두루미
  • 전체
    오늘
    어제
    • 분류 전체보기 (94)
      • 스포츠 AI·빅데이터(2024~) (21)
        • 2024-2 (0)
        • 빅데이터기반 스포츠경기분석 (10)
        • 스포츠와 소셜텍스트분석 (4)
        • 영상기반 데이터 수집기법 (3)
        • 2025-1 (0)
        • 스포츠와 AI 모델링 기초 (0)
        • 스포츠와 프로그램 코딩(Python) (0)
        • 운동역학 (0)
        • 2025-2 (0)
        • 스포츠 AI빅데이터 연구 세미나 (1)
        • 스포츠 딥러닝 (0)
        • 운동생리학 (0)
        • etc. (0)
      • Data (13)
        • ADsP (1)
        • SQLD (1)
        • 빅데이터분석기사 (4)
        • ADP(데이터분석 전문가) (5)
        • 키다리아저씨(2021.12.05~) (2)
        • 파이썬 자격과정(2021.07.22-23) (0)
      • 정보처리기사 (1)
      • CSTS (10)
      • 블록체인과 암호화폐 (0)
        • 블록체인 (0)
      • Algorithm (44)
        • 백준 (42)
        • 자료구조 (2)
      • CSOS (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    스포츠ai빅데이터
    스포츠데이터분석
    한체대
    알고리즘
    백준
    경험기반테스트
    빅데이터분석기사
    자료구조
    명세기반테스트
    C언어
    스포츠데이터
    csts
    한체대대학원
    스포츠빅데이터
    데이터분석
    구조기반테스트
    Python
    동적테스트
    정적테스트
    heapsort
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
수영하는 두루미
9-1. Python으로 상관분석하기 (t검정)
상단으로

티스토리툴바