DAĞILIMLAR

  • Olasılık yoğunluk fonksiyonları, bir değişkenin belirli bir değer alması veya bu değerden büyük/küçük bir değer alması durumunda olasılıkları hesaplamak için kullanılmaktadır.

pnorm()

  • Bir z değeri için kümülatif olasılığı hesaplar.Yani standart normal bir dağılımda (ortalama = 0, standart sapma = 1), verilen bir z değerinin solunda kalan alanı (kümülatif olasılığı) hesaplar. Yani, bir z değerinden daha küçük olma olasılığını bulur.

  • Örneğin, bir sınavdan öğrencilerin aldıkları puanlar, ortalama = 70 ve standart sapma = 10 olacak şekilde normal dağılıyor. Bir öğrencinin geçme notu olan 60’tan düşük bir puan alma olasılığı nedir?(öğrencinin dersten kalma olasılığı)

ortalama <- 70
standart_sapma <- 10

# 60'tan düşük puan alma olasılığı
kalma_olasilik <- round(pnorm(60, mean = ortalama, sd = standart_sapma), 2)
kalma_olasilik
## [1] 0.16

Yani bir öğrencinin bu dersten kalma olasılığı %16’dır.

qnorm()

  • Belirli bir yüzdelik dilime (probability) karşılık gelen z değerini verir.

c(0.025, 0.975): Güven aralığının sınırlarını temsil eder. %95 güven aralığı için, toplam %5’lik alanın %2.5’i sol uçta (0.025) ve %2.5’i sağ uçta (0.975) kalır.

round(qnorm(c(0.025, 0.975)),2)
## [1] -1.96  1.96

Yani %95 güven aralığı için z değerleri -1.96 ve +1.96’dır. Standart normal dağılımda %95’lik alan bu iki z değeri arasında kalır.

rnorm()

  • Bu fonksiyon, normal dağılıma uygun rastgele sayılar üretir. Önceki derslerde de bu fonksiyonu bir veri seti üretmek istediğimiz zaman sıklıkla kullandık.

Örneğin, ortalaması 20 ve standart sapması 2 olan 10 rastgele sayı üretelim:

rnorm(10, mean = 20, sd = 2)
##  [1] 20.41702 19.06080 20.49924 23.22589 19.93495 23.75872 18.02677 20.18679
##  [9] 23.09849 19.85693

Binom Dağılımı: dbinom()

  • Binom dağılımını kullanarak bir olayın farklı sonuçlarının olasılıklarını hesaplayabiliriz.

  • Binom dağılımında başarı olasılığı, deneme sayısı gibi parametreler kullanılarak hesaplama yapılır.(dbinom(başarı sayısı, size = deneme sayisi, p = olasilik))

  • Örneğin, 5 kez havaya atılan bir bozuk paranın 5 kez tura gelme olasılığını hesaplayalım:

dbinom(5, size = 5, p = 0.5)
## [1] 0.03125
  • Bu durumu grafik kullanarak görselleştirelim:
x <- 0:5
plot(x, dbinom(x, size = 5, p = 0.5), 
     type = "h", col = "blue", 
     lwd = 10,
     main = "Bozuk Parayı Bes Kere Havaya Atma")

  • Daha büyük bir örneklem grubu üzerinde çalışalım. Bir okulda öğrencilerin %80’i günlük ödevlerini zamanında teslim ediyor. 100 öğrenciden oluşan bir okulda, ödevini zamanında teslim eden öğrenci sayısının olasılık dağılımını inceleyelim.
ogrenci_sayisi <- 100
odev_teslim_olasiligi <- 0.8

x <- 0:100
plot(x, dbinom(x, size = 100, p = 0.5), 
     type = "h", col="blue",
     main="Ödevini zamanında teslim eden öğrenci sayısı")

Normal Dağılım

Yoğunluk dağılımı

x <- seq(-4, 4, 0.01)
plot(x, dnorm(x), 
     type = "l", 
     main = "Normal Dağılım Yoğunluk Fonksiyonu")

### Yığılma dağılımı

plot(x, pnorm(x), type = "l",
     main = "Normal Dağılım Yığılım Fonksiyonu")

## Merkezi Limit Teoremi

*Örneklem büyüklüğü arttıkça örneklem ortalamalarının normal dağılıma yaklaştığını belirtir.

  • 10 kişilik örneklem:
sample_means <- replicate(1000,
                    mean(rnorm(10, mean = 100, sd = 15)))
hist(sample_means, 
     main = "10 Kişilik Örneklem Ortalamaları",
     col = "blue")

