pnorm()

Hocam buradaki örneklere chatgpt ile çalıştım. Kendi örneklerim sayılmaz

pnorm() fonksiyonu, standart normal 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.

Bir markette müşterilerin harcamaları ortalama = 50 TL, standart sapma = 15 TL olacak şekilde dağılıyor.

Müşterinin 40 TL’den az harcama yapma olasılığı nedir?

kirktantan_azharcama_olasiligi <- round(pnorm(40, mean = 50, sd = 15),2)
kirktantan_azharcama_olasiligi
## [1] 0.25

gnorm()

Güven Aralığı (Confidence Interval):

Bir parametrenin gerçek değerinin belirli bir olasılıkla (örneğin %95 veya %99) hangi aralıkta olduğunu tahmin ederiz. Bu aralık, z değerleri kullanılarak hesaplanır.

Z Değeri:

Standart normal dağılımda bir değerin ortalamadan kaç standart sapma uzakta olduğunu gösterir. Örneğin, %95 güven aralığı, dağılımın ortasında %95’lik bir alan bırakır (%2.5 sol uç, %2.5 sağ uçta kalır).

qnorm() Fonksiyonu:

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

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

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

rnorm()

rastgele değer üretir.

rnorm(üretilecek değer adeti,değerlerin ortamalası, değerlerin sd’si)

Binom Dagilimi dbinom()

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

\[ P(X = k) = \binom{n}{k} \cdot p^k \cdot (1-p)^{n-k} \]

dbinom(başarı sayısı, size = deneme sayisi, p = olasilik)

örnek: 3 kez atılan bozuk paranın 3 kez yazi gelme olasiği

dbinom(3, size = 3, p = 0.5)
## [1] 0.125

tablolaştırmak için çubuk grafiği kullanılır :

x <- 0:3
plot(x, dbinom(x, size = 3, p = 0.5), 
     type = "h", col = "red", 
     lwd = 10,
     main = "Bozuk Parayı üç Kere Havaya Atma")

x <- 0:3
olasilik <- dbinom(x, size = 3, p = 0.5)
durum <- c("TTT", "YTT","YYT","YYY")
names(olasilik) <- durum
olasilik
##   TTT   YTT   YYT   YYY 
## 0.125 0.375 0.375 0.125

Daha büyük bir örneklem grubu düşünelim. 100 kişilik bir grup olsun. Bu gruptaki kişilerin kan grubu A,B,AB ve 0 olsun. Seçtiğimiz kişilerin kan grubunun 0 olma olasılığını inceleyelim. Bir kşinin kan grubunun 0 olma ihtimali 0.25’tir.

x <- 0:100
plot(x, dbinom(x, size = 100, p = 0.25), 
     type = "h", col = "red", 
     lwd = 10,
     main = "Kan grubunun 0 olması")

Normal dağılım

library(readxl)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)
tez <- read_xlsx("C:/Users/reyhan/OneDrive/Belgeler/hacettepe/Rders/data/tezdata - Kopya.xlsx")
notlar <- tez %>% pull(`reading_test_total_adjustment _tru`)
x <- seq(min(notlar, na.rm = TRUE), max(notlar, na.rm = TRUE), length.out = 100)
y <- dnorm(x, mean = mean(notlar, na.rm = TRUE), sd = sd(notlar, na.rm = TRUE))
plot(x, y, 
     type = "l",
     main = "Ogrenci Notları Normal Dağılım Yoğunluk Fonksiyonu", 
     xlab = "Notlar", 
     ylab = "Yoğunluk")

Yigilma Dagilimi

yy <- pnorm(x, mean = mean(notlar, na.rm = TRUE), sd = sd(notlar, na.rm = TRUE))
plot(x, yy, type = "l",
     main = "Normal Dağılım Yığılım Fonksiyonu")

Merkezi Limit

x <- seq(min(notlar, na.rm = TRUE), max(notlar, na.rm = TRUE), length.out = 100)
y <- dnorm(x, mean = mean(notlar, na.rm = TRUE), sd = sd(notlar, na.rm = TRUE))
plot(x, y, type = "l",
     xlab = "Notlar")
abline(v = mean(notlar, na.rm = TRUE), col = "red")

Bu örneği direkt aldım ama anlamadım. O yüzden kendim farklı bir şey yapamadım Merkezi Limit Teoremi Örneklem büyüklüğü arttıkça dağılımın nasıl daraldığını inceleyelim.

3 Kişilik Örneklem

sample_means <- replicate(1000,
                    mean(rnorm(3, mean = 100, sd = 15)))
hist(sample_means, 
     main = "3 Kişilik Örneklem Ortalamaları",
     col = "skyblue")

sample_means <- replicate(1000, 
                    mean(rnorm(30, mean = 100, sd = 15)))
hist(sample_means, 
     main = "30 Kişilik Örneklem Ortalamaları", 
     col = "lightgreen")

##Burayı da şimdilik tam kavrayamadım. O yüzden direkt aldım ama ileride üzerinde tekrar çalışacağım

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

##Uniform Dağılım

uniform_samples <- runif(500, min = 100, max = 300)
hist(uniform_samples, 
     main = "Uniform Dağılım", col = "purple")

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.

dt(x, df = 10) - dt() t dağılımının yoğunluk fonksiyonunu hesaplar. - x: Grafiği çizerken t dağılımının hesaplanacağı değerler. - df = 10: Serbestlik derecesi. Örneklem büyüklüğüyle ilişkilidir (df = n - 1). - Örneğin, bir veri setinde 11 gözlem varsa serbestlik derecesi 10, 10=11−1 olur.

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

curve(dt(x, df = 1000), 
      from = -4, to = 4, main = "buyuk 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.

dpois(olay sayisi, lambda = beklenen deger)

x <- -2:10
plot(x, dpois(x, lambda = 4.5), 
     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ı")