隨機變數¶
隨機變數,顧名思義,他是一個變數
而且是隨機
的。每次出現的值都不一樣,而且無法百分之百確定下一次會出現什麼值。
定義
給定隨機變數 \(X\) ,需滿足 \(X: \mathcal{S} \rightarrow \mathbb{R}\) ,其中 \(\mathcal{S}\) 為樣本空間, \(\mathbb{R}\) 為實數域。
從定義上來看,只要有一個函數 \(X\) 能夠把樣本空間 \(\mathcal{S}\) 中的事件映射到實數域上, \(X\) 就能被稱作隨機變數。
以擲骰子為例,隨機變數 \(X\) 為骰子擲出的點數
,其中:
\(X(擲出1) = 1\)
\(X(擲出2) = 2\) …以此類推
我們可以把骰子擲出點數N
的事件映射到 \(\{1, 2, 3, 4, 5, 6\}\) ,因此符合隨機變數的定義。
一些隨機變數的範例:
隨機變數 \(X\) 為
兩個骰子數字的加總
,樣本空間 \(\mathcal{S} = \{(1, 1), (1, 2), ..., (6, 6)\}\) 能夠被映射到 \(\{2, 3, ..., 12\}\) ,兩個骰子的加總最小為2,最大為12。隨機變數 \(X\) 為
投擲兩次公正銅板出現正面的次數
,樣本空間 \(\mathcal{S} = \{(T, T), (H, T), (T, H), (H, H)\}\) 能夠被映射到 \(\{0, 1, 2\}\),其中 \(T\) 為 \(Tail\) , \(H\) 為 \(Head\)。隨機變數 \(X\) 為
過兩個路口遇到紅燈的次數
,樣本空間 \(\mathcal{S} = \{(R, R), (Y, Y), (G, G), (R, Y), (R, G), ..., (G, G)\}\) 能夠被映射到 \(\{0, 1, 2\}\),\(R\)、\(Y\)、\(G\) 分別為紅燈、黃燈、綠燈。
下面是一些程式碼的範例
# 連續投擲公正銅板兩次,出現正面的次數
from typing import Tuple
# 樣本空間
S = {('T', 'T'), ('H', 'T'), ('T', 'H'), ('H', 'H')}
# X: S -> R
def X(event: Tuple[str, str]) -> int:
'''隨機變數 - 連續投擲公正銅板兩次,出現正面的次數
Args:
event (Tuple[str, str]): 樣本點
Returns:
head (int): 出現正面的次數
'''
head = 0
for trial in event:
if trial == 'H':
head += 1
return head
# 將樣本空間映射
S_new = {X(event) for event in S}
# 印出隨機變數的所有可能
S_new
{0, 1, 2}
# 連續投擲兩次骰子,加總的數字
from typing import Tuple
from itertools import product
# 樣本空間
S = {event for event in product(range(1, 7), repeat=2)}
# X: S -> R
def X(event: Tuple[int, int]) -> int:
'''隨機變數 - 連續投擲兩次骰子的點數加總
Args:
event (Tuple[int, int]): 連續投擲兩次骰子分別出現的點數
Returns:
total (int): 點數加總
'''
return sum(event)
# 將樣本空間映射
S_new = {X(event) for event in S}
# 印出隨機變數的所有可能
S_new
{2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}