scipy.stats
소개
scipy.stats
모듈은 SciPy의 가장 유용한 구성 요소 중 하나입니다.
확률분포, 통계적 검정, 요약 통계 등 다양한 통계 분석 도구를 제공합니다.
준비하기
먼저 필요한 모듈을 임포트합니다.
NumPy와 SciPy Stats 임포트
import numpy as np
from scipy import stats
예시 1: 요약 통계
scipy.stats
를 사용하면 평균, 중앙값, 최빈값 같은 요약 통계를 계산할 수 있습니다.
요약 통계
data = [5, 7, 8, 7, 2, 17, 2, 9, 4, 11]
mean = np.mean(data)
median = np.median(data)
mode = stats.mode(data, keepdims=True)
print("Mean:", mean)
print("Median:", median)
print("Mode:", mode.mode[0], "Frequency:", mode.count[0])
이 예시에서는 주어진 데이터셋의 평균, 중앙값, 최빈값을 계산합니다.
예시 2: 가설 검정
scipy.stats
로 단일 표본 t-검정을 수행할 수 있습니다.
단일 표본 t-검정
# 데이터의 평균이 5와 크게 다른지 검정
t_stat, p_value = stats.ttest_1samp(data, 5)
print("t-statistic:", t_stat)
print("p-value:", p_value)
p-value
가 0.05
보다 작으면 처음 세운 가설을 기각하고, 평균이 5
와 크게 다르다고 결론짓습니다.
예시 3: 확률분포
scipy.stats
를 사용해 정규분포의 확률밀도함수(PDF)를 생성할 수 있습니다.
정규분포 PDF
x = np.linspace(-3, 3, 100)
pdf = stats.norm.pdf(x, loc=0, scale=1)
print("PDF 값 5개:", pdf[:5])
이 예시에서는 평균 0
, 표준편차 1
인 정규분포의 PDF를 생성합니다.
핵심 요약
파이썬에서 통계 분석을 할 때 scipy.stats
는 가장 먼저 떠올릴 수 있는 표준 도구입니다. 다음과 같은 기능을 제공합니다.
- 요약 통계
- 가설 검정
- 확률분포
다음 내용이 궁금하다면?
코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!