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

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *