Phân phối Poisson trong Python
Phân phối Poisson là phân phối xác suất của các lần xuất hiện độc lập trong một khoảng. Phân phối Poisson được sử dụng cho các phân phối dựa trên số lượng khi các sự kiện này xảy ra với tỷ lệ trung bình đã biết và không phụ thuộc vào thời gian kể từ sự kiện cuối cùng. Ví dụ: Nếu số lượng ô tô trung bình băng qua một con phố cụ thể trong một ngày là 25, thì bạn có thể tìm xác suất để 28 ô tô chạy qua đường đó bằng cách sử dụng công thức poisson cho bởi Show
e là cơ số của logarit tự nhiên (2. 7183) Vào bất kỳ ngày nào chúng ta có thể thấy 0,1,2,3,…. 25. 30. số ô tô trên phố với trung bình khoảng 25 ô tô. Vì vậy, để tìm 28 chiếc xe, chúng ta sẽ phải tính toán Với hàm Poisson, chúng ta xác định giá trị trung bình là 25 ô tô. Hàm python đưa ra xác suất nằm trong khoảng (0. 0632) 6%, tức là 28 ô tô sẽ đi qua phố Công thức có vẻ phức tạp để giải bằng tay nhưng với các thư viện python thì đó là một miếng bánh 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 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ọnhình dạng đầu ra. Nếu hình dạng đã cho là, e. g. , 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 - Để 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 nó bằng mã sau
một quá trình Poisson là gìQuá trình điểm Poisson (hay đơn giản là quá trình Poisson) là một tập hợp các điểm được đặt ngẫu nhiên trong không gian toán học Do một số tính chất của nó, quá trình Poisson thường được xác định trên một đường thực, nơi nó có thể được coi là một quá trình ngẫu nhiên (ngẫu nhiên) trong một chiều. Điều này tiếp tục cho phép xây dựng các hệ thống toán học và nghiên cứu các sự kiện nhất định xuất hiện một cách ngẫu nhiên Một trong những tính chất quan trọng của nó là mỗi điểm của quy trình độc lập ngẫu nhiên với các điểm khác trong quy trình. Như một ví dụ, chúng ta có thể nghĩ về một ví dụ trong đó quá trình như vậy có thể được quan sát trong cuộc sống thực. Giả sử bạn đang nghiên cứu tần suất lịch sử của các cơn bão. Đây thực sự là một quá trình ngẫu nhiên, vì số cơn bão năm nay không phụ thuộc vào số cơn bão năm ngoái, v.v. Tuy nhiên, theo thời gian, bạn có thể quan sát một số xu hướng, tần suất trung bình, v.v. Nói một cách toán học, trong trường hợp này, quá trình tính điểm phụ thuộc vào một thứ có thể là hằng số, chẳng hạn như tỷ lệ trung bình (ví dụ: số lượng khách hàng gọi trung bình) Một quá trình Poisson được xác định bởi một phân phối Poisson Phân phối Poisson là gì?Phân phối Poisson là phân phối xác suất rời rạc của một số sự kiện xảy ra trong một khoảng thời gian cố định với hai điều kiện
Để đặt điều này trong một số bối cảnh, hãy xem xét ví dụ của chúng tôi về tần suất bão từ phần trước Giả sử rằng khi chúng ta có dữ liệu quan sát các cơn bão trong khoảng thời gian 20 năm. Chúng tôi thấy rằng số cơn bão trung bình mỗi năm là 7. Mỗi năm độc lập với các năm trước, có nghĩa là nếu chúng ta quan sát được 8 cơn bão trong năm nay, điều đó không có nghĩa là chúng ta sẽ quan sát được 8 cơn bão vào năm tới PMF (hàm khối lượng xác suất) của phân phối Poisson được cho bởi $$p(k, \lambda) = \frac{\lambda^{k}e^{-\lambda}}{k. }$$ ở đâu
\(Pr(X=k)\) có thể được đọc là. Xác suất Poisson của k sự kiện trong một khoảng thời gian Và CDF (hàm phân phối tích lũy) của phân phối Poisson được cho bởi $$F(k, \lambda) = \sum^{k}_{i=0} \frac{\lambda^{i}e^{-\lambda}}{i. }$$ Ví dụ phân phối PoissonBây giờ chúng ta đã biết một số công thức để làm việc, hãy xem chi tiết một ví dụ Nhớ lại dữ liệu về bão chúng tôi đã đề cập trong các phần trước. Chúng tôi biết rằng tần suất lịch sử của các cơn bão là 7 cơn bão mỗi năm (là tỷ lệ \(\mu\) và điều này tạo thành giá trị \(\lambda\) của chúng tôi (vì \(\lambda=\mu\)) $$\lambda = 7$$ Câu hỏi đặt ra là xác suất quan sát chính xác 5 cơn bão trong năm nay là bao nhiêu? $$k = 5$$ Sử dụng công thức từ phần trước, chúng ta có thể tính xác suất Poisson $$p(5, 7) = \frac{(7^{5})(e^{-7})}{5. } = 0. 12772 \xấp xỉ 12. 77\%$$ Do đó, xác suất quan sát đúng 5 cơn bão trong năm tới bằng 12. 77% Đương nhiên, chúng tôi tò mò về xác suất của các tần số khác Poisson PMF (hàm khối xác suất)Xem xét bảng dưới đây cho thấy xác suất Poisson của tần suất bão (0-15) \(k\)\(p(k, \lambda)\)%00. 000910. 09%10. 006380. 64%20. 022342. 23%30. 052135. 21%40. 091239. 12%50. 1277212. 77%60. 1490014. 9%70. 1490014. 9%80. 1303813. 04%90. 1014010. 14%100. 070987. 01%110. 045174. 52%120. 026352. 64%130. 014191. 42%140. 007090. 71%150. 003310. 33%160. 001450. 15%Sử dụng bảng trên, chúng ta có thể tạo trực quan hóa hàm khối xác suất Poisson sau đây cho ví dụ này Poisson PMFPoisson CDF (hàm phân phối tích lũy)Xem xét bảng dưới đây cho thấy xác suất tích lũy Poisson của tần suất bão (0-15) \(k\)\(F(k, \lambda)\)%00. 000910. 09%10. 007300. 73%20. 029642. 96%30. 081778. 18%40. 1729917. 3%50. 3007130. 07%60. 4497144. 97%70. 5987159. 87%80. 7290972. 91%90. 8305083. 05%100. 9014890. 15%110. 9466594. 67%120. 9730097. 3%130. 9871998. 72%140. 9942899. 43%150. 9975999. 76%160. 9990499. 9%Sử dụng bảng trên, chúng ta có thể tạo hình ảnh trực quan sau đây của hàm phân phối tích lũy Poisson cho ví dụ này Poisson CDFBảng cũng cho phép chúng tôi trả lời một số câu hỏi thú vị Ví dụ, điều gì sẽ xảy ra nếu chúng ta muốn tìm xác suất nhìn thấy tới 5 cơn bão (về mặt toán học. \(k\leq5\)), chúng ta có thể thấy rằng đó là \(0. 30071\) hoặc \(30. 07\%\) Mặt khác, chúng ta có thể quan tâm đến xác suất quan sát hơn 5 cơn bão (về mặt toán học. \(k>5\)), sẽ là \(1-p(5,7) = 1-0. 30071 = 0. 69929\) hoặc \(69. 93\%\) Ví dụ phân phối Poisson trong PythonTrong phần trước chúng ta đã tính toán hàm khối lượng xác suất và hàm phân phối tích lũy bằng tay. Trong phần này, chúng tôi sẽ tái tạo các kết quả tương tự bằng Python Chúng tôi sẽ bắt đầu với việc nhập các phụ thuộc cần thiết
Tiếp theo, chúng ta sẽ cần một mảng các giá trị \(k\) mà chúng ta sẽ tính Poisson PMF. Trong phần trước, chúng ta đã tính nó cho 16 giá trị của \(k\) từ 0 đến 16, vì vậy hãy tạo một mảng với các giá trị này
bạn nên lấy
Trong các phần sau, chúng tôi sẽ tập trung vào tính toán PMF và CDF bằng Python Poisson PMF (hàm khối xác suất) trong PythonĐể tính toán Poisson PMF bằng Python, chúng tôi sẽ sử dụng. phương thức pmf() của scipy. máy phát điện độc. Nó sẽ cần hai tham số
Và bây giờ chúng ta có thể tạo một mảng với các giá trị xác suất Poisson
Và bạn sẽ nhận được
Ghi chú Nếu bạn muốn in nó theo cách đẹp hơn với mỗi giá trị \(k\) và xác suất tương ứng.
Và bạn sẽ nhận được ________số 8_______giống hệt như chúng ta đã thấy trong ví dụ nơi chúng ta tính toán xác suất bằng tay Vẽ Poisson PMF bằng PythonChúng ta sẽ cần mảng giá trị k mà chúng ta đã tạo trước đó cũng như mảng giá trị pmf trong bước này Sử dụng thư viện matplotlib, chúng ta có thể dễ dàng vẽ sơ đồ Poisson PMF bằng Python
Và bạn sẽ nhận được Poisson PMF sử dụng PythonPoisson CDF (hàm phân phối tích lũy) trong PythonĐể tính toán Poisson CDF bằng Python, chúng tôi sẽ sử dụng. phương thức cdf() của scipy. máy phát điện độc. Nó sẽ cần hai tham số
Và bây giờ chúng ta có thể tạo một mảng với các giá trị xác suất tích lũy Poisson
Và bạn sẽ nhận được 0Ghi chú Nếu bạn muốn in nó theo cách đẹp hơn với mỗi giá trị \(k\) và xác suất tích lũy tương ứng. 1Và bạn sẽ nhận được 2giống hệt như chúng ta đã thấy trong ví dụ nơi chúng ta tính toán xác suất tích lũy bằng tay Vẽ Poisson CDF bằng PythonChúng ta sẽ cần mảng giá trị k mà chúng ta đã tạo trước đó cũng như mảng giá trị pmf trong bước này Sử dụng thư viện matplotlib, chúng ta có thể dễ dàng vẽ sơ đồ Poisson PMF bằng Python 3Và bạn sẽ nhận được Poisson CDF sử dụng PythonPhần kết luậnTrong bài viết này, chúng ta đã khám phá phân phối Poisson và quy trình Poisson, cũng như cách tạo và vẽ sơ đồ phân phối Poisson trong Python Vui lòng để lại nhận xét bên dưới nếu bạn có bất kỳ câu hỏi nào hoặc có đề xuất cho một số chỉnh sửa và xem thêm các bài viết Thống kê của tôi Phân phối Poisson có nghĩa là gì trong Python?Phân phối Poisson là phân phối cho biết số lần có khả năng một sự kiện sẽ xảy ra 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.
Làm cách nào để tạo số ngẫu nhiên với phân phối Poisson trong Python?Với sự trợ giúp của numpy. ngẫu nhiên. phương pháp poisson() , chúng ta có thể lấy các mẫu ngẫu nhiên từ phân phối poisson và trả về các mẫu ngẫu nhiên bằng phương pháp này. Trở lại. Trả lại các mẫu ngẫu nhiên dưới dạng mảng numpy.
Phân phối Poisson trong ví dụ về trung tâm cuộc gọi là gì?Ví dụ: phân phối Poisson thích hợp cho mô hình hóa số lượng cuộc gọi điện thoại mà một văn phòng sẽ nhận được trong giờ trưa, nếu họ biết rằng họ nhận được trung bình 4 cuộc gọi mỗi giờ trong thời gian đó . Mặc dù trung bình là 4 cuộc gọi, nhưng về mặt lý thuyết, họ có thể nhận được bất kỳ số lượng cuộc gọi nào trong khoảng thời gian đó. . Although the average is 4 calls, they could theoretically get any number of calls during that time period.
Hàm phân phối xác suất trong Python là gì?Phân phối xác suất Python là gì? . Nó mô tả các sự kiện theo xác suất của chúng; . a function under probability theory and statistics- one that gives us how probable different outcomes are in an experiment. It describes events in terms of their probabilities; this is out of all possible outcomes. |