[확률] 7.2 기댓값과 확률변수의 변환

JKH·2024년 11월 13일
0

확률

목록 보기
7/25

✏️ 데이터 사이언스 스쿨에서 공부한 내용입니다.

표본평균, 표본분산 등은 현실세계의 데이터 분포의 모양을 서술하는 특성값이다. 이제부터는 이론적인 확률분포함수의 모양을 서술하는 특성값을 살펴본다. 우선 기댓값부터 공부한다. 기댓값은 표본평균처럼 분포의 위치를 알려주는 특성값이지만 확률분포의 가중합이나 가중적분으로 정의한다.

확률변수의 기댓값

확률변수의 확률밀도함수를 알면 확률변수의 이론적 평균값을 구할 수 있다. 이러한 이론적 평균을 확률변수의 기댓값(expectation) 이라고 한다. 단순히 평균(mean)이라고 말하기도 한다. 확률변수 XX의 기댓값을 구하는 연산자(operator)는 영어 Expectation의 첫 글자를 사용하여 E[X]\text{E}[X]로 표기한다. 기댓값은 그리스 문자 μX\mu_X로 표기한다.

이산확률변수의 기댓값은 표본공간의 원소 xix_i의 가중평균이다. 이때 가중치는 xix_i가 나올 수 있는 확률 즉 확률질량함수 p(xi)p(x_i)이다.

μX=E[X]=xiΩxip(xi)(7.2.1)\mu_X = \text{E}[X] = \sum_{x_i \in \Omega} x_ip(x_i) \tag{7.2.1}

연속확률변수의 기댓값은 확률밀도함수 p(x)p(x)를 가중치로 하여 모든 가능한 표본 xx를 적분한 값이다.

μX=E[X]=xp(x)dx(7.2.5)\mu_X = \text{E}[X] = \int_{-\infty}^{\infty} x p(x) dx \tag{7.2.5}

기댓값은 여러 가능한 xx값을 확률(또는 확률밀도)값에 따라 가중합을 한 것이므로 가장 확률(또는 확률밀도)이 높은 xx값 근처의 값이 된다. 즉, 확률(또는 확률밀도)가 모여 있는 곳의 위치를 나타낸다.

예제

공정한 주사위에서 나올 수 있는 숫자를 대표하는 확률변수 XX는 나올 수 있는 값이 1, 2, 3, 4, 5, 6 이므로,

μX=1p(1)+2p(2)+3p(3)+4p(4)+5p(5)+6p(6)=116+216+316+416+516+616=72(7.2.2)\begin{aligned} \mu_X &= 1 \cdot p(1) + 2 \cdot p(2) + 3 \cdot p(3) + 4 \cdot p(4) + 5 \cdot p(5) + 6 \cdot p(6) \\ &= 1 \cdot \dfrac{1}{6} + 2 \cdot \dfrac{1}{6} + 3 \cdot \dfrac{1}{6} + 4 \cdot \dfrac{1}{6} + 5 \cdot \dfrac{1}{6} + 6 \cdot \dfrac{1}{6} \\ &= \dfrac{7}{2} \end{aligned} \tag{7.2.2}

예제

공정하지 않은 주사위, 예들 들어 짝수가 나올 확률이 홀수가 나올 확률의 2배인 주사위에서 기댓값을 구하면 다음과 같다.

μX=1p(1)+2p(2)+3p(3)+4p(4)+5p(5)+6p(6)=119+229+319+429+519+629=113(7.2.3)\begin{aligned} \mu_X &= 1 \cdot p(1) + 2 \cdot p(2) + 3 \cdot p(3) + 4 \cdot p(4) + 5 \cdot p(5) + 6 \cdot p(6) \\ &= 1 \cdot \dfrac{1}{9} + 2 \cdot \dfrac{2}{9} + 3 \cdot \dfrac{1}{9} + 4 \cdot \dfrac{2}{9} + 5 \cdot \dfrac{1}{9} + 6 \cdot \dfrac{2}{9} \\ &= \dfrac{11}{3} \end{aligned} \tag{7.2.3}

연습 문제 7.2.1

공정한 동전이 있고 이 동전의 앞면이 나오면 1, 뒷면이 나오면 0인 확률변수 XX가 있다. 이 확률변수의 기댓값 E[X]\text{E}[X]을 구하라.

✏️ 0.5

연습 문제 7.2.2

기댓값을 구하는 공식에서는 확률을 가중치로 곱한다. 그런데 왜 표본평균을 구하는 공식에서는 확률 가중치가 없는가?

✏️ 샘플링 될 확률은 모두 동등하다고 보고, sample을 모두 더해 총 개수로 나눈다.

예제

회전하는 원반을 이용하여 복권 번호를 결정하는 문제에서 확률밀도함수 p(x)p(x)와 여기에서 xx가 곱해진 함수 xp(x)xp(x)의 모양은 다음과 같다. 기댓값은 이 함수 xp(x)xp(x)를 적분하여 구한 삼각형처럼 생긴 함수의 면적이다.

