Hướng dẫn how do you plot an exponential distribution in python? - làm thế nào để bạn vẽ biểu đồ phân phối theo cấp số nhân trong python?
Phân phối theo cấp số nhân là một phân phối xác suất được sử dụng để mô hình hóa thời gian chúng ta phải đợi cho đến khi một sự kiện nhất định xảy ra. Show
Nếu một biến ngẫu nhiên x tuân theo phân phối theo cấp số nhân, thì chức năng phân phối tích lũy của & nbsp; có thể được viết là:he cumulative distribution function of X can be written as: F (x; λ) = 1-e-λx where:
Hướng dẫn này giải thích cách sử dụng phân phối theo cấp số nhân trong Python. Cách tạo phân phối theo cấp số nhânBạn có thể sử dụng hàm expon.rvs (tỷ lệ, kích thước) từ thư viện SCIPY trong Python để tạo các giá trị ngẫu nhiên từ phân phối theo cấp số nhân với tham số tốc độ cụ thể và kích thước mẫu:expon.rvs(scale, size) function from the SciPy library in Python to generate random values from an exponential distribution with a specific rate parameter and sample size: from scipy.stats import expon #generate random values from exponential distribution with rate=40 and sample size=10 expon.rvs(scale=40, size=10) array([116.5368323 , 67.23514699, 12.00399043, 40.74580584, 34.60922432, 2.68266663, 22.70459831, 97.66661811, 6.64272914, 46.15547298]) Lưu ý: Bạn có thể tìm thấy tài liệu đầy đủ cho thư viện SCIPY tại đây.: You can find the complete documentation for the SciPy library here. Cách tính xác suất bằng cách sử dụng phân phối theo cấp số nhânGiả sử số phút trung bình giữa các vụ phun trào đối với một mạch nước phun nhất định là 40 phút. Xác suất mà chúng ta sẽ phải đợi dưới 50 phút cho một vụ phun trào là gì? Để giải quyết điều này, trước tiên chúng ta cần tính toán tham số tỷ lệ:
Chúng ta có thể cắm λ = .025 và x = 50 vào công thức cho CDF:
Xác suất mà chúng tôi sẽ phải chờ ít hơn 50 phút cho vụ phun trào tiếp theo là & nbsp; 0,7135.0.7135. Chúng ta có thể sử dụng hàm expon.cdf () từ SCIPY để giải quyết vấn đề này trong Python:expon.cdf() function from SciPy to solve this problem in Python: from scipy.stats import expon #calculate probability that x is less than 50 when mean rate is 40 expon.cdf(x=50, scale=40) 0.7134952031398099 Xác suất mà chúng tôi sẽ phải chờ ít hơn 50 phút cho vụ phun trào tiếp theo là & nbsp; 0,7135.0.7135. Chúng ta có thể sử dụng hàm expon.cdf () từ SCIPY để giải quyết vấn đề này trong Python: Điều này phù hợp với giá trị mà chúng tôi tính bằng tay.Cách vẽ sơ đồ phân phối theo cấp số nhân from scipy.stats import expon import matplotlib.pyplot as plt #generate exponential distribution with sample size 10000 x = expon.rvs(scale=40, size=10000) #create plot of exponential distribution plt.hist(x, density=True, edgecolor='black') Bạn có thể sử dụng cú pháp sau để vẽ phân phối theo cấp số nhân với tham số tỷ lệ đã cho:Tài nguyên bổ sung Các hướng dẫn sau đây giải thích cách sử dụng các phân phối phổ biến khác trong Python: Phân phối theo cấp số nhân là phân phối xác suất của thời gian giữa các sự kiện trong quá trình điểm Poisson, tức là, một quá trình trong đó các sự kiện xảy ra liên tục và độc lập với tốc độ trung bình không đổi. Đó là một trường hợp cụ thể của phân phối gamma. Ví dụ: khách hàng đến cửa hàng, yêu cầu tệp trên máy chủ, v.v. Hàm mật độ xác suất (PDF) của phân phối theo cấp số nhân được định nghĩa là:probability density function (pdf) of exponential distribution is defined as: Trong đó, là tham số tỷ lệ là nghịch đảo của tham số tốc độ = 1/. Một phân phối theo cấp số nhân có giá trị trung bình β và phương sai 2. Hàm phân phối tích lũy (CDF) được đánh giá tại X, là xác suất mà biến ngẫu nhiên (x) sẽ có giá trị nhỏ hơn hoặc bằng x. CDF của phân phối theo cấp số nhân được định nghĩa là:cumulative distribution function (cdf) evaluated at x, is the probability that the random variable (X) will take a value less than or equal to x. The cdf of exponential distribution is defined as: Hàm ngẫu nhiên numpy.Exential () trả về các mẫu ngẫu nhiên từ phân phối theo cấp số nhân.random.exponential() function returns random samples from a exponential distribution. Cú phápnumpy.random.exponential(scale=1.0, size=None) Thông số
Giá trị trả vềTrả về các mẫu từ phân phối theo cấp số nhân được tham số hóa. ndarray hoặc vô hướng. Ví dụ: Các giá trị từ phân phối theo cấp số nhânTrong ví dụ dưới đây, hàm ngẫu nhiên import numpy as np size = (5,3) sample = np.random.exponential(1, size) print(sample) Đầu ra có thể của mã trên có thể là: [[0.71318134 0.51261985 2.21255627] [0.38593481 0.54545811 0.39075276] [0.56583485 1.59475025 0.13879821] [0.82487244 0.20735562 1.33014896] [0.21085364 1.06640552 1.33323175]] Ví dụ: Biểu đồ mật độMatplotlib là một thư viện sơ đồ cho python có thể được sử dụng để vẽ đồ thị hàm mật độ xác suất (PDF) của phân phối theo cấp số nhân sử dụng hàm hist (). import matplotlib.pyplot as plt import numpy as np #fixing the seed for reproducibility #of the result np.random.seed(10) size = 10000 #drawing 10000 sample from #exponential distribution sample = np.random.exponential(1, size) bin = np.arange(0,10,0.1) plt.hist(sample, bins=bin, edgecolor='blue') plt.title("Exponential Distribution") plt.show() Đầu ra của mã trên sẽ là: Ví dụ: So sánh PDFSNhiều hàm mật độ xác suất có thể được so sánh bằng đồ họa sử dụng hàm kdeplot () seeborn. Trong ví dụ dưới đây, PDF của ba phân phối theo cấp số nhân (với yếu tố tỷ lệ 1, 2 và 3 tương ứng) được so sánh.kdeplot() function. In the example below, pdf of three exponential distributions (with scale factor 1, 2 and 3 respectively) are compared. import numpy as np import matplotlib.pyplot as plt import seaborn as sns #fixing the seed for reproducibility #of the result np.random.seed(10) size = 1000 #plotting 1000 sample from #different exponential distribution sns.kdeplot(np.random.exponential(1, size)) sns.kdeplot(np.random.exponential(2, size)) sns.kdeplot(np.random.exponential(3, size)) plt.legend([r"$\beta = 1$", r"$\beta = 2$", r"$\beta = 3$"]) plt.show() Đầu ra của mã trên sẽ là: Ví dụ: So sánh PDFSNhiều hàm mật độ xác suất có thể được so sánh bằng đồ họa sử dụng hàm kdeplot () seeborn. Trong ví dụ dưới đây, PDF của ba phân phối theo cấp số nhân (với yếu tố tỷ lệ 1, 2 và 3 tương ứng) được so sánh.ecdfplot() function. In the example below, cdf of three exponential distributions (with scale factor 1, 2 and 3 respectively) are compared. import numpy as np import matplotlib.pyplot as plt import seaborn as sns #fixing the seed for reproducibility #of the result np.random.seed(10) size = 1000 #plotting 1000 sample from #different exponential distribution sns.ecdfplot(np.random.exponential(1, size)) sns.ecdfplot(np.random.exponential(2, size)) sns.ecdfplot(np.random.exponential(3, size)) plt.legend([r"$\beta = 1$", r"$\beta = 2$", r"$\beta = 3$"]) plt.show() Đầu ra của mã trên sẽ là: Làm thế nào để bạn tạo một phân phối theo cấp số nhân trong Python?Phân phối theo cấp số nhân là một phân phối xác suất được sử dụng để mô hình hóa thời gian chúng ta phải đợi cho đến khi một sự kiện nhất định xảy ra. Trong đó: λ: tham số tốc độ (được tính là = 1/μ).. P (x ≤ x) = 1 - e. -λx. P (x ≤ 50) = 1 - e. -.025 (50). P (x ≤ 50) = 0,7135 .. Làm thế nào để bạn tạo một phân phối theo cấp số nhân?Các bước liên quan như sau ... Tính toán CDF của biến ngẫu nhiên mong muốn.Đối với phân phối theo cấp số nhân, CDF là .. Đặt r = f (x) trên phạm vi của..... Giải phương trình f (x) = r cho..... Tạo (khi cần) số ngẫu nhiên đồng nhất và tính toán các biến thể ngẫu nhiên mong muốn bằng cách .. Làm thế nào để bạn vẽ phân phối xác suất trong Python?Trước tiên, bạn tạo một AX AX AX.Ở đây, bạn có thể chỉ định số lượng thùng trong biểu đồ, chỉ định màu của biểu đồ và chỉ định tùy chọn sơ đồ mật độ với tùy chọn KDE và lineDwidth với hist_kws.Bạn cũng có thể đặt nhãn cho trục X và Y bằng các đối số XLabel và YLabel.create a plot object ax . Here, you can specify the number of bins in the histogram, specify the color of the histogram and specify density plot option with kde and linewidth option with hist_kws . You can also set labels for x and y axis using the xlabel and ylabel arguments.
Làm thế nào để bạn cho thấy rằng một phân phối là theo cấp số nhân?Nó có thể được hiển thị cho phân phối theo cấp số nhân rằng giá trị trung bình bằng độ lệch chuẩn;tức là, = = 1/λ Ngoài ra, phân phối theo cấp số nhân là phân phối liên tục duy nhất là "không nhớ", theo nghĩa là p (x> a+b | x> a) = p (x> b).μ = σ = 1/λ Moreover, the exponential distribution is the only continuous distribution that is "memoryless", in the sense that P(X > a+b | X > a) = P(X > b). |