Örneklem büyüklüğü arttıkça dağılımın nasıl daraldığını inceleyelim.

  • 1000 kişilik örneklem:
sample_means <- replicate(500, 
                    mean(rnorm(500, mean = 100, sd = 15)))
hist(sample_means, 
     main = "500 Kişilik Örneklem Ortalamaları", 
     col = "red")

## Örnekleme Dağılımı

  • Merkezi Limit Teoremi’ne göre, basit seçkisiz örneklem kullanıldığında değişkenin evrende gösterdiği dağılımdan bağımsız olarak, o değişkene ait örneklem ortalamalarının dağılımı yaklaşık olarak normaldir.

  • Bu bölümde, örnekleme dağılımlarının histogramını ve Q-Q grafiğini çizeceğiz. Q-Q grafiği, kuramsal normal dağılım değerleri ile gerçek değerler arasındaki ilişkiyi gösterir. Oluşan doğrunun eğimi 45 dereceye yaklaştığında normal dağılıma yakınlık artar.

Küçük ve büyük Örneklem boyutları için örnekleme dağılımları

nreps <- 10000
nsmall <- 2
nlarge <- 30
sampdist.mean.small <- numeric(nreps)
sampdist.mean.large <- numeric(nreps)

# Küçük örneklem büyüklüğü için
par(mfrow = c(2,2))
for (i in 1:nreps) {
  sample <- runif(nsmall, 0, 100)
  sampdist.mean.small[i] <- mean(sample)
}

# Histogram çizme
hist(sampdist.mean.small, 
     main = "Küçük Örneklem Ortalamalarının \n Dağılımı (n = 2)",
     xlab = "Örneklem Ortalamaları",
     col = "lightblue")

# Q-Q grafiği
qqnorm(sampdist.mean.small, 
       main = "Q-Q Grafiği: Küçük Örneklem (n = 2)")
qqline(sampdist.mean.small, col = "red")

# Büyük örneklem büyüklüğü için
for (i in 1:nreps) {
  sample <- runif(nlarge, 0, 100)
  sampdist.mean.large[i] <- mean(sample)
}

# Histogram çizme
hist(sampdist.mean.large, 
     main = "Büyük Örneklem Ortalamalarının \n Dağılımı (n = 30)",
     xlab = "Örneklem Ortalamaları",
     col = "lightgreen")

# Q-Q grafiği
qqnorm(sampdist.mean.large, 
       main = "Q-Q Grafiği: Büyük Örneklem (n = 30)")
qqline(sampdist.mean.large, col = "blue")

  • Bu grafikler, örneklem boyutunun artmasıyla birlikte dağılımın normal dağılıma daha çok yaklaştığını göstermektedir.

Uniform Dağılım

  • Her değerin eşit olasılığa sahip olduğu bir dağılım türüdür.
uniform_samples <- runif(1000, min = 0, max = 10)
hist(uniform_samples, 
     main = "Uniform Dağılım", col = "pink")

## t Dağılımı

  • t dağılımı, bir normal dağılıma benzeyen ancak uçları daha “kalın” olan bir dağılımdır. Özellikle küçük örneklem boyutlarında ve popülasyonun standart sapmasının bilinmediği durumlarda kullanılır. t dağılımı, serbestlik derecesine (degrees of freedom, df) bağlı olarak şekil değiştirir:

  • Küçük df değerlerinde daha geniştir. Büyük df değerlerinde normal dağılıma yaklaşır.

curve(dt(x, df = 10), 
      from = -4, to = 4, main = "t Dağılımı")

## Poisson Dağılımı

  • poisson dağılımı, bir olayın sabit bir zaman aralığında veya belirli bir alanda kaç kez gerçekleştiğini modellemek için kullanılır.
  • Tek bir parametresi vardır: lambda (λ). - λ: Beklenen olay sayısını ifade eder (ortalama).
  • Örneğin, bir saat içinde bir çağrı merkezine ortalama 3 çağrı geliyorsa, λ = 3 olur.
x <- -5:10
plot(x, dpois(x, lambda = 3), 
     type = "h", main = "Poisson Dağılımı")

## ki-kare Dağılımı

curve(dchisq(x, df = 5), from = 0, to = 20, 
      main = "Ki-Kare Dağılımı")

NOT: Bu derste öğrendiğimiz fonksiyonlar, kodun daha okunabilir olmasını, görselleştirmeyi sağlıyor hem de işlemleri daha hızlı yapmamızı sağlıyor. Derste ele aldığımız dağılımların her birinin farklı bir problem türü için kullanışlı olduğunu ve R ile bu dağılımların kolayca modellenebileceğini öğrendim. Grafik çizmeyi seviyorum :)