Binom Olasılık Dağılımı Üzerine Bir Vaka Çalışması: A Case Study on Binomial Probability Distribution

Bir çok analiz yönteminin temelini olasılık dağılımları oluşturmaktadır. İşin esasında olasılıkları dağılımları tam anlaşılmadan analiz yöntemleri ile istenilen sonuçların elde edilmesi tek başına bazıları için yeterli olsa da işin felsefesini anlamak açısından kesinlikle yetersizdir. Bu nedenle bu çalışmada öncelikle kesikli (disrete) ve sürekli (continous) dağılımlar başlıklar halinde verildikten sonra kesikli dağılım türlerinden biri olan Binom (iki terimli) dağılımı uygulama örnekleriyle ele alınarak somutlaştırılacaktır. Uygulama örnekleri R programlama dili kullanılarak adım adım yapılacaktır.

Rastlantı ya da kesin olmayan olaylarla ilgilenen olasılık teorisi, rastlantı olaylarını belirli kurallara göre matematik disiplininde inceleyen bir bilim dalıdır. Burada, rastlantı olayından kasıt gerçekleşmesi şansa bağlı olan önceden bilinmeyen olaylardır.

İstatistikte ve makine öğrenmede, diğer bir deyişle veri biliminde sıklıkla kullanılan örneklem uzayına bağlı olarak olasılık fonksiyon türleri kesikli ve sürekli olmak üzere iki ana başlıkta ele alınmaktadır.

  1. Kesikli Olasılık Fonksiyonu: Olasılık fonksiyonlarından ilki olan kesikli olasılık fonksiyonu örneklem uzayından elde edilen sonlu veya sayılabilir sonsuz sayıda ayrık sonuçları içermektedir.
  2. Sürekli Olasılık Fonksiyonu: Olasılık fonksiyonlarından diğeri sürekli olasılık fonksiyonu ise örneklem uzayından elde edilen sayılamayacak sonsuz sayıda ve ayrık olmayan sonuçları içermektedir.

Kesikli olasılık fonksiyonu ile sürekli olasılık fonksiyonu arasındaki temel farkı şöyle ifade edilebilir: Kesikli olasılık fonksiyonunda kesikli örneklem uzayı noktaları baz alırken, sürekli olasılık fonksiyonunda sürekli örneklem uzayı aralıklarla ilgilenmektedir.

Bahsedilen kesikli ve sürekli olasılık fonksiyonlarına göre dağılımlar iki ana başlık altında verilmektedir.

A) Kesikli Dağılımlar (Discrete Distributions)

  1. Bernoulli Dağılımı
  2. Kesikli Uniform Dağılımı
  3. Binom Dağılımı
  4. Poisson Dağılımı
  5. Negatif Binom Dağılımı
  6. Geometrik Dağılım
  7. Hipergeometrik Dağılımı

B) Sürekli Dağılımlar (Continuous Distributions)

  1. Normal Dağılım
  2. Tekbiçimli Uniform Dağılım
  3. Cauchy Dağılımı
  4. t Dağılımı
  5. F Dağılımı
  6. Ki-kare Dağılımı
  7. Üstel Dağılım
  8. Weibull Dağılımı
  9. Lognormal Dağılımı
  10. Birnbaum-Saunders
  11. Gamma Dağılımı
  12. Çift Üstel Dağılımı
  13. Güç Normal Dağılımı
  14. Güç Lognormal Dağılımı
  15. Tukey-Lambda Dağılımı
  16. Uç Değer Tip I Dağılımı
  17. Beta Dağılımı

Binom Dağılımı

Olasılık teorisinde adını İsviçreli matematikçi Jacob Bernoulli’den alan Bernoulli dağılımı, bir denemenin iki sonucu (başarılı- başarısız, evet-hayır) olması durumunda kullanılan kesikli bir olasılık dağılımıdır. Binom dağılımı ise n kez tekrarlanan Bernoulli deneylerinden oluşmaktadır. Bernoulli dağılımında deney bir kez yapılarak başarılı olma/olmama durumu ile ilgilenirken binom dağılımı rastgele deney aynı koşullar altında n kez tekrarlanır. Diğer bir ifadeyle, eğer deney birden fazla ve bağımsız olarak tekrarlanılıp ve başarılı olma durumu ile ilgilenilirse o zaman Bernoulli dağılımının özel bir durumu olan Binom dağılımının kullanılması gerekmektedir. Eğer binom dağılımında denemelerin sayısı sonsuzsa Poisson dağılımına evrilir. Binom dağılımında kullanılan parametreler Tablo 1’de verilmiştir. Binom dağılımında n denemelerin sayısı göstermek üzere n>1’den büyük iken Bernoulli dağılımında n=1’dir.

