Python'da üstel dağılım nasıl kullanılır?


Üstel dağılım, belirli bir olay gerçekleşene kadar beklememiz gereken süreyi modellemek için kullanılan bir olasılık dağılımıdır.

Eğer bir X rastgele değişkeni üstel bir dağılım izliyorsa, X’in kümülatif dağılım fonksiyonu şu şekilde yazılabilir:

F (x; λ) = 1 – e -λx

Altın:

  • λ: oran parametresi (λ = 1/μ olarak hesaplanır)
  • e: Yaklaşık olarak 2,718’e eşit bir sabit

Bu eğitimde Python’da üstel dağılımın nasıl kullanılacağı açıklanmaktadır.

Üstel dağılım nasıl oluşturulur?

Belirli bir oran parametresi ve örnek boyutu ile üstel bir dağılımdan rastgele değerler oluşturmak için Python’daki SciPy kütüphanesindeki expon.rvs(scale, size) işlevini kullanabilirsiniz:

 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])

Not : SciPy kitaplığı belgelerinin tamamını burada bulabilirsiniz.

Üstel Dağılım Kullanılarak Olasılıklar Nasıl Hesaplanır?

Belirli bir gayzerin patlamaları arasındaki ortalama dakika sayısının 40 dakika olduğunu varsayalım. Bir patlama için 50 dakikadan daha az beklemek zorunda kalmamız ne kadar muhtemeldir?

Bu sorunu çözmek için öncelikle oran parametresini hesaplamamız gerekir:

  • λ = 1/μ
  • λ = 1/40
  • λ = 0,025

λ = 0,025 ve x = 50’yi CDF formülüne koyabiliriz:

  • P(X ≤ x) = 1 – e -λx
  • P(X ≤ 50) = 1 – e -0,025(50)
  • P(X ≤ 50) = 0,7135

Bir sonraki patlama için 50 dakikadan az beklemek zorunda kalma olasılığımız 0,7135’tir .

Python’da bu sorunu çözmek için SciPy’nin expon.cdf() fonksiyonunu kullanabiliriz:

 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

Bir sonraki patlama için 50 dakikadan az beklemek zorunda kalma olasılığımız 0,7135’tir .

Bu bizim manuel olarak hesapladığımız değere karşılık geliyor.

Üstel dağılım nasıl çizilir

Belirli bir oran parametresiyle üstel bir dağılım çizmek için aşağıdaki sözdizimini kullanabilirsiniz:

 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 ')

Ek kaynaklar

Aşağıdaki eğitimlerde Python’da diğer yaygın dağıtımların nasıl kullanılacağı açıklanmaktadır:

Python’da Poisson dağılımı nasıl kullanılır?
Python’da t dağıtımı nasıl kullanılır?
Python’da Düzgün Dağıtım Nasıl Kullanılır

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir