Hướng dẫn poisson distribution in python from scratch - phân phối poisson trong python từ đầu

Hướng dẫn poisson distribution in python from scratch - phân phối poisson trong python từ đầu

Phân phối Poisson là một phân phối xác suất có thể được sử dụng để mô hình hóa số lượng sự kiện trong một khoảng thời gian cố định. Nó thường được gọi là quy trình ngẫu nhiên của Poisson Poisson, hay Poisson Process. Bản phân phối Poisson mô tả có bao nhiêu sự kiện của một sự kiện xảy ra trong một khung thời gian nhất định, ví dụ, có bao nhiêu khách hàng ghé thăm cửa hàng hoặc nhà hàng của bạn mỗi giờ. Trong bài đăng này, bạn sẽ tìm hiểu về các khái niệm về phân phối xác suất Poisson với các ví dụ python. & NBSP; Là một nhà khoa học dữ liệu, bạn phải hiểu rõ về các khái niệm phân phối xác suất bao gồm Binomial, Binomial, Poisson, v.v. & NBSP;Poisson probability distribution with Python examples. As a data scientist, you must get a good understanding of the concepts of probability distributions including normal, binomial, Poisson etc. 

  • Phân phối Poisson là gì?
    • Kỳ vọng & phương sai của phân phối Poisson
  • Phân phối Poisson giải thích với các ví dụ trong thế giới thực
  • Kết luận

Phân phối Poisson là gì?

Kỳ vọng & phương sai của phân phối Poisson

Phân phối Poisson giải thích với các ví dụ trong thế giới thực

  • Kết luận
  • Phân phối Poisson là phân phối xác suất riêng biệt thể hiện xác suất xảy ra của một sự kiện r số lần trong một khoảng thời gian hoặc không gian nhất định nếu các sự kiện này xảy ra với tỷ lệ trung bình không đổi đã biết và & nbsp; không phụ thuộc vào nhau. Loại xác suất này được sử dụng trong nhiều trường hợp các sự kiện xảy ra ngẫu nhiên, nhưng với tỷ lệ trung bình đã biết. Số lượng các sự kiện xảy ra trong một khoảng thời gian phụ thuộc vào thời gian trôi qua thay vì tổng thời gian có sẵn. Phân phối Poisson có thể được áp dụng cho các quy trình nhạy cảm với thời gian như tin nhắn văn bản được gửi mỗi phút và các cuộc gọi điện thoại nhận được mỗi giây. Phân phối Poisson có thể giúp chúng tôi xác định tần suất chúng tôi có thể mong đợi một sự kiện trên mạng, chẳng hạn như tìm kiếm khách hàng theo hàng hoặc số vụ tai nạn xảy ra mỗi giờ.

Sau đây là các tiêu chí chính mà biến ngẫu nhiên tuân theo phân phối Poisson.

Các sự kiện cá nhân xảy ra ngẫu nhiên và độc lập trong một khoảng thời gian nhất định. Đây có thể là một khoảng thời gian hoặc không gian.

Số lượng trung bình xảy ra của các sự kiện trong một khoảng (thời gian hoặc không gian) là hữu hạn và được biết đến. Số lần xuất hiện trung bình được biểu thị bằng cách sử dụng \ (\ lambda \)probability mass function:

Biến ngẫu nhiên x biểu thị số lần mà sự kiện xảy ra trong khoảng thời gian hoặc không gian đã cho. Nếu một biến ngẫu nhiên X tuân theo phân phối Poisson, nó được biểu diễn dưới dạng sau:

X ~ po (\ (\ lambda \))

Trong biểu thức trên, \ (\ lambda \) đại diện cho số lần xuất hiện trung bình trong một khoảng thời gian nhất định. Về mặt toán học, phân phối xác suất Poisson có thể được biểu diễn bằng cách sử dụng hàm khối lượng xác suất sau:

Kỳ vọng & phương sai của phân phối Poisson

Phân phối Poisson giải thích với các ví dụ trong thế giới thực

Kết luận

X ~ po (\ (\ lambda \))

