Nhị thức trong Python

Các biến ngẫu nhiên rời rạc được xác định từ một dạng tiêu chuẩn và có thể yêu cầu một số tham số hình dạng để hoàn thành đặc điểm kỹ thuật của nó. Bất kỳ tham số từ khóa tùy chọn nào cũng có thể được chuyển đến các phương thức của đối tượng RV như bên dưới

Thông số

x. mảng_like

lượng tử

Hỏi. mảng_like

xác suất đuôi thấp hơn hoặc cao hơn

n, p. mảng_like

thông số hình dạng

lộc. array_like, tùy chọn

tham số vị trí [mặc định=0]

kích thước. int hoặc bộ số nguyên, tùy chọn

hình dạng của các biến ngẫu nhiên [mặc định được tính toán từ các đối số đầu vào]

khoảnh khắc. str, tùy chọn

bao gồm các chữ cái ['mvsk'] chỉ định khoảnh khắc nào cần tính toán trong đó 'm' = trung bình, 'v' = phương sai, 's' = [Fisher's] skew và 'k' = kurtosis [Fisher's]. [mặc định='mv']

Để tiếp tục làm theo hướng dẫn này, chúng ta sẽ cần các thư viện Python sau. scipy, numpy và matplotlib

Nếu bạn chưa cài đặt, vui lòng mở "Command Prompt" [trên Windows] và cài đặt bằng mã sau


pip install scipy
pip install numpy
pip install matplotlib

Sách tôi giới thiệu

  • Khóa học về sự cố Python
  • Tự động hóa những thứ nhàm chán với Python
  • Ngoài những thứ cơ bản với Python
  • Trăn nghiêm trọng

phân phối nhị thức là gì

Phân phối nhị thức là một trong những phân phối phổ biến nhất trong thống kê, cùng với phân phối chuẩn. Phân phối nhị thức là phân phối xác suất rời rạc của một số lần thành công [\[X\]] trong một chuỗi các thử nghiệm độc lập [\[n\]]. Mỗi thí nghiệm có hai kết quả có thể xảy ra. thành công và thất bại. Kết quả thành công có xác suất \[p\] và thất bại có xác suất \[[1-p]\]

Ghi chú. một thí nghiệm riêng lẻ còn được gọi là phép thử Bernoulli, một thí nghiệm có đúng hai kết quả có thể xảy ra. Và phân phối nhị thức cho một thử nghiệm [\[n=1\]] cũng là phân phối Bernoulli

Nói cách khác, mô hình phân phối nhị thức xác suất quan sát kết quả thành công hoặc thất bại trong một thử nghiệm độc lập được lặp lại nhiều lần

Giả sử xác suất thành công bằng

$$p$$

thì xác suất thất bại bằng

$$q=1-p$$

Vì vậy, xác suất đạt được \[k\] thành công và \[n-k\] thất bại bằng

$$p^k \times [1-p]^{n-k}$$

Và số cách để đạt được \[k\] thành công được tính như sau

$$\frac{n. }{[n-k]. \lần k. }$$

Sử dụng các ký hiệu trên, chúng ta có thể giải quyết hàm khối lượng xác suất [tổng xác suất đạt được \[k\] thành công trong các thí nghiệm \[n\]]

$$f[k;n,p] = Pr[k;n,p] = Pr[X=k] = \frac{n. }{[n-k]. \lần k. } p^k [1-p]^{n-k}$$

Lưu ý . hàm khối lượng xác suất [pmf] – một hàm cung cấp xác suất mà một biến ngẫu nhiên rời rạc chính xác bằng một giá trị nào đó.

Và công thức cho hàm xác suất tích lũy nhị thức là

$$F[k;n,p] = \sum^{x}_{i=0} \frac{n. }{[n-i]. \ lần tôi. } p^i [1-p]^{n-i}$$

Phân phối nhị thức Ví dụ

Bạn đang tung một con súc sắc 6 mặt 12 lần và bạn muốn tìm xác suất để được kết quả là 3 trong 5 lần. Ở đây, nhận được 3 là kết quả thành công, trong khi nhận được bất kỳ thứ gì khác [1, 2, 4, 5, 6] là kết quả thất bại. Rõ ràng, trên mỗi lần tung, xác suất bạn nhận được 3 là \[\frac{1}{6}\]
Theo dữ liệu chúng tôi có ở đây, tung một ngày 12 lần, bạn sẽ nhận được kết quả là 3 lần 2 lần [\[12 \times \frac{1}{6}\]]

Bây giờ, làm thế nào để chúng ta thực sự tính xác suất quan sát thấy 3 là kết quả 5 lần?

Sử dụng công thức trên, chúng ta có thể dễ dàng giải quyết nó. Chúng ta có một thử nghiệm xảy ra 12 lần [\[n\] = 12], số kết quả trong câu hỏi là 5 [\[k\] = 5] và xác suất là \[\frac{1}{6}\] hoặc 0. 17 làm tròn [\[p\] = 0. 17]

Thế vào phương trình trên ta được

