모집단을 모두 조사하면 정확한 값을 얻을 수 있지만 비용이 많이 소모 되기 때문에 이 경우 대표성이 있는 샘플로 표본집단을 추출하여 추론하게된다.
추론통계를 통해 표본으로 부터 모집단을 추정할때 분포라는 개념을 쓰게 된다.
분포는 데이터가 특정값을 중심으로 흩어진 형태를 나타내는데 데이터의 형태에 따라 다양하게 나타난다.
rvs함수: Random Variated Sampling의 약자로 표본데이터를 사용하는 기능으로 사용( Numpy.random 모듈과 같은 존재)from scipy.stats import uniform
# 균등 분포 생성 (예시: 0에서 1 사이)
uniform_dist = uniform.rvs(size=10, loc=0, scale=1)
# 결과 출력 (선택 사항)
uniform_dist
from scipy.stats import bernoulli
# p는 성공 확률 (0과 1 사이)
p = 0.5
# size는 생성할 샘플의 개수
size = 10
# 베르누이 분포 샘플 생성
samples = bernoulli.rvs(p, size=size)
samples
####
출력결과 : array([0, 0, 0, 0, 0, 1, 1, 0, 1, 1], dtype=int64)
####

pmf함수: Probability Density Function은 확률 밀도 함수로, 특정 값에서 확률을 계산할 때 사용from scipy.stats import binom
# n: 시행 횟수 (3명)
# p: 성공 확률 (클릭 확률, 0.5로 가정)
# k: 성공 횟수 (클릭한 유저 2명 나올 경우)
n = 3
p = 0.5
k = 2
# 이항 분포 확률 계산
probability = binom.pmf(k, n, p)
probability
norm.cdfcdf함수: Cumulative Distribution Function 누적분포함수로, 특정 K값 이하의 확률을 계산할때 사용from scipy.stats import norm
# 1380점에 대한 백분율 계산
percentile = norm.cdf(1380, loc=1150, scale=150) * 100
print(f"SAT 점수 1380점의 백분율은 약 {percentile:.2f}% 입니다.")
점수가 주어졌을때 백분율을 구할수도 있지만 백분율이 주어졌을때 점수를 구할수도 있다.
- ppf함수: percent point function cdf의 역함수로 백분율을 알때 거꾸로 x값 구할때 사용
- pdf함수: Probability density function(확률밀도함수) 특정위치의 확률을 구할수 있다.
import scipy.stats as stats
stats.norm.ppf(0.937, loc = 1150, scale= 150)
import scipy.stats as stats
stats.norm.pdf(x = 1380, loc = 1150, scale = 150)
왜도와 첨도
- 왜도(skewness): 확률의 비대칭 정도를 나타내는 측도로 결제 금액이나 월급 같은 수치가 right skewness특성을 띈다.( 긴꼬리 분포라고도 함)

- 첨도(kurtosis): 종모양의 뾰족한 정도를 나타내는 측도로 첨도가 정규분포보다 높으면 이상치가 많고 낮으면 이상치가 적다.

표준정규분포: 평균 = 0, 분산 = 1 인 정규분포로 모든 데이터에 대해 정규화를 수행한것인데 모든 Z값에 대해 계산해놓은 표준정규분포표가 존재한다.