Trong biểu thức trên, \ (\ lambda \) đại diện cho số lần xuất hiện trung bình trong một khoảng thời gian nhất định. Về mặt toán học, phân phối xác suất Poisson có thể được biểu diễn bằng cách sử dụng hàm khối lượng xác suất sau:

X ~ po (\ (\ lambda \))

Phân phối Poisson giải thích với các ví dụ trong thế giới thực

Kết luậnreal-world examples of Poisson distribution.

  • Phân phối Poisson là phân phối xác suất riêng biệt thể hiện xác suất xảy ra của một sự kiện r số lần trong một khoảng thời gian hoặc không gian nhất định nếu các sự kiện này xảy ra với tỷ lệ trung bình không đổi đã biết và & nbsp; không phụ thuộc vào nhau. Loại xác suất này được sử dụng trong nhiều trường hợp các sự kiện xảy ra ngẫu nhiên, nhưng với tỷ lệ trung bình đã biết. Số lượng các sự kiện xảy ra trong một khoảng thời gian phụ thuộc vào thời gian trôi qua thay vì tổng thời gian có sẵn. Phân phối Poisson có thể được áp dụng cho các quy trình nhạy cảm với thời gian như tin nhắn văn bản được gửi mỗi phút và các cuộc gọi điện thoại nhận được mỗi giây. Phân phối Poisson có thể giúp chúng tôi xác định tần suất chúng tôi có thể mong đợi một sự kiện trên mạng, chẳng hạn như tìm kiếm khách hàng theo hàng hoặc số vụ tai nạn xảy ra mỗi giờ.: Let’s say that you are out on a long drive. The rate of occurrences of good restaurants in a range of 10 miles (or km) is 2. In other words, the mean number of occurrences of restaurants in a range of 10 KM or miles is 2. What is the probability that 0, 1, 2, 3, 4, or 5 restaurants will occur in the next 10 km.
Hướng dẫn poisson distribution in python from scratch - phân phối poisson trong python từ đầu

Sau đây là các tiêu chí chính mà biến ngẫu nhiên tuân theo phân phối Poisson.Python code will look like, along with the plot for the Poisson probability distribution modeling the probability of the different number of restaurants ranging from 0 to 5 that one could find within 10 KM given the mean number of occurrences of the restaurant in 10 KM is 2. Scipy.stats Poisson class is used along with pmf method to calculate the value of probabilities.

from scipy.stats import poisson
import matplotlib.pyplot as plt
#
# Random variable representing number of restaurants
# Mean number of occurences of restaurants in 10 KM is 2
#
X = [0, 1, 2, 3, 4, 5]
lmbda = 2
#
# Probability values
#
poisson_pd = poisson.pmf(X, lmbda)
#
# Plot the probability distribution
#
fig, ax = plt.subplots(1, 1, figsize=(8, 6))
ax.plot(X, poisson_pd, 'bo', ms=8, label='poisson pmf')
plt.ylabel("Probability", fontsize="18")
plt.xlabel("X - No. of Restaurants", fontsize="18")
plt.title("Poisson Distribution - No. of Restaurants Vs Probability", fontsize="18")
ax.vlines(X, 0, poisson_pd, colors='b', lw=5, alpha=0.5)

Các sự kiện cá nhân xảy ra ngẫu nhiên và độc lập trong một khoảng thời gian nhất định. Đây có thể là một khoảng thời gian hoặc không gian.

Hướng dẫn poisson distribution in python from scratch - phân phối poisson trong python từ đầu
Số lượng trung bình xảy ra của các sự kiện trong một khoảng (thời gian hoặc không gian) là hữu hạn và được biết đến. Số lần xuất hiện trung bình được biểu thị bằng cách sử dụng \ (\ lambda \)
  • Biến ngẫu nhiên x biểu thị số lần mà sự kiện xảy ra trong khoảng thời gian hoặc không gian đã cho. Nếu một biến ngẫu nhiên X tuân theo phân phối Poisson, nó được biểu diễn dưới dạng sau:: Let’s say that the number of buses that come on a bus stop in span of 30 minutes is 1. Poisson distribution can be used to model the probability of different number of buses, X, coming to the bus stop within the next 30 minutes where X can take value of 0, 1, 2, 3, 4.
Hướng dẫn poisson distribution in python from scratch - phân phối poisson trong python từ đầu

X ~ po (\ (\ lambda \))Python code will look like, along with the plot for the Poisson probability distribution modeling the probability of a different numbers of buses ranging from 0 to 4 that could arrive on the bus stop within 30 min given the mean number of occurrences of buses in 30 min interval is 1.

from scipy.stats import poisson
import matplotlib.pyplot as plt
#
# Random variable representing number of buses
# Mean number of buses coming to bus stop in 30 minutes is 1
#
X = [0, 1, 2, 3, 4]
lmbda = 1
#
# Probability values
#
poisson_pd = poisson.pmf(X, lmbda)
#
# Plot the probability distribution
#
fig, ax = plt.subplots(1, 1, figsize=(8, 6))
ax.plot(X, poisson_pd, 'bo', ms=8, label='poisson pmf')
plt.ylabel("Probability", fontsize="18")
plt.xlabel("X - No. of Buses", fontsize="18")
plt.title("Poisson Distribution - No. of Buses Vs Probability", fontsize="18")
ax.vlines(X, 0, poisson_pd, colors='b', lw=5, alpha=0.5)

Dưới đây là cách biểu đồ phân phối xác suất Poisson sẽ trông giống như thể hiện xác suất của số lượng xe buýt khác nhau đến trạm xe buýt trong 30 phút tới với số lượng xe buýt trung bình đến trong vòng 30 phút trên điểm dừng đó là 1.

Hướng dẫn poisson distribution in python from scratch - phân phối poisson trong python từ đầu
Hình 2. Phân phối xác suất Poisson (x = Số xe buýt trong 30 phút)

Dưới đây là một vài ví dụ khác về phân phối Poisson.

  • Số lượng khách hàng ghé thăm siêu thị: Trong một siêu thị, có bao nhiêu khách hàng ghé thăm cửa hàng mỗi ngày là một ví dụ về phân phối Poisson. Nếu số lượng khách hàng trung bình đến siêu thị vào các ngày trong tuần là 50, thì việc biết thông tin này có thể giúp các nhà quản lý cửa hàng quyết định có bao nhiêu nhân viên cần thiết để phục vụ khách hàng.: In a supermarket, how many customers visit the store per day is an example of Poisson distribution. If the average number of customers visiting a supermarket on weekdays is 50, then knowing this information can help the store managers decide how many staff members are needed for serving the customers.
  • Số lượng cuộc gọi điện thoại trong trung tâm cuộc gọi: Số lượng cuộc gọi điện thoại nhận được bởi một trung tâm cuộc gọi trong một ngày có thể được coi là một ví dụ về biến ngẫu nhiên phân phối Poisson. Trong trường hợp này, nó sẽ giúp xác định liệu có bất kỳ sự bất thường nào cần được sự chú ý ngay lập tức từ các nhà quản lý hay không.: The number of phone calls received by a call center in one day can be considered as an example of a Poisson distributed random variable. In this case, it will help to determine whether or not there are any irregularities that need immediate attention from managers.
  • Số lượng các mặt hàng bị lỗi được sản xuất bởi một nhà máy: số lượng hàng hóa bị lỗi được sản xuất trong một lần chạy sản xuất có thể được coi là một ví dụ về phân phối Poisson. Điều này rất quan trọng cho mục đích kiểm soát chất lượng để đảm bảo rằng khách hàng có được loại sản phẩm phù hợp và số lượng sản phẩm họ trả tiền. Nếu số lượng các mặt hàng bị lỗi trung bình được sản xuất bởi nhà máy mỗi ngày là mười, thì thông tin này có thể được sử dụng để xác định có bao nhiêu thanh tra viên để kiểm tra các hàng hóa này hoặc nếu cần phải tăng khả năng sản xuất.: The number of defective goods that are made in one production run can be considered as an example of Poisson distribution. This is important for quality control purposes to ensure that customers are getting the right kind and quantity of products they pay for. If the average number of defective items produced by the factory per day is ten, then this information can be used to determine how many inspectors are needed for checking these goods or if there needs to be an increase in production capacity.
  • Tổng lượng mưa nhận được tại một địa điểm cụ thể trong mùa hè: phân phối Poisson giúp chúng tôi mô hình hóa lượng mưa rơi trên một khu vực cụ thể trong mùa hè. Nếu tổng lượng mưa trung bình nhận được bởi một địa điểm vào mùa hè là 100mm, thì việc biết thông tin này có thể giúp mọi người lên kế hoạch cho nhiều cơ sở lưu trữ nước hoặc hệ thống thu hoạch nước mưa để tránh sự bất tiện của sự khan hiếm nước.: The Poisson distribution helps us model the amount of rain that falls on a particular area during the summer. If the average total rainfall received by a place in summers is 100mm, then knowing this information can help people plan for more water storage facilities or rainwater harvesting systems to avoid inconveniences of water scarcity.
  • Số lượng cuộc gọi điện thoại được thực hiện trên dịch vụ trò chuyện trực tuyến: Số lượng cuộc gọi điện thoại được thực hiện bằng dịch vụ trò chuyện trực tuyến trong một giờ có thể được coi là một ví dụ về biến ngẫu nhiên phân phối Poisson. Trong trường hợp này, nó sẽ giúp xác định liệu có bất kỳ sự bất thường nào cần được sự chú ý ngay lập tức từ các nhà quản lý hay không.: The number of phone calls made using an online chat service in one hour can be considered as an example of a Poisson distributed random variable. In this case, it will help to determine whether or not there are any irregularities that need immediate attention from managers.
  • Số lượng sinh viên đăng ký cho một khóa học cụ thể được cung cấp bởi Trường: Số lượng sinh viên đăng ký cho một lớp học nhất định tại một trường đại học có thể được coi là một ví dụ về phân phối Poisson. Thông tin này rất hữu ích để xác định số lượng nhân viên giảng dạy cần thiết cho mỗi lớp và các cơ sở khác như lớp học, máy tính, vv cần thiết.: The number of students who register for a certain class at a college can be considered as an example of Poisson distribution. This information is helpful to determine the number of teaching staff required for each class and other facilities like classrooms, computers, etc that are needed.
  • Số lượng tai nạn trên một tuyến đường cụ thể mỗi ngày: số vụ tai nạn xe hơi xảy ra trên đường cao tốc hoặc đường cao tốc mỗi ngày có thể được coi là một ví dụ về phân phối Poisson. Điều này là do số lượng tai nạn là không thể đoán trước và ngẫu nhiên trong tự nhiên. Nếu tỷ lệ trung bình mà chúng xảy ra là năm, thì việc biết thông tin này có thể giúp xác định xem có bất kỳ đường cong nguy hiểm hay các yếu tố nào khác góp phần vào các vụ tai nạn này và cần được chú ý ngay lập tức từ các kỹ sư đường bộ.: The number of car accidents that occur on expressways or highways per day can be considered as an example of Poisson distribution. This is because the number of accidents is unpredictable and random in nature. If the average rate at which they occur is five, then knowing this information can help determine if there are any dangerous curves or other factors that contribute to these accidents and need immediate attention from road engineers.
  • Số lượng khách hàng tức giận tại một ngân hàng: Số lượng khách hàng thất vọng xuất hiện tại các ngân hàng để khiếu nại hoặc đưa ra mối quan tâm của họ về các vấn đề cụ thể cũng nên tuân theo mô hình phân phối Poisson. Điều này là do số lượng khách hàng tức giận đến và đi hàng ngày phụ thuộc phần lớn vào các yếu tố như thời tiết, điều kiện giao thông, v.v.: The number of frustrated customers who show up at banks to lodge complaints or raise their concerns about specific issues should also follow the Poisson distribution pattern. This is because the number of angry customers who come and go on a daily basis depends largely on factors such as weather, traffic condition, etc.

Kết luận

