设 `(Omega, cc F, P)` 是概率空间. 随机变量定义为样本空间 `Omega` 上的实函数 `xi: Omega to RR`, 且满足: `xi^-1((t, oo)) in cc F`, `quad AA t in RR`. 这就是说, 对任意 Borel 集 `B sube RR`, 原像 `xi^-1(B) = { omega in Omega: xi(omega) in B }` 是一个事件. 尽管 `xi` 不是一个实数, 但出于习惯, 我们把这个事件简记为 `{ xi in B }`, 它的概率记为 `P(xi in B)`. 如 `P(xi = 1)`, `P(xi gt 100)`, `P(-10 le xi lt 10)` 等概率都是有定义的.
随机变量可类比于实变函数中的可测函数.
[来自群友 QAQ] 假设有 `n` 种不同的赠券, 每盒麦片内附有其中的一张赠券. 假定每盒麦片中的赠券是从 `n` 种可能中独立且均匀随机选取的. 要集齐所有类型的赠券 (也就是每种至少一张), 期望需要购买多少盒麦片?
假设已经集齐 `n-k` 张, 还差 `k` 张没有收集, 这时期望再收集 `f(k)` 张才能集齐. 于是 `f(0) = 0`, `f(k) = 1 + k/n f(k-1) + (n-k)/n f(k)`, 求解 `f(k)` 即可. 上式化简得 `f(k) = n/k + f(k-1)`, 所以 `f(n) = n/1 + n/2 + cdots + n/n`.
[来自 chatgpt (注: 不是原话)] 假设已有 `k-1` 张赠券. 为了收集到第 `k` 张赠券, 需购买的麦片盒数为随机变量 `X_k`. 问题化为求 `E(sum X_k)`. 由于随机变量和的期望等于期望的和, 这不依赖它们的独立性, 我们有 `E(sum X_k) = sum E(X_k) = sum n/k`.
# 假设店家开始有 N 件衣服, 不进货, 卖完为止. # 从营业开始到卖完总共有 M 次试穿, 顾客的试穿发生在 M 次中的任意一次是等可能的. # 每次试穿时, 按均匀分布从剩下的衣服中取出一件. # 每次顾客试穿衣服后都有 0.2 的概率买下它. # 把每次顾客试穿时是第几个试穿者记下来, 然后取平均. from random import randint, sample def trial(N): store = list(range(N)) # 衣服编号 0 到 N-1 try_count = [0 for i in range(N)] # 试穿计数 while len(store) > 0: i = sample(range(len(store)), 1)[0] # 按均匀分布取出一件衣服 item_id = store[i] try_count[item_id] += 1 # 试穿 if randint(1, 5) == 1: store.pop(i) # 买下 return sum(n*(n+1)/2 for n in try_count) / sum(try_count) # 50 件衣服, 重复模拟 100 次 res = sum(trial(50) for i in range(100)) / 100 print(res) # 结果接近 5
[1]: 按数学期望的定义, 这个期望值并不存在.