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
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.
rastgele değer üretir.
rnorm(üretilecek değer adeti,değerlerin ortamalası, değerlerin sd’si)
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ı")
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")
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")
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ı, 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ı, 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ı")
curve(dchisq(x, df = 5), from = 0, to = 20,
main = "Ki-Kare Dağılımı")