Tablo 1: Binom Dağılım Parametreleri

Binom Olasılık Kütle Fonksiyonu (PMF)

Tablo 1’deki parametreler kullanılarak oluşturulan Binom olasılık kitle fonksiyonu (pmf) aşağıdaki eşitlikte verilmiştir.

Örnek Uygulamalar

Örnek uygulamalara geçilmeden önce R’da yüklenmesi gereken kütüphaneleri aşağıda verelim. Daha önce aşağıdaki kütüphaneler kurulmamışsa lütfen kurunuz. R studio’yu sıklıkla kullandığım için gerek arayüzünün kullanım kolaylığı gerekse verimli olması açısından R konsol yerine R Studio arayüzünün kullanılması önerilmektedir. Eğer R yüklü değilse yapılan bu işlemleri bulutta yer alan R programlama yazılımını da kullanarak yapabilir ve R Studio arayüzünden bu platform üzerinden yararlanabilirsiniz. Sıklıkla bulut üzerindeki R Studio’yu da şahsen kullanmaktayım. Aşağıda linkten buluta giriş sağlayabilirsiniz. Sıklıkla

RStudio Cloud: https://login.rstudio.cloud/

gereklikütüphaneler<-sapply(c("dplyr","tibble","tidyr","ggplot2","formattable","ggthemes","readr","readxl","xlsx","ggpubr","formattable", "ggstance"), require, character.only = TRUE)
gereklikütüphaneler

Örnek 1: Ortalama, Varyans, Basıklık ve Çarpıklık Değerlerinin Hesaplanması

İlk olarak Bernoulli dağılımında başarı olasılığı verilen bir deneyin ortalama, varyans, basıklık ve çarpıklık değerlerine bakalım. Başarı olasılığımız (p) 0,6 olsun. Denemelerin sayısı (n) 8, örneklem uzayımız ise {0,…, n}’dir. Aşağıda yazılan R kod bloğunda Binom dağılımına ait ortalama, varyans, basıklık ve çarpıklık değerlerini hesaplayalım.

n<-8#denemelerin sayısı
x<-0:n#örneklem uzayı (8 kez)
p<-0.6#başarı olasılığı
 
ortalama=n*p
varyans=n*p*(1-p)
carpiklik=(1-2*p)/sqrt(varyans)
basiklik= (1/varyans)-6/n
formattable(cbind(ortalama, varyans,carpiklik, basiklik) %>% as_tibble() %>% mutate_if(is.numeric, round,3))

Yukarıdaki R kod bloğunun çalıştırılmasından sonra Bernoulli dağılımına ait elde edilen ortalama, varyans, çarpıklık ve basıklık değerleri aşağıdaki tabloda verilmiştir.

Örnek 2: Kütle Olasılık Fonksiyonu (PMF)’nun Hesaplanması

Bu kısımda varsayımsal ve orjinal bir örnekle Binom dağılımının kütle olasılık fonksiyonunu hesaplayalım. Bir süper lig futbol spor kulübünün son iki yılda yaptığı müsabakalarda 50 maçtan 30’unu kazanmıştır. Yapılacak tarafsız ve bağımsız 34 müsabakada başarılı olma olasılığını hesaplayarak, kütle olasılık fonksiyon grafiğini çizelim.

Bilinenler:

n=34 (denemelerin sayısı: müsabakaların sayısı)

Örneklem uzayı (x) ={0,1,2,3,….., n}

Kazanılan müsabaka sayısı = 30

Müsabaka sayısı = 50

Başarılı olma olasılığı (p) = 30/50 = 0,6

Şimdi verilenleri aşağıda yazdığım R kod bloğunda yerine koyalım.

n=34 #denemelerin sayısı (müsabaka sayısı)
x<-0:n #Örneklem uzayı 
p<-30/50 #kazanma olasılığı

#binom olasılıkları hesaplamak için
okf<-dbinom(x,size = n,prob = p)
okf
#alternatif formül
choose(n, x) * p^x * (1-p)^(n-x)

#grafiği çizmek için
sonuc<-okf %>% as_tibble() %>% mutate_if(is.numeric, round,8) %>%       mutate(Orneklem_Uzayı=seq(1,n+1, 1), Olasilik=as.numeric(value)) 
grafik<-sonuc[,-1] %>% ggplot(aes(x=Orneklem_Uzayı,y=Olasilik)) + geom_line(color="red", size=1.5) +
       guides(fill=FALSE) +
       ggtitle(paste("Binom Olasılık Kütle Fonksiyonu (PMF)","(p=",round(p,2),",","n=",n,")")) +
       ylab("Olasılık")+
       xlab("Örneklem Uzayı")+
       theme_igray()+
       theme(plot.title = element_text(hjust = 0.5))
