Python에서 기대값을 계산하는 방법(예제 포함)


확률 분포는 임의 변수가 특정 값을 취할 확률을 알려줍니다.

예를 들어, 다음 확률 분포는 특정 축구팀이 특정 경기에서 특정 수의 골을 넣을 확률을 알려줍니다.

확률 분포의 기대값을 찾으려면 다음 공식을 사용할 수 있습니다.

µ = Σx * P(x)

금:

  • x: 데이터 값
  • P(x): 가치의 확률

예를 들어, 축구팀의 예상 골 수는 다음과 같이 계산됩니다.

μ = 0*0.18 + 1*0.34 + 2*0.35 + 3*0.11 + 4*0.02 = 1.45 골.

Python에서 확률 분포의 기대값을 계산하기 위해 간단한 함수를 정의할 수 있습니다.

 import numpy as np

def expected_value(values, weights):
    values = np. asarray (values)
    weights = np. asarray (weights)
    return (values * weights). sum ()/weights. sum ()

다음 예에서는 이 기능을 실제로 사용하는 방법을 보여줍니다.

예: Python에서 기대값 계산

다음 코드는 앞서 정의한 Expected_value() 함수를 사용하여 확률 분포의 기대값을 계산하는 방법을 보여줍니다.

 #define values
values = [0, 1, 2, 3, 4]

#define probabilities
probs = [.18, .34, .35, .11, .02]

#calculate expected value
expected_value(values, probs)

1.450000

기대값은 1.45 입니다. 이는 이전에 수동으로 계산한 값과 일치합니다.

값 배열과 확률 배열의 길이가 같지 않으면 이 함수는 오류를 반환합니다.

예를 들어:

 #define values
values = [0, 1, 2, 3, 4]

#define probabilities
probs = [.18, .34, .35, .11, .02, .05, .11]

#attempt to calculate expected value
expected_value(values, probs)

ValueError : operands could not be broadcast together with shapes (5,) (7,) 

첫 번째 배열의 길이는 5 이고 두 번째 배열의 길이는 7 이기 때문에 오류가 발생합니다.

이 기대값 함수가 작동하려면 두 배열의 길이가 동일해야 합니다.

추가 리소스

다음 튜토리얼에서는 Python에서 다른 측정항목을 계산하는 방법을 설명합니다.

Python에서 절사 평균을 계산하는 방법
Python에서 기하 평균을 계산하는 방법
Python에서 평균의 표준 오차를 계산하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다