E[X]=xp(x)의 면적=123601=180(7.2.6)E[X] = xp(x)\text{의 면적} = \dfrac{1}{2} \cdot 360 \cdot 1 = 180 \tag{7.2.6}
x = np.linspace(-100, 500, 1000)
p = np.zeros_like(x)
p[(0 < x) & (x <= 360)] = 1 / 360
xp = x * p

plt.subplot(121)
plt.plot(x, p)
plt.xticks([0, 180, 360])
plt.title("$p(x)$")
plt.xlabel("$x$ (도)")

plt.subplot(122)
plt.plot(x, xp)
plt.xticks([0, 180, 360])
plt.title("$xp(x)$")
plt.xlabel("$x$ (도)")

plt.show()

만약 0도에서 180도 사이에 화살이 2배 더 잘 박히도록 원반이 조작되었다면 확률밀도함수 p(x)p(x)와 여기에서 xx가 곱해진 함수 xp(x)xp(x) 모양은 다음과 같다. 기댓값은 이 함수 xp(x)xp(x)를 적분하여 구한 함수의 면적이다.

x = np.linspace(-100, 500, 1000)
p = np.zeros_like(x)
p[(0 < x) & (x <= 180)] = 2 / (3 * 360)
p[(180 < x) & (x <= 360)] = 1 / (3 * 360)
xp = x * p

plt.subplot(121)
plt.plot(x, p)
plt.xticks([0, 180, 360])
plt.title("$p(x)$")
plt.xlabel("$x$ (도)")

plt.subplot(122)
plt.plot(x, xp)
plt.xticks([0, 180, 360])
plt.title("$xp(x)$")
plt.xlabel("$x$ (도)")\

plt.show()

연습 문제 7.2.3

확률변수 YY는 0도에서 180도 사이에 화살이 2배 더 잘 박히도록 조작된 원반을 이용하여 복권 번호를 결정하는 문제에서 나오는 각도다. 확률변수 YY의 기댓값 E[Y]\text{E}[Y]를 구하라.

✏️
직관적으로, 상판의 평균 90도와 하판의 평균 270도가 2:1 비율로 나올 것이다.
따라서 기댓값은 (90+90+270)/3 = 150도

적분을 사용해 정의대로 풀자면, 상수함수 p1(x),p2(x)p_1(x), p_2(x)에 대해
0180p1(x)dx=2180360p2(x)dx\int_{0}^{180} p_1(x) dx = 2 \int_{180}^{360} p_2(x) dx 이고
0180p1(x)dx+180360p2(x)dx=1\int_{0}^{180} p_1(x) dx + \int_{180}^{360} p_2(x) dx = 1 이므로 p2 = 1/540, p1 = 1/270
따라서 기댓값은 0180xp1(x)dx+180360xp2(x)dx=1802/540+(36021802)/1080\int_{0}^{180} xp_1(x) dx+\int_{180}^{360} xp_2(x) dx = 180^2/540 + (360^2 - 180^2)/1080

계산기로 검증:

직관적으로 계산한 값과 같다.

확률변수의 변환

기존의 확률변수를 사용하여 새로운 확률변수를 만드는 것을 확률변수의 변환(transform) 이라고 한다. 함수 ff를 사용해 확률변수를 변환할 때는 다음처럼 표기한다.

Y=f(X)(7.2.8)Y = f(X) \tag{7.2.8}

연습 문제 7.2.4

확률변수 XX는 주사위를 던져 나오는 수를 나타내는 확률변수다. 그리고 YY는 주사위를 던져나오는 수에 2배를 한 수를 나타내는 확률변수다. XX, YY의 확률질량함수의 그래프를 각각 그려라.

✏️

import matplotlib.pyplot as plt
import numpy as np

# 주사위 던져 나오는 수 X의 확률 질량 함수
x_values = np.arange(1, 7)
x_probabilities = np.full(6, 1/6)

plt.figure(figsize=(10, 5))
plt.subplot(1, 2, 1)
plt.stem(x_values, x_probabilities)  
plt.title("Probability Mass Function of X")
plt.xlabel("X")
plt.ylabel("P(X)")
plt.xticks(x_values)

# 주사위 던져 나오는 수의 2배 Y의 확률 질량 함수
y_values = 2 * x_values
y_probabilities = np.full(6, 1/6)

plt.subplot(1, 2, 2)
plt.stem(y_values, y_probabilities)  
plt.title("Probability Mass Function of Y")
plt.xlabel("Y")
plt.ylabel("P(Y)")
plt.xticks(y_values)

plt.tight_layout()
plt.show()

연습 문제 7.2.5

확률변수 X1X_1X2X_2는 각각 주사위를 던져 나오는 수를 나타내는 확률변수다. 그리고 YY는 두 주사위를 동시에 던져 나오는 수의 합을 나타내는 확률변수다. 확률변수 X1X_1, X2X_2, YY의 확률질량함수의 그래프를 각각 그려라.

✏️
X1, X2의 확률질량함수는 연습문제 7.2.4에서 구한 X의 확률질량함수와 같으므로 생략한다.
Y는 2부터 12까지 값을 가질 수 있으며, 순서대로 각 확률의 분모는 36이고 분자는 1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1 이다.

import matplotlib.pyplot as plt
import numpy as np

# 확률변수 Y (두 주사위의 합)의 확률 질량 함수
y_values = np.arange(2, 13)  # 가능한 합의 범위
y_probabilities = np.zeros_like(y_values, dtype=float)

for i in range(1, 7):
    for j in range(1, 7):
        y_sum = i + j
        y_probabilities[y_sum - 2] += 1  # 해당 합의 빈도를 증가

y_probabilities /= 36 # 전체 경우의 수로 나누어 확률 계산

plt.stem(y_values, y_probabilities)
plt.title("Probability Mass Function of Y (Sum of Two Dice)")
plt.xlabel("Y (Sum)")
plt.ylabel("P(Y)")
plt.xticks(y_values)
plt.show()

기댓값의 성질

  • 상수 cc에 대해
E[c]=c(7.2.12)\text{E}[c] = c \tag{7.2.12}
  • 선형성
E[c1X+c2Y]=c1E[X]+c2E[Y](7.2.15)\text{E}[c_1X + c_2Y] = c_1\text{E}[X] + c_2\text{E}[Y] \tag{7.2.15}

통계량

확률변수 XX로부터 데이터 집합 {x1,x2,,xN}\{ x_1, x_2, \ldots, x_N \}을 얻었다고 하자. 이 데이터 집합의 모든 값을 정해진 어떤 공식에 넣어서 하나의 숫자를 구한 것을 통계량(statistics) 이라고 한다. 예를 들어 표본의 합, 표본평균, 표본중앙값, 표본분산 등은 모두 통계량이다. 통계량도 확률변수의 변환에 포함된다.

표본평균 확률변수

확률변수로부터 NN개의 표본을 만들어 이 표본집합의 표본평균을 구하면 이렇게 구한 표본평균 값도 확률변수가 된다. 표본평균 확률변수는 원래의 확률변수 이름에 윗줄(bar)을 추가하여 Xˉ\bar{X}와 같이 표기한다. 예를 들어 확률변수 XX에서 나온 표본으로 만들어진 표본평균 확률변수는 Xˉ\bar{X}로 표기한다.

Xˉ=1Ni=1NXi(7.2.16)\bar{X} = \dfrac{1}{N}\sum_{i=1}^{N} X_i \tag{7.2.16}

연습 문제 7.2.6

표본평균 xˉ\bar{x}의 값은 확률적인 데이터이고 이를 생성하는 확률변수 Xˉ\bar{X}는 위와 같이 정의할 수 있었다. 그렇다면 (편향)표본분산 s2s^2의 값은 확률적인 데이터인가? 만약 그렇다면 이를 생성하는 확률변수 S2S^2은 어떻게 정의해야 하는가?

✏️ 확률변수 XX에서 NN개의 표본 X1,X2,...,XNX_1, X_2, ..., X_N을 뽑아 표본평균이라는 새로운 확률변수 Xˉ=1Ni=1NXi\bar{X} = \dfrac{1}{N}\sum_{i=1}^{N} X_i 를 정의했고, 이를 이용해 편차 제곱의 평균을 계산하면 표본분산이라는 새로운 확률변수 S2=1Ni=1N(XiXˉ)2S^2 = \dfrac{1}{N}\sum_{i=1}^{N} (X_i-\bar{X})^2 를 정의할 수 있다. 이 값은 표본이 어떻게 선택되느냐에 따라 달라지기 때문에 확률적인 데이터이다.

기댓값과 표본평균의 관계

E[Xˉ]=E[X](7.2.17)\text{E}[ \bar{X} ] = \text{E}[X] \tag{7.2.17}

표본평균의 평균은 확률변수의 기댓값과 같으므로 표본평균은 확률변수의 기댓값 근처의 값이 된다.

중앙값

확률변수의 중앙값(median)은 중앙값보다 큰 값이 나올 확률과 작은 값이 나올 확률이 0.5로 같은 값을 뜻한다. 따라서 다음과 같이 누적확률분포 F(x)F(x)에서 중앙값을 계산할 수 있다.

0.5=F(중앙값)(7.2.19)0.5 = F(\text{중앙값}) \tag{7.2.19}
중앙값=F1(0.5)(7.2.20)\text{중앙값} = F^{-1}(0.5) \tag{7.2.20}

최빈값

이산확률분포에서는 가장 확률 값이 큰 수를 최빈값(most frequent value) 이라고 한다. 하지만 연속확률분포인 경우에는 어느 값에 대해서나 특정한 값이 나올 확률은 0(zero)이므로 연속확률분포의 최빈값(mode)은 확률밀도함수 p(x)p(x)의 값이 가장 큰 확률변수의 값으로 정의한다. 즉 확률밀도함수의 최댓값의 위치다.

최빈값=argmaxxp(x)(7.2.21)\text{최빈값} = \arg \max_x p(x) \tag{7.2.21}
profile
Connecting my favorite things

0개의 댓글