Dưới đây là bản tóm tắt những gì bạn đã học trong bài đăng này liên quan đến phân phối xác suất Poisson:

  • Phân phối Poisson là một phân phối xác suất riêng biệt.
  • Xác suất xảy ra của một sự kiện trong một khoảng (thời gian hoặc không gian) được đo bằng cách sử dụng phân phối Poisson do các sự kiện riêng lẻ độc lập với nhau và số lần xuất hiện trung bình của sự kiện trong khoảng là hữu hạn.
  • Kỳ vọng và phương sai của biến ngẫu nhiên sau phân phối Poisson giống như số lần xuất hiện trung bình của một sự kiện trong khoảng thời gian đã cho (thời gian hoặc không gian)

  • Tác giả
  • Bài viết gần đây

Hướng dẫn poisson distribution in python from scratch - phân phối poisson trong python từ đầu

Gần đây tôi đã làm việc trong lĩnh vực phân tích dữ liệu bao gồm khoa học dữ liệu và học máy / học sâu. Tôi cũng đam mê các công nghệ khác nhau bao gồm các ngôn ngữ lập trình như Java/JEE, JavaScript, Python, R, Julia, v.v. vv Để cập nhật và blog mới nhất, hãy theo dõi chúng tôi trên Twitter. Tôi rất thích kết nối với bạn trên LinkedIn.

Kiểm tra cuốn sách mới nhất của tôi có tiêu đề là Nguyên tắc đầu tiên suy nghĩ: Xây dựng các sản phẩm chiến thắng bằng cách sử dụng suy nghĩ nguyên tắc đầu tiên

Hướng dẫn poisson distribution in python from scratch - phân phối poisson trong python từ đầu

Ajitesh Kumar

Gần đây tôi đã làm việc trong lĩnh vực phân tích dữ liệu bao gồm khoa học dữ liệu và học máy / học sâu. Tôi cũng đam mê các công nghệ khác nhau bao gồm các ngôn ngữ lập trình như Java/JEE, JavaScript, Python, R, Julia, v.v. vv Để cập nhật và blog mới nhất, hãy theo dõi chúng tôi trên Twitter. Tôi rất thích kết nối với bạn trên LinkedIn. Kiểm tra cuốn sách mới nhất của tôi có tiêu đề là Nguyên tắc đầu tiên suy nghĩ: Xây dựng các sản phẩm chiến thắng bằng cách sử dụng suy nghĩ nguyên tắc đầu tiên

Làm thế nào để bạn tạo một phân phối Poisson trong Python?

Ví dụ phân phối Poisson trong Python..
Nhập Numpy như NP Nhập matplotlib. Pyplot như PLT từ Scipy. ....
k = np. ....
PMF = Poisson. ....
Đối với val, prob trong zip (k, pmf): in (f "k-value {val} có xác suất = {prob}") ....
plt. ....
CDF = Poisson. ....
Đối với val, prob trong zip (k, cdf): in (f "k-value {val} có xác suất = {prob}") ....

Làm thế nào để bạn mã hóa một bản phân phối Poisson?

Phân phối là một hàm lấy số lần xuất hiện của sự kiện làm đầu vào (số nguyên gọi K trong công thức tiếp theo) và đưa ra xác suất tương ứng (xác suất có k sự kiện xảy ra).Phân phối Poisson, được ký hiệu là POI được thể hiện như sau: POI (k; λ) = λke - λk!Poi(k;λ)=λke−λk!

Làm thế nào để bạn tạo một phân phối trong Python?

Phân phối nhị thức Trong Python Bạn có thể tạo biến ngẫu nhiên phân tán nhị phân bằng phương thức Binom.rvs () của SCIPYĐể thay đổi phân phối sử dụng tham số LỘC.using scipy. stats module's binom. rvs() method which takes $n$ (number of trials) and $p$ (probability of success) as shape parameters. To shift distribution use the loc parameter.

Làm thế nào để bạn mô phỏng Poisson?

Mô phỏng một quy trình Poisson cho tỷ lệ mắc trung bình đã cho λ, sử dụng kỹ thuật nghịch đảo-CDF để tạo thời gian liên quân.Tạo thời gian đến thực tế bằng cách xây dựng tổng thời gian đến của khoảng thời gian.use the inverse-CDF technique to generate inter-arrival times. Generate actual arrival times by constructing a running-sum of the interval arrival times.