grafik

Yukarıdaki R kod bloğu çalıştırıldıktan sonra elde edilen Binom olasılık değerleri aşağıda verilmiştir.

[1] 2.951479e-14 1.505254e-12 3.725504e-11 5.960807e-10 6.929438e-09
 [6] 6.236494e-08 4.521458e-07 2.712875e-06 1.373393e-05 5.951370e-05
[11] 2.231764e-04 7.303954e-04 2.099887e-03 5.330482e-03 1.199358e-02
[16] 2.398717e-02 4.272714e-02 6.786075e-02 9.613607e-02 1.214350e-01
[21] 1.366144e-01 1.366144e-01 1.210900e-01 9.476612e-02 6.515171e-02
[26] 3.909103e-02 2.029726e-02 9.021006e-03 3.382877e-03 1.049858e-03
[31] 2.624646e-04 5.079960e-05 7.143694e-06 6.494267e-07 2.865118e-08

Binom olasılık değerlerinin grafiğe yansıtılmış hali ise aşağıda verilmiştir.

Binom Kümülatif Dağılım Fonksiyonu (CDF)

Binom olasılık dağılımda kümülatif dağılım fonksiyonu aşağıdaki eşitlik yardımıyla hesaplanmaktadır.

Örnek 3: Kümülatif Dağılım Fonksiyonu (CDF)’nunun Hesaplanması

Aşağıda yazılan R kod bloğunda ise yukarıdaki müsabaka örneğinden hareketle kümülatif dağılım fonksiyonu hesaplanmıştır.

n=34#denemelerin sayısı (müsabaka sayısı)
x<-0:n# Örneklem uzayı 
p<-30/50# başarı olasılığı

#kümülatif dağılım fonkiyonunu hesaplamak için
kdf<-pbinom(x,size = n,prob = p)

#grafiği çizmek için
sonuc<-kdf %>% as_tibble() %>% mutate_if(is.numeric, round,8) %>%       mutate(Orneklem_Uzayı=seq(1,n+1, 1), Olasilik=as.numeric(value)) 
grafik<-sonuc[,-1] %>% ggplot(aes(x=Orneklem_Uzayı,y=Olasilik)) + geom_line(color="red", size=1.5) +
       guides(fill=FALSE) +
       ggtitle(paste("Binom Kümülatif Dağılım Fonksiyonu (CDF)","(p=",round(p,2),",","n=",n,")")) +
       ylab("Olasılık")+
       xlab("Örneklem Uzayı")+
       theme_igray()+
       theme(plot.title = element_text(hjust = 0.5))
grafik

Yukarıdaki R kod bloğunun çalıştırılmasından sonra elde edilen kümülatif olasılık değerleri aşağıda verilmiştir. Kümülatif olasılık değerlerini hesapladığımız için aşağıda da görüleceği üzere her halükarda son olasılık değeri 1’e eşittir.

[1] 2.951479e-14 1.534769e-12 3.878981e-11 6.348705e-10 7.564309e-09
 [6] 6.992925e-08 5.220751e-07 3.234950e-06 1.696888e-05 7.648258e-05
[11] 2.996589e-04 1.030054e-03 3.129941e-03 8.460423e-03 2.045401e-02
[16] 4.444117e-02 8.716832e-02 1.550291e-01 2.511651e-01 3.726002e-01
[21] 5.092146e-01 6.458290e-01 7.669190e-01 8.616852e-01 9.268369e-01
[26] 9.659279e-01 9.862252e-01 9.952462e-01 9.986291e-01 9.996789e-01
[31] 9.999414e-01 9.999922e-01 9.999993e-01 1.000000e+00 1.000000e+00

Şimdi de hesaplanan bu kümülatif olasılık değerlerine göre kümülatif olasılık fonksiyonu (CDF:Cumulative Distribution Function)’nun grafiğini çizelim.

Binom Dağılımına Göre Örneklem Seçimi

Binom dağılımına uygun olarak yukarıdaki müsabaka örneğinden hareketle tekrarlı basit tesadüfi örneklem yöntemini kullanarak ve hesaplanan olasılık değerleri dikkate alınarak deneme sayısı (n)’nın 34, örneklem büyüklüğünün ise 1000 olduğu örneklem üretelim. Ardından üretilen bu örneklem hem yoğunluk grafiğini hem de histogramı çizelim.

