Làm thế nào để bạn viết mã phân phối poisson trong python?

Số sự kiện dự kiến ​​xảy ra trong một khoảng thời gian cố định, phải >= 0. Một trình tự phải được phát trên kích thước được yêu cầu

size int hoặc bộ số nguyên, tùy chọn

hình dạng đầu ra. Nếu hình dạng đã cho là, e. g. , [m, n, k], sau đó m * n * k mẫu được rút ra. Nếu kích thước là None [mặc định], một giá trị duy nhất được trả về nếu lam là vô hướng. Nếu không, np.array[lam].size mẫu được rút ra

Trả về . ra ndarray hoặc vô hướng

Các mẫu được rút ra từ phân phối Poisson được tham số hóa

Xem thêm

cái nào nên được sử dụng cho mã mới

ghi chú

Phân phối Poisson

\[f[k; \lambda]=\frac{\lambda^k e^{-\lambda}}{k. }\]

Đối với các sự kiện có khoảng cách dự kiến ​​ \[\lambda\] phân phối Poisson \[f . describes the probability of \[k\] events occurring within the observed interval \[\lambda\].

Bởi vì đầu ra bị giới hạn trong phạm vi của loại C int64, ValueError được nâng lên khi lam nằm trong 10 sigma của giá trị biểu thị tối đa

Người giới thiệu

[ 1 ]

Weisstein, Eric W. “Phân bố chất độc. ” Từ MathWorld–A Wolfram Web Resource. http. //thế giới toán học. chó sói. com/PoissonDistribution. html

Phân phối Poisson là phân phối cho biết số lần có thể xảy ra một sự kiện trong một khoảng thời gian xác định trước. Nó được sử dụng cho các sự kiện độc lập xảy ra với tốc độ không đổi trong một khoảng thời gian nhất định. Phân phối Poisson là một hàm rời rạc, có nghĩa là sự kiện chỉ có thể được đo khi xảy ra hoặc không xảy ra, nghĩa là biến chỉ có thể được đo bằng số nguyên

Chúng tôi sử dụng thư viện seaborn python có các hàm dựng sẵn để tạo các biểu đồ phân phối xác suất như vậy. Ngoài ra, gói scipy giúp tạo phân phối nhị thức

from scipy.stats import poisson
import seaborn as sb

data_binom = poisson.rvs[mu=4, size=10000]
ax = sb.distplot[data_binom,
                  kde=True,
                  color='green',
                  hist_kws={"linewidth": 25,'alpha':1}]
ax.set[xlabel='Poisson', ylabel='Frequency']

Đầu ra của nó như sau -

Trong bài viết này, chúng ta sẽ xem cách chúng ta có thể tạo biểu đồ hàm khối lượng xác suất Poisson trong Python. Trong lý thuyết xác suất và thống kê, phân phối Poisson là một phân phối xác suất rời rạc biểu thị xác suất của một số sự kiện nhất định xảy ra trong một khoảng thời gian hoặc không gian cố định nếu các sự kiện này xảy ra với tốc độ trung bình không đổi đã biết và không phụ thuộc vào thời gian kể từ khi . Phân phối Poisson cũng có thể được sử dụng cho số lượng sự kiện trong các khoảng thời gian được chỉ định khác, chẳng hạn như khoảng cách, diện tích hoặc thể tích.  

Để vẽ sơ đồ phân phối Poisson, chúng tôi sẽ sử dụng mô-đun scipy. SciPy là một thư viện Python mã nguồn mở và miễn phí được sử dụng cho tính toán khoa học và tính toán kỹ thuật. SciPy chứa các mô-đun để tối ưu hóa, đại số tuyến tính, tích hợp, nội suy, các chức năng đặc biệt, FFT, xử lý tín hiệu và hình ảnh, bộ giải ODE và các nhiệm vụ phổ biến khác trong khoa học và kỹ thuật

Nó ước tính số lần một sự kiện có thể xảy ra trong một thời gian xác định. e. g. Nếu ai đó ăn hai lần một ngày thì xác suất anh ta sẽ ăn ba lần là bao nhiêu?

Nó có hai tham số

lam - tỷ lệ hoặc số lần xuất hiện đã biết e. g. 2 cho vấn đề trên

size - Hình dạng của mảng được trả về

Ví dụ

Tạo phân phối 1x10 ngẫu nhiên cho lần xuất hiện 2

từ numpy nhập ngẫu nhiên

x = ngẫu nhiên. poisson[lam=2, size=10]

in[x]

Tự mình thử »

Trực quan hóa phân phối Poisson

Ví dụ

từ numpy nhập ngẫu nhiên
nhập matplotlib. pyplot dưới dạng plt
nhập seaborn dưới dạng sns

sns. distplot [ngẫu nhiên. poisson[lam=2, size=1000], kde=False]

plt. trình diễn[]

Kết quả

Tự mình thử »

Sự khác biệt giữa phân phối bình thường và Poisson

Phân phối chuẩn là liên tục trong khi poisson là rời rạc

Nhưng chúng ta có thể thấy rằng tương tự như nhị thức đối với phân phối poisson đủ lớn, nó sẽ trở thành tương tự như phân phối bình thường với một số std dev và mean

Ví dụ

từ numpy nhập ngẫu nhiên
nhập matplotlib. pyplot dưới dạng plt
nhập seaborn dưới dạng sns

sns. distplot [ngẫu nhiên. normal[loc=50, scale=7, size=1000], hist=False, label='normal']
sns. distplot [ngẫu nhiên. poisson[lam=50, size=1000], hist=False, label='poisson']

plt. trình diễn[]

Kết quả

Tự mình thử »

Sự khác biệt giữa phân phối Poisson và nhị thức

Sự khác biệt rất tinh tế, đó là phân phối nhị thức dành cho các thử nghiệm rời rạc, trong khi phân phối poisson dành cho các thử nghiệm liên tục

Nhưng đối với phân phối nhị thức n rất lớn và gần bằng không p gần giống với phân phối poisson sao cho [m, n, k]0 gần bằng với lam

Chủ Đề