😏 Expectation
기댓값에 대해서 알아보고, 파이썬을 통해서 간단한 예제 문제를 풀도록 하겠습니다.
파이썬 문제는 https://wikidocs.net/165635를 참고했습니다.
문제
이항 분포Binomial distribution들에 대해, 주어진 모수parameter를 가지고 모든 가능한 경우의 수의 확률을 구하고, 이를 토대로 평균mean과 분산variance이라는 기댓값을 구해보세요. 베이스라인의 code here 을 채우세요.
베이스라인
from scipy.stats import binom
def binom_exp(n, p):
'''
이항 분포에 대해, 주어진 모수를 가지고 모든 가능한 경우의 수의 확률을 구하고,
이를 토대로 평균과 분산이라는 기댓값을 구해보자
'''
xs = # code here
probs = # code here
mean = # code here
var = # code here
print(f"Mean of Binom({n}, {p}): {mean:.2f}")
print(f"Variance of Binom({n}, {p}): {var:.2f}")
Input
binom_exp(10, .2)
binom_exp(3, .9)
binom_exp(200, .05)
binom_exp(200, .5)
Output
CopyBinom(10, 0.2)의 평균: 2.00
Binom(10, 0.2)의 분산: 1.60
Binom(3, 0.9)의 평균: 2.70
Binom(3, 0.9)의 분산: 0.27
Binom(200, 0.05)의 평균: 10.00
Binom(200, 0.05)의 분산: 9.50
Binom(200, 0.5)의 평균: 100.00
Binom(200, 0.5)의 분산: 50.00
베이스라인 (정답 - 더보기 클릭)
더보기
from scipy.stats import binom
def binom_exp(n, p):
'''
이항 분포에 대해, 주어진 모수를 가지고 모든 가능한 경우의 수의 확률을 구하고,
이를 토대로 평균과 분산이라는 기댓값을 구해보자
'''
## xs >> 가능한 성공 횟수의 범위니까. 이항분포에서는 0에서 n까지니까. 0에서 n까지 나타내려면 range로 할수밖에
xs = range(n + 1)
## 각 성공 횟수에 대한 확률 계산식으로. 성공횟수 k에 대한 계산 과정.
probs = [binom.pmf(k, n, p) for k in xs]
mean = binom.mean(n, p) ## 이항분포에서 기대값(평균)은 E[X] = np 형태
var = binom.var(n, p) ## 이항분포에서의 분산은 Var(X) = np(1-p)의 형태, 평균에서의 변동정도를 나타냄.
## 즉 확률분포가 평균 주위에 얼마나 퍼져있는지 확인이 가능. p가 작거나 큰경우에 분산이 적어질수 있음.
print(f"Binom의 ({n}, {p})의 평균: {mean:.2f}")
print(f"Binom({n}, {p})의 분산: {var:.2f}")
## input 변경으로 확인 해본 결과. probability가 작을수록(0에 가까울수록) 평균과 분산의 차이가 적어짐을 확인 할 수 있었다.
## 그와 반대로 probability가 1에 가까울수록 분산의 경우에 값이 매우 적어짐을 확인 했다.
기댓값과 분산에 대하여
기댓값이란?
말그대로 기대되는 평균 결과를 뜻합니다. 어떤 확률적인 사건이 발생하였을 경우에 우리가 기대하는 값을 말하는데, 예를 들어 동전을 100번 토스했을 때 앞면이 나오는 횟수를 대략 50번 정도로 기대하는 것을 기댓값의 기본적인 개념이라고 볼 수 있습니다.
분산이란?
데이터가 평균값에서 얼마나 흩어져 있는지 나타내는 값입니다. 즉, 기댓값을 기준으로 값들이 얼만큼 퍼져있는지를 나타낸다고 볼 수 있습니다.
기대값은 평균뿐만 아닌 분포의 퍼짐 정도(분산), 비대칭 정도(왜도), 뾰족한 정도(첨도)등 다양한 형태로 나타 낼 수 있고, 어떤 함수를 정의 함에 따라서 다양한 기댓값을 기대 할 수 있습니다.
기댓값에 대한 수식
$$ E[g(x)] = \int g(x) f(x) dx $$
는 임의의 함수, 는 확률변수 의 확률 분포 함수(pdf 또는 pmf)입니다.
평균과 분산의 기댓값 표현
- 평균: 가 항등 함수, 즉 일 때 기댓값은 평균과 같습니다.
$$ E[x] = \int x f(x) dx $$ - 분산: 가 일 때 기댓값은 분산과 같습니다.
$$ E[(x - E[x])^2] = \int (x - E[x])^2 f(x) dx $$
상수의 기댓값
확률 변수가 아닌 상수의 기댓값은 그 상수 자체입니다.
$$ \begin{aligned} E[c] &= \int c f(x) dx \\ &= c \int f(x) dx \\ &= c \end{aligned} $$
'공부 > 파이썬을 통한 기초통계학' 카테고리의 다른 글
Independence, 독립 (0) | 2025.03.13 |
---|---|
Negative binomial distribution, 음이항 분포 (0) | 2025.02.27 |
Approximation, 근사 (0) | 2025.02.25 |
Standardization(표준화), Normalization(정규화) (0) | 2025.02.24 |
Poisson Distribution, 포아송 분포 (0) | 2025.02.20 |