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

Olasılık konusu öteden beri ilgimi çekmiş ve ara ara üzerine yoğunlaşma fırsatım olmuştur. Çoğu analiz yönteminin temelini oluşturan olasılık dağılımları da böyledir. İş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 Bernoulli 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. Bazı yerlerde hem excel üzerinde de uygulama yapılarak R programlama dili bilmeyenler için de kolaylık sağlanacaktı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ı

Bernoulli 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.

Bernoulli dağılımında deney bir kez yapılarak başarılı olma durumu ile ilgilenilir. 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. Bernolli dağılımının hesaplanmasında kullanılan parametreler Tablo 1’de verilmiştir.

Tablo 1: Bernoulli Dağılımı Parametreleri

Bernoulli Olasılık Kitle Fonksiyonu (PMF)

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

f(x) = px(1 − p)1−x

Ö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,4 olsun. Örnek uzayımız her koşulda iki çıktı olan {0,1}’dir. Aşağıda yazılan R kod bloğunda istenen parametre değerlerini hesaplayalım.

x<-0:1#örneklem uzayı
p<-0.4#başarı olasılığı

ortalama=p
varyans=p*(1-p)
carpiklik=(1-2*p)/sqrt(varyans)
basiklik= (1/varyans)-6
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: Kitle Olasılık Fonksiyonu (PMF)’nun Hesaplanması

Türkiye haritasında tesaüfi çekilen bir ilin büyükşehir olup olmama durumu ile ilgileniliyor. Büyükşehir seçilmesi başarı olarak ifade edildiği durumdaki kitle olasılık fonksiyonunu oluşturarak, hem olasılığı hesaplayalım hem de grafik üzerinde gösterimini yapalım.

Bilinenler:

Örneklem uzayı (x) ={Büyükşehir gelmemesi (0), Büyükşehir gelmesi (1)}

İl sayısı = 81

Büyükşehir sayısı = 30

Büyükşehir seçilme olasılığı (p) = 30/81 = 0,370

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

x<-0:1# Örneklem uzayı (x) ={Büyükşehir gelmemesi (0), Büyükşehir gelmesi (1)}
p<-30/81# büyükşehir gelme olasılığı
names(x)<-c("Büyükşehir Gelmemesi", "Büyükşehir Gelmesi")
okf <- p^x * (1-p)^(1-x) #oks: olasılık kitle fonksiyonu (pmf)
okf

#grafiğini çizmek için
barplot(okf, col="orange", ylim=c(0,max(okf)), main="Bernoulli Olasılık Kitle Fonksiyonu")

Yukarıdaki R kod bloğu çalıştırıldıktan sonra elde edilen olasılık değerleri Büyükşehir gelme ve gelmeme durumuna göre aşağıda verilmiştir. Elde edilen bulgular 81 il içerisinden Büyükşehir gelmesi durumunun olasılığının 0,37 (% 37) olduğunu göstermektedir.

Büyükşehir Gelmemesi   Büyükşehir Gelmesi 
           0.6296296            0.3703704 

Olasılık değerlerine elde ettikten sonra R kod bloğundaki ilgili kısmı çalıştırarak olasılık dağılımının grafiğini aşağıda verelim.

Bu sonuçların hepsini bir arada verecek aşağıda oluşturduğum fonksiyon ile de yapılması mümkündür. Oluşturduğum bu fonksiyonla ayrıca dağılımın varyansı, ortalaması, çarpıklık ve basıklık değerleri de elde edilebilmektedir.

# Olasılık kitle fonksiyonunu oluşturmak.
okff <- function(Vaka_Sayisi, Basarili_Vaka_Sayisi) {
   p<-Basarili_Vaka_Sayisi/Vaka_Sayisi
   sonuc <- tibble(Olasilik=matrix(round(p^c(0,1)* (1-p)^(1-c(0,1)),4), byrow=F, ncol=1)) %>% add_column(Durum=as.factor(c("Büyükşehir Olmama", "Büyükşehir Olma")), .before="Olasilik")
   print(sonuc)
   ortalama<-p
   varyans<-p*(1-p)
   carpiklik<-(1-2*p)/sqrt(varyans)
   basiklik <-(1/varyans)-6
   print(formattable(cbind(ortalama, varyans,carpiklik, basiklik) %>% as_tibble() %>% mutate_if(is.numeric, round,3)))
   grafik<-sonuc %>% ggplot(aes(x=Durum, y=Olasilik, fill=Durum)) +
             geom_bar(colour="black", stat="identity") +
             guides(fill=FALSE) +
             ggtitle(paste("Bernoulli Olasılık Kitle Fonksiyonu (PMF)","(p=",round(p,2),")")) +
             ylab("Olasılık")+
             theme_igray() +
             geom_text(aes(label=paste(round(Olasilik,3),"(%",round(Olasilik*100,1),")")), position=position_dodge(width=0.9), vjust=-0.25, colour = "black", fontface = "bold")
  print(grafik)
}

# Fonksiyonu çağırmak için: aşağıdaki alanı problem çözümünde kullanabilirsiniz.Sadece değerleri değiştirmeniz yeterli olacaktır.
okff(Vaka_Sayisi=81, Basarili_Vaka_Sayisi=30)

Yukarıdaki R kod bloğunda programlama mantığıyla geliştirdiğim fonksiyonun çalıştırılmasından sonra ilk olarak olasılıkları aşağıda verelim.

Olasılıkları verdikten sonra Bernoulli dağılımına ait tanımlayıcı istatistikleri verelim.

Şimdi de olasılıklara ilişkin grafiğimizi verelim.

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

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

FX(x;p)=(1−p)1−x

Örnek 3: Bernoulli Kümülatif Dağılım Fonksiyonunun Hesaplanması

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

x<-0:1
p<-30/81#Büyükşehir olma olasılığı
q<-1-p# (1-p)#Büyükşehir olmama olasılığı
(1-p)^(1-x)#Kümülatif dağılım fonksiyonu

Yukarıdaki R kod bloğunun çalıştırılmasından sonra elde edilen toplam olasılık değeri ile Büyükşehir olmama olasılığı aşağıda verilmiştir. Büyükşehir olma olasılığı aşağıdaki toplam olasılık değeri ile Büyükşehir olmama olasılığı arasındaki farka eşittir.

[1] 0.6296296 1.0000000

Bernoulli Dağılımından Örneklem Seçimi

Bernoulli dağılımına uygun olarak yukarıdaki Büyükşehir örneğinden hareketle tekrarlı basit tesadüfi örneklem yöntemini kullanarak sonuçları Büyükşehir olma (1), Büyükşehir olmama durumu olan 1000 örneklemi olasılıkları dikkate alarak üretelim.

x<-c("Büyüksehir Olma", "Büyükşehir Olmama")
#x<-0:1
p<-30/81#Büyükşehir olma olasılığı
q<-1-p# (1-p)#Büyükşehir olmama olasılığı
n<-sample(x, size =1000, replace=T, prob=c(p, q))#tekrarli basit tesadüfi örnekleme yöntemi kullanılarak olasılık değerlerine göre 1000 örneklem üretilmiştir.
grafikorneklem<-as_tibble(n) %>% mutate_if(is.character, as.factor) %>% group_by(value)%>% summarise(n=n())%>% rename(Durum=value) %>% ggplot(aes(x=Durum, y=n, fill=Durum)) + geom_bar(stat="identity") + ggtitle(paste("Bernoulli Olasılık Dağılımı Örneklem","(p=0,37)")) + ylab("Sıklık")+ geom_text(aes(label=paste("n=",n)), position=position_dodge(width=0.9), vjust=-0.25, colour = "black",fontface = "bold")+ theme_cleveland()
grafikorneklem

Yukarıdaki R kod bloğunun çalıştırılmasından Bernoulli dağılımına uygun olarak üretilen örnekleme ilişkin grafik aşağıda verilmiştir.

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