🎯 Mục tiêu bài học
Sau bài học này, bạn sẽ:
✅ Hiểu Random Variable và Distribution
✅ Nắm vững Binomial Distribution
✅ Hiểu và áp dụng Poisson Distribution
✅ Tính Expected Value và Variance
Thời gian: 1.5 giờ | Độ khó: Intermediate | Yêu cầu: Bài 06-07
📖 Bảng Thuật Ngữ Quan Trọng
| Thuật ngữ | Tiếng Việt | Mô tả |
|---|---|---|
| Random Variable | Biến ngẫu nhiên | Biến có giá trị theo thí nghiệm |
| PMF | Hàm khối xác suất | P(X=x) cho discrete |
| Expected Value | Kỳ vọng | E(X) = ΣxiP(xi) |
| Bernoulli | Bernoulli | 1 lần thử, 2 kết quả |
| Binomial | Nhị thức | n lần thử Bernoulli |
| Poisson | Poisson | Đếm sự kiện trong khoảng |
| Geometric | Hình học | Chờ đến thành công đầu tiên |
Checkpoint
Binomial: n cố định, đếm thành công. Poisson: đếm sự kiện, Mean=Variance=λ.
🎲 Random Variable
1.1 Định nghĩa
Random Variable (Biến ngẫu nhiên) là biến có giá trị được xác định bởi kết quả của thí nghiệm ngẫu nhiên.
| Loại | Ví dụ |
|---|---|
| Discrete | Số mặt ngửa khi tung xu, số khách hàng |
| Continuous | Chiều cao, cân nặng, thời gian |
1.2 Probability Distribution
Probability Distribution mô tả xác suất của mỗi giá trị có thể xảy ra.
1import numpy as np2import matplotlib.pyplot as plt34# Ví dụ: Tung 2 xúc xắc, X = tổng 2 mặt5outcomes = [(i, j) for i in range(1, 7) for j in range(1, 7)]6sums = [i + j for i, j in outcomes]78# Đếm tần suất9from collections import Counter10freq = Counter(sums)1112# Probability distribution13probs = {k: v/36 for k, v in sorted(freq.items())}14print("P(X=x):", probs)1516# Visualization17plt.bar(probs.keys(), probs.values())18plt.xlabel('Sum of 2 dice')19plt.ylabel('Probability')20plt.title('Probability Distribution')21plt.show()📊 Expected Value và Variance
2.1 Expected Value (Kỳ vọng)
2.2 Variance
2.3 Tính chất
| Tính chất | Công thức |
|---|---|
| E(aX + b) | aE(X) + b |
| Var(aX + b) | a²Var(X) |
| E(X + Y) | E(X) + E(Y) |
| Var(X + Y) | Var(X) + Var(Y) (nếu độc lập) |
2.4 Ví dụ
Tung 1 xúc xắc, X = số chấm:
1import numpy as np23# Expected value của xúc xắc4X = np.array([1, 2, 3, 4, 5, 6])5P = np.array([1/6] * 6)67E_X = np.sum(X * P)8E_X2 = np.sum(X**2 * P)9Var_X = E_X2 - E_X**21011print(f"E(X) = {E_X:.4f}") # 3.512print(f"Var(X) = {Var_X:.4f}") # 2.916713print(f"Std(X) = {np.sqrt(Var_X):.4f}") # 1.7078🧠 Bernoulli Distribution
3.1 Định nghĩa
Thí nghiệm chỉ có 2 kết quả: Success (1) hoặc Failure (0).
3.2 Tính chất
| Thống kê | Công thức |
|---|---|
| E(X) | p |
| Var(X) | p(1-p) = pq |
3.3 Code Python
1from scipy import stats23# Bernoulli với p = 0.34p = 0.35bernoulli = stats.bernoulli(p)67print(f"P(X=0) = {bernoulli.pmf(0):.4f}") # 0.78print(f"P(X=1) = {bernoulli.pmf(1):.4f}") # 0.39print(f"E(X) = {bernoulli.mean():.4f}") # 0.310print(f"Var(X) = {bernoulli.var():.4f}") # 0.21🎯 Binomial Distribution
4.1 Định nghĩa
n lần thí nghiệm Bernoulli độc lập, mỗi lần có xác suất thành công p.
X = số lần thành công
4.2 Tính chất
| Thống kê | Công thức |
|---|---|
| E(X) | np |
| Var(X) | np(1-p) |
| Std(X) |
4.3 Điều kiện áp dụng
- ✅ Số lần thử n cố định
- ✅ Mỗi lần thử độc lập
- ✅ Chỉ có 2 kết quả (Success/Failure)
- ✅ Xác suất thành công p không đổi
4.4 Ví dụ tính tay
Tung đồng xu 10 lần, P(đúng 6 mặt ngửa)?
n = 10, k = 6, p = 0.5
4.5 Code Python
1from scipy import stats2import numpy as np3import matplotlib.pyplot as plt45# Binomial: n=10, p=0.56n, p = 10, 0.57binomial = stats.binom(n, p)89# P(X = 6)10print(f"P(X=6) = {binomial.pmf(6):.4f}")1112# P(X <= 3)13print(f"P(X≤3) = {binomial.cdf(3):.4f}")1415# P(X >= 7)16print(f"P(X≥7) = {1 - binomial.cdf(6):.4f}")1718# E(X) và Var(X)19print(f"E(X) = {binomial.mean():.4f}") # 520print(f"Var(X) = {binomial.var():.4f}") # 2.52122# Visualization23k = np.arange(0, n+1)24plt.figure(figsize=(10, 5))25plt.bar(k, binomial.pmf(k), color='steelblue', edgecolor='black')26plt.xlabel('Number of Successes (k)')27plt.ylabel('P(X = k)')28plt.title(f'Binomial Distribution (n={n}, p={p})')29plt.xticks(k)30plt.show()4.6 Ứng dụng thực tế
Quality Control:
Lô hàng 1000 sản phẩm, tỷ lệ lỗi 2%. Lấy mẫu 50 sản phẩm.
1n, p = 50, 0.022binom = stats.binom(n, p)34# P(không có lỗi)5print(f"P(X=0) = {binom.pmf(0):.4f}")67# P(nhiều nhất 2 lỗi)8print(f"P(X≤2) = {binom.cdf(2):.4f}")910# P(ít nhất 1 lỗi)11print(f"P(X≥1) = {1 - binom.pmf(0):.4f}")Checkpoint
Tung xu 20 lần (p=0.5). E(số mặt ngửa) = ? Var = ?
📈 Poisson Distribution
5.1 Định nghĩa
Đếm số sự kiện xảy ra trong một khoảng thời gian/không gian cố định.
Trong đó: λ (lambda) = số sự kiện trung bình
5.2 Tính chất
| Thống kê | Công thức |
|---|---|
| E(X) | λ |
| Var(X) | λ |
| Std(X) | √λ |
Với Poisson, Mean = Variance = λ
5.3 Điều kiện áp dụng
- ✅ Sự kiện xảy ra độc lập
- ✅ Tỷ lệ xảy ra không đổi
- ✅ Hai sự kiện không xảy ra đồng thời
5.4 Ví dụ
Call center nhận trung bình 4 cuộc gọi/phút. P(nhận đúng 6 cuộc gọi trong 1 phút)?
λ = 4, k = 6
5.5 Code Python
1from scipy import stats2import numpy as np3import matplotlib.pyplot as plt45# Poisson với λ = 46lam = 47poisson = stats.poisson(lam)89# P(X = 6)10print(f"P(X=6) = {poisson.pmf(6):.4f}")1112# P(X <= 3)13print(f"P(X≤3) = {poisson.cdf(3):.4f}")1415# P(X >= 5)16print(f"P(X≥5) = {1 - poisson.cdf(4):.4f}")1718# E(X) và Var(X)19print(f"E(X) = {poisson.mean():.4f}") # 420print(f"Var(X) = {poisson.var():.4f}") # 42122# Visualization23k = np.arange(0, 15)24plt.figure(figsize=(10, 5))25plt.bar(k, poisson.pmf(k), color='coral', edgecolor='black')26plt.xlabel('Number of Events (k)')27plt.ylabel('P(X = k)')28plt.title(f'Poisson Distribution (λ={lam})')29plt.show()5.6 Poisson với khoảng thời gian khác
Nếu λ = 4 cuộc gọi/phút, trong 2 phút: λ = 8
1# 4 cuộc/phút, trong 2 phút2lam_2min = 4 * 2 # 83poisson_2min = stats.poisson(lam_2min)45# P(nhận 10 cuộc trong 2 phút)6print(f"P(X=10 trong 2 phút) = {poisson_2min.pmf(10):.4f}")⚖️ So sánh Binomial và Poisson
6.1 Khi nào dùng?
| Binomial | Poisson |
|---|---|
| Số lần thử n cố định | Không giới hạn số sự kiện |
| Đếm số "thành công" | Đếm số sự kiện trong khoảng |
| Tung xu, kiểm tra lỗi | Số khách, số cuộc gọi |
6.2 Poisson là xấp xỉ của Binomial
Khi n lớn và p nhỏ (np ≈ constant):
1# So sánh Binomial và Poisson2n, p = 100, 0.03 # n lớn, p nhỏ3lam = n * p # 345binom = stats.binom(n, p)6poisson = stats.poisson(lam)78k = np.arange(0, 15)9plt.figure(figsize=(10, 5))10plt.bar(k - 0.2, binom.pmf(k), width=0.4, label='Binomial(100, 0.03)', alpha=0.7)11plt.bar(k + 0.2, poisson.pmf(k), width=0.4, label='Poisson(3)', alpha=0.7)12plt.xlabel('k')13plt.ylabel('P(X = k)')14plt.title('Binomial vs Poisson Approximation')15plt.legend()16plt.show()📍 Geometric Distribution
7.1 Định nghĩa
X = số lần thử cho đến khi có lần thành công đầu tiên.
7.2 Tính chất
| Thống kê | Công thức |
|---|---|
| E(X) | 1/p |
| Var(X) | (1-p)/p² |
7.3 Code Python
1from scipy import stats23# P(thành công) = 0.24p = 0.25geom = stats.geom(p)67# P(thành công lần thử thứ 3)8print(f"P(X=3) = {geom.pmf(3):.4f}")910# P(cần ít nhất 5 lần)11print(f"P(X≥5) = {1 - geom.cdf(4):.4f}")1213# E(X)14print(f"E(X) = {geom.mean():.4f}") # 5📝 Bảng tóm tắt các phân phối
| Phân phối | PMF | E(X) | Var(X) | Ứng dụng |
|---|---|---|---|---|
| Bernoulli | p, 1-p | p | p(1-p) | 1 lần thử |
| Binomial | np | np(1-p) | n lần thử | |
| Poisson | λ | λ | Đếm sự kiện | |
| Geometric | 1/p | (1-p)/p² | Chờ thành công |
🧩 Bài tập thực hành
Bài tập 1: Binomial
Một công ty có tỷ lệ chuyển đổi 5%. Trong 100 khách truy cập:
- P(đúng 5 khách mua)?
- P(ít nhất 3 khách mua)?
- E(số khách mua)?
Bài tập 2: Poisson
Trung bình có 2 tai nạn/ngày trên một đoạn đường:
- P(không có tai nạn trong 1 ngày)?
- P(nhiều nhất 3 tai nạn)?
- P(ít nhất 1 tai nạn trong 2 ngày)?
Bài tập 3: So sánh
n = 1000, p = 0.001. So sánh kết quả từ Binomial và Poisson cho P(X = 2).
📝 Tổng Kết
Câu hỏi tự kiểm tra
- Khi nào sử dụng phân phối Binomial và khi nào sử dụng phân phối Poisson?
- Tại sao phân phối Poisson có tính chất Mean = Variance?
- Trong điều kiện nào có thể dùng Poisson để xấp xỉ Binomial?
- E(X) và Var(X) của phân phối Binomial(n, p) được tính như thế nào?
- Binomial: n lần thử độc lập, đếm số thành công
- Poisson: đếm sự kiện trong khoảng, Mean = Variance
- Poisson ≈ Binomial khi n lớn, p nhỏ
- E(X) và Var(X) là 2 thống kê quan trọng nhất
- Chọn phân phối phù hợp với bài toán
🎉 Tuyệt vời! Bạn đã hoàn thành bài học Phân phối rời rạc!
Tiếp theo: Chúng ta sẽ khám phá các phân phối liên tục (Normal, Exponential) và Định lý Giới hạn Trung tâm (CLT).
