Bộ tạo số ngẫu nhiên và hacker statistics

Tư duy Thống kê với Python (Phần 1)

Justin Bois

Teaching Professor at the California Institute of Technology

Hacker statistics

  • Dùng các phép đo mô phỏng lặp lại để tính xác suất.
Tư duy Thống kê với Python (Phần 1)

  Blaise Pascal

1 Image: artist unknown
Tư duy Thống kê với Python (Phần 1)

Đồng xu

1 Image: Heritage Auction
Tư duy Thống kê với Python (Phần 1)

Mô phỏng tung đồng xu

Mô phỏng tung đồng xu

Tư duy Thống kê với Python (Phần 1)

Thử nghiệm Bernoulli

  • Thí nghiệm có hai kết quả: "thành công" (True) và "thất bại" (False).
Tư duy Thống kê với Python (Phần 1)

Mô-đun np.random

import numpy as np
rng = np.random.default_rng()

rng
Generator(PCG64) at 0x7F9433D38120
Tư duy Thống kê với Python (Phần 1)

Seed số ngẫu nhiên

  • Số nguyên đưa vào thuật toán sinh số ngẫu nhiên
  • Chỉ đặt seed thủ công khi cần tái lập kết quả
  • Chỉ định bằng rng = np.random.default_rng(seed)
Tư duy Thống kê với Python (Phần 1)

Mô phỏng 4 lần tung đồng xu

rng = np.random.default_rng(42)

random_numbers = rng.random(size=4)
random_numbers
array([0.77395605, 0.43887844, 0.85859792, 0.69736803])
heads = random_numbers < 0.5
heads
array([False,  True, False, False])
np.sum(heads)
1
Tư duy Thống kê với Python (Phần 1)

Mô phỏng 4 lần tung đồng xu

n_all_heads = 0  # Initialize number of 4-heads trials
for _ in range(10000):
     heads = np.random.random(size=4) < 0.5
     n_heads = np.sum(heads)
     if n_heads == 4:
         n_all_heads += 1

n_all_heads / 10000
0.0607
Tư duy Thống kê với Python (Phần 1)

Xác suất kiểu hacker stats

  • Xác định cách mô phỏng dữ liệu
  • Mô phỏng thật nhiều lần
  • Xác suất xấp xỉ bằng tỉ lệ lần thử có kết quả quan tâm
Tư duy Thống kê với Python (Phần 1)

Ayo berlatih!

Tư duy Thống kê với Python (Phần 1)

Preparing Video For Download...