p<-30/50# başarı olasılığı
n<-1000#örneklem büyüklüğü
#Binom dağılıma uygun örneklem seçimi
set.seed(1)#değerleri sabitlemek için
nbd<-tibble(Sayi=rbinom(n,size = 34,prob = p))
ggplot(nbd, aes(x=Sayi)) + 
geom_histogram(aes(y=..density..),bins=100,binwidth=.3, fill="red")+
geom_density(alpha=.3, fill="blue")+
xlab("Örneklem Uzayı")+
ylab("Yoğunluk")+
ggtitle(paste("Binom Örneklem Yoğunluk ve Sıklık Grafiği","(p=",round(p,2),",","n=",n,")"))+
theme(plot.title = element_text(hjust = 0.5))
#Alternatif olarak sadece yoğunluk grafiği verecek olursak
ggdensity(rbinom(n,size = 34,prob = p), xlab="",ylab="Yoğunluk",col="red")+
theme_economist()+
ggtitle(paste("Binom Örneklem Yoğunluk Grafiği","(p=",round(p,2),",","n=",n,")"))+
theme(plot.title = element_text(hjust = 0.5))

#sadece histogramı verecek olursak
set.seed(1)#değerleri sabitlemek için
nbd<-tibble(Sayi=rbinom(n,size = 34,prob = p))
ggplot(nbd, aes(x=Sayi)) + 
geom_histogram(bins=50,binwidth=.4,fill = "blue", alpha = 0.7)+
xlab("Örneklem Uzayı")+
ylab("Sıklık")+
ggtitle(paste("Binom Örneklem Histogramı","(p=",round(p,2),",","n=",n,")"))+
theme(plot.title = element_text(hjust = 0.5))+
theme_hc()

Yukarıdaki R kod bloğunun çalıştırılmasından sonra elde edilen Binom dağılımına uygun üretilen örneklemin histogram ve yoğunluk grafiği aşağıdaki verilmiştir.

Alternatif olarak daha net görebilmek adına sadece yoğunluk grafiği verecek olursak R kod bloğundaki ilgili alan çalıştırıldığında aşağıdaki grafik elde edilmiş olacaktır. Burada amaç biraz da grafiği farklı bir temayla sunmak :).

Alternatif olarak daha net görebilmek adına sadece histogramı verecek olursak R kod bloğundaki ilgili alan çalıştırıldığında aşağıdaki grafik elde edilmiş olacaktır.

İlave örnekler

Bir ralli pilotunun bir yarışı kazanma olasılığı 4/7’dir. X kazanma sayını göstermek üzere ve yarışların bağımsız olduğu varsayımına göre 10 kez yarış düzenlendiğinde,

  1. Yarışı 4 kez kazanma,
  2. Yarışı en az 4, en çok 9 defa kazanma,
  3. Yarışı 5 defadan fazla kazanma olasılıklarını

Binom dağılımına göre hesaplayalım.

# Bilinenler
n=10 #deneme sayısı
p=4/7 #yarışı kazanma olasılığı

#Yarışı 4 kez kazanma olasılığı
dbinom(4,size = n,prob = p)#sonuç:0.1387415

#Yarışı en az 4, en çok 9 defa kazanma
sum(dbinom(4:9,size = n,prob = p))#sonuç: 0.9171077

#Yarışı 5 defadan fazla kazanma olasılığı
sum(dbinom(6:10,size = n,prob = p))#sonuç:0.5600919

Yukarıdaki R kod bloğu çalıştırıldıktan sonra hesaplanan olasılıklar sırasıyla;

  1. Yarışı 4 kez kazanma olasılığı yaklaşık 0,140 (0,1387415)‘dır.
  2. Yarışı en az 4, en çok 9 defa kazanma olasılığı yaklaşık 0,92 (0.9171077)’dir.
  3. Yarışı 5 defadan fazla kazanma olasılığı yaklaşık 0,57 (0.5600919)’dir.

Yapılan bu çalışma ile özellikle veri bilimi (data science) ile ilgilenen akademi ve saha çalışanlarına bir katkı sunulması amaçlanmıştır.

Faydalı olması ve farkındalık oluşturması dileğiyle.

Bilimle ve teknolojiyle kalınız.

Saygılarımla.

Not: Kaynak gösterilmeden alıntı yapılamaz veya kopyalanamaz.

Note: It can not be cited or copied without referencing.

Yararlanılan Kaynaklar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s