隨機變數

隨機變數,顧名思義,他是一個變數而且是隨機的。每次出現的值都不一樣,而且無法百分之百確定下一次會出現什麼值。

定義

給定隨機變數 \(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}