기대값과 분산

매일 공부(ML)·2022년 5월 13일
0

이어드림

목록 보기
42/146

기대값(Expectation, Expected Value

  • 확률변수의 평균

  • 이상적인 기대값 계산 방법

    • 확률 변수를 무제한으로 시행하여 얻어진 실현값의 평균
  • 이산형 확률변수의 평균(기대값)

    • 확률변수가 취할 수 있는 ㄱ밧과 그 확률의 곱의 총합 정의

    • sum of xk x f(xk)

  • 기대값이 기호로 표현될 때 E(X)라는 표기 주로 사용

  • 2X+3 으로 변환한 확률변수 Y의 기대값

    • 기대값은 xk라는 값을 그대로 2xk + 3으로 치환 후 정의

    • E(Y) = E(2X+3) = sum of (2xk+3)f(xk)

    • 확률 변수 X가 변환된 함수 g(X)의 기대값

      • E(g(X) = sum of g(xk)f(xk)

기대값의 선형성

  • a,b를 실수, X를 확률변수라고 한다.

    • E(aX+b) = aE(X) + b
  • E(2X+3) = 2E(X)+3

분산

  • 편차 제곱의 기대값

    • V(X) = sum of (xk-E(X)) ^ 2 f(xk)
  • 분산은 기호로 시그마를 사용하고, 시그마 제곱이나 V(X)로 표기

  • 시그마는 확률변수 X의 표준편차를 나타낸다.


분산의 선형성

  • a,b를 실수, X를 확률변수라하면 V(aX+b) = a^2V(X)

  • 결과: V(2X+3) = 4*V(X)


Code

#확률 p_k = p(x_k) 계산
prob = np.array([f(x_k) for x_k in x_set])

#x_k와 p_k의 대응을 사전식으로 표시
dic_k = dict(zip(x_set, prob))
dic_k
{1: 0.048, 2: 0.095, 3: 0.143, 4: 0.190, 5: 0.238, 6: 0.286}
#확률 정의
np.all(prob >=0)
True
np.sum(prob)
1.000
## 기대값(Expectation, Expected Value)

np.sum([x_k * f(x_k) for x_k in x_set])
4.333
#무작위
sample = np.random.choice(x_set, int(1e6), p=prob)
np.mean(sample)
4.332
#변환된 확률변수 g(X)의 기대값
def E(X, g=lambda x: x):
    x_set, f=X
    return np.sum([g(x_k) * f(x_k) for x_k in x_set])
E(X)
4.333
E(X, g=lambda x: 2*x+3)
11.667
#기대값의 선형성
E(X, g=lambda x: 2*x+3)
11.667
2*E(X) + 3
11.667
#분산
mean = E(X)
np.sum([(x_k-mean) **2 *f(x_k) for x_k in x_set])

2.222
#변환된 확률변수의 분산

def V(X, g = lambda x:x):
    x_set, f=X
    mean = E(X,g)
    return np.sum([(g(x_k)- mean) **2 * f(x_k) for x_k in x_set])
#g(X) =X
V(X)
2.222
#g(X) = 2X + 3
V(X, lambda x: 2*x + 3)
# 2**@ * V(X)
8.889
profile
성장을 도울 아카이빙 블로그

0개의 댓글