Cara menggunakan distribusi eksponensial dengan python
Distribusi eksponensial adalah distribusi probabilitas yang digunakan untuk memodelkan waktu kita harus menunggu hingga suatu peristiwa tertentu terjadi.
Jika suatu variabel acak X mengikuti distribusi eksponensial, maka fungsi distribusi kumulatif X dapat ditulis:
F (x; λ) = 1 – e -λx
Emas:
- λ: parameter laju (dihitung sebagai λ = 1/μ)
- e: Konstanta yang kira-kira sama dengan 2,718
Tutorial ini menjelaskan cara menggunakan distribusi eksponensial dengan Python.
Cara menghasilkan distribusi eksponensial
Anda dapat menggunakan fungsi expon.rvs(scale, size) dari perpustakaan SciPy dengan Python untuk menghasilkan nilai acak dari distribusi eksponensial dengan parameter laju dan ukuran sampel tertentu:
from scipy. stats import expo #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])
Catatan : Anda dapat menemukan dokumentasi lengkap perpustakaan SciPy di sini .
Cara Menghitung Probabilitas Menggunakan Distribusi Eksponensial
Asumsikan rata-rata jumlah menit antara letusan geyser tertentu adalah 40 menit. Seberapa besar kemungkinan kita harus menunggu kurang dari 50 menit untuk terjadinya letusan?
Untuk mengatasi masalah ini, pertama-tama kita perlu menghitung parameter laju:
- λ = 1/µ
- = 1/40
- = 0,025
Kita dapat memasukkan λ = 0,025 dan x = 50 ke dalam rumus CDF:
- P(X ≤ x) = 1 – e -λx
- P(X ≤ 50) = 1 – e -0,025(50)
- P(X ≤ 50) = 0,7135
Peluang kita harus menunggu kurang dari 50 menit untuk letusan berikutnya adalah 0,7135 .
Kita dapat menggunakan fungsi expon.cdf() SciPy untuk menyelesaikan masalah ini dengan Python:
from scipy. stats import expo #calculate probability that x is less than 50 when mean rate is 40 expon. cdf (x=50, scale=40) 0.7134952031398099
Peluang kita harus menunggu kurang dari 50 menit untuk letusan berikutnya adalah 0,7135 .
Ini sesuai dengan nilai yang kami hitung secara manual.
Cara memplot distribusi eksponensial
Anda dapat menggunakan sintaks berikut untuk memplot distribusi eksponensial dengan parameter laju tertentu:
from scipy. stats import expo 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 ')
Sumber daya tambahan
Tutorial berikut menjelaskan cara menggunakan distribusi umum lainnya dengan Python:
Cara menggunakan distribusi Poisson dengan Python
Cara menggunakan distribusi t dengan Python
Cara Menggunakan Distribusi Seragam dengan Python