$$Pr[5;12,0. 17] = Pr[X=5] = \frac{12. }{[12-5]. \times 5. } 0. 17^5 [1-0. 17]^{12-5} = 0. 03$$

và phân phối nhị thức cho một thí nghiệm như vậy sẽ như thế này

Hình ảnh của tác giả

Bạn có thể thấy rõ rằng quan sát 3 là kết quả có xác suất cao nhất ở 2 lần và xác suất quan sát 5 lần nhỏ hơn 0. 05

Tạo và vẽ biểu đồ phân phối nhị thức trong Python

Bây giờ chúng ta hãy khám phá cách tạo các giá trị phân phối nhị thức và vẽ đồ thị bằng Python. Trong phần này, chúng ta sẽ làm việc với ba thư viện Python. gọn gàng, matplotlib và scipy

Trước tiên chúng tôi sẽ nhập các mô-đun cần thiết


import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import binom

Đối với dữ liệu, chúng tôi sẽ tiếp tục với ví dụ từ phần trước, trong đó chúng tôi gieo xúc xắc 12 lần [\[n\] = 12] trong đó xác suất quan sát được bất kỳ số nào từ 1 đến 6 là \[\frac{1} { 6}\] hoặc 0. 17 [\[p\] = 0. 17]

Bây giờ chúng ta sẽ tạo giá trị cho chúng bằng Python


n = 12
p = 0.17
x = np.arange[0, n+1]

trong đó \[x\] là một mảng các số từ 0 đến 12, biểu thị số lần bất kỳ số nào có thể được quan sát

Sử dụng dữ liệu này, giờ đây chúng ta có thể tính toán hàm khối lượng xác suất nhị thức. Hàm khối lượng xác suất [PMF] là một hàm cung cấp xác suất mà một biến ngẫu nhiên rời rạc nhị thức chính xác bằng một giá trị nào đó.

Trong ví dụ của chúng tôi, nó sẽ hiển thị số lần từ 12 cuộn bạn có thể quan sát bất kỳ số nào có xác suất bằng 0. 17

Xây dựng PMF


binomial_pmf = binom.pmf[x, n, p]

print[binomial_pmf]

Và bạn sẽ nhận được một mảng có 13 giá trị [là xác suất cho các giá trị \[x\] của chúng tôi]

[1.06890008e-01 2.62717609e-01 2.95952970e-01 2.02056244e-01
 9.31162813e-02 3.05152151e-02 7.29178834e-03 1.28014184e-03
 1.63873579e-04 1.49175414e-05 9.16620011e-07 3.41348087e-08
 5.82622237e-10]

Bây giờ chúng ta có hàm khối lượng xác suất nhị thức, chúng ta có thể dễ dàng hình dung nó


plt.plot[x, binomial_pmf, color='blue']
plt.title[f"Binomial Distribution [n={n}, p={p}]"]
plt.show[]

và bạn sẽ nhận được

Hình ảnh của tác giả

Bây giờ, làm thế nào về việc cố gắng diễn giải những gì chúng ta thấy?

Biểu đồ cho thấy rằng nếu chúng ta chọn bất kỳ số nào từ 1 đến 6 [các mặt xúc xắc] và tung xúc xắc 12 lần, thì xác suất cao nhất để bất kỳ số nào trong số đó được quan sát là 2 lần

Nói cách khác, nếu tôi chọn số 1 và tung xúc xắc 12 lần, rất có thể số 1 sẽ xuất hiện 2 lần

Nếu bạn hỏi, xác suất để 1 xuất hiện 6 lần là bao nhiêu? . 02 hoặc 2%

một bài kiểm tra nhị thức là gì?

Kiểm tra nhị thức là một kiểm tra thống kê một mẫu để xác định xem điểm nhị phân có đến từ phân phối xác suất nhị thức hay không

Sử dụng ví dụ từ phần trước, hãy diễn đạt lại câu hỏi theo cách mà chúng ta có thể thực hiện một số kiểm tra giả thuyết. Sau đây là tình huống

Bạn nghi ngờ rằng một con xúc xắc thiên về số 3 [ba chấm] bạn quyết định tung nó 12 lần [\[n\] = 12] và quan sát thấy giá trị 3 [ba chấm] 5 ​​lần [\[k\] = 5 ]. Bạn muốn biết liệu con súc sắc có thiên về số 3 hay không [hãy nhớ rằng xác suất dự kiến ​​để quan sát được số 3 là \[\frac{1}{6}\] hoặc 0. 17]

Xây dựng giả thuyết chúng ta sẽ có

$$H_0. \pi \leq \frac{1}{6}$$

$$H_1. \pi > \frac{1}{6}$$

Và bây giờ tính xác suất

$$Pr[5;12,0. 17] = Pr[X=5] = \frac{12. }{[12-5]. \times 5. } 0. 17^5 [1-0. 17]^{12-5} = 0. 03$$

Ở đây, xác suất là giá trị \[p\] cho phép kiểm tra ý nghĩa. kể từ 0. 03

Chủ Đề