Güven Aralığı (Confidence Interval)

Bengisu Yılmaz
3 min readNov 5, 2023

--

Parametre, bir popülasyonun tanımlayıcı sayısal ölçüsüdür. Örneklemlerle çalıştığımızdan genelde bu parametreleri tahmin etmemiz gerekir. Yani örnekleme bakarak popülasyonun parametrelerini tahmin ederiz.

Elimizde bir websitesinde geçirilen süreleri içeren veriler olduğunu varsayalım. Bu websitesinde geçirilen ortalama süre, popülasyonun bir parametresi olarak düşünülebilir. Ancak popülasyonun tümünü incelemek bazı durumlarda mümkün değildir. Bu nedenle, örneklem verilerini kullanarak bu popülasyon parametresini tahmin etmek gerekir.

Güven aralığı, belirli bir güven düzeyi altında (genellikle %95 olarak kabul edilir) popülasyon parametresinin belirli bir aralık içinde olma olasılığını ifade eder. Örneğin, %95 güven düzeyinde hesaplanan bir ortalama güven aralığı, bu websitesinde geçirilen ortalama sürenin %95 olasılıkla bu aralıkta olduğunu ifade eder. Yani bu aralık, tahmini ortalama sürenin alt ve üst sınırlarını içerir.

Güven aralığı hesaplamak, doğrudan ortalama değerini tahmin etmeye göre daha güvenilir sonuçlar sağlar. Çünkü güven aralığı, tahminin belirsizliğini ve değişkenliğini hesaba katar. Bu nedenle, güven aralığı kullanarak popülasyon parametresini tahmin etmek, daha sağlam ve güvenilir sonuçlar elde etmenizi sağlar.

Şimdi güven aralığını nasıl hesaplayacağımıza bir bakalım:

# öncelikle gerekli kütüphaleri import edelim
import itertools
import seaborn as sns
import statsmodels.stats.api as sms

# seaborn kütüphanesinin load_dataset fonksiyonunu kullanarak "tips" veri setini yükleyelim
df = sns.load_dataset("tips")
df.head()
''' hızlıca değişkenlerimizi tanıyalım
Bahşiş veri seti:
total_bill: yemeğin toplam fiyatı (bahşiş ve vergi dahil)
tip: bahşiş
sex: ücreti ödeyen kişinin cinsiyeti (0=male, 1=female)
smoker: grupta sigara içen var mı? (0=No, 1=Yes)
day: gün (3=Thur, 4=Fri, 5=Sat, 6=Sun)
time: ne zaman? (0=Day, 1=Night)
size: grupta kaç kişi var? '''
df.head()

Öncelikle şurayı bir netleştirelim. Bu veri setindeki “total_bill” değişkeni popülasyonun tamamı mı yoksa popülasyonu temsil eden bir örneklem midir?

“total_bill” değişkeni, sadece elimizdeki örnek veri setinde yer alan total hesap miktarlarını temsil eder. Yani, bu veriler sadece belirli bir grup insanın hesaplarını içerir. Bu nedenle “total_bill” değişkeni, bu örnekleme aittir.

Popülasyon ise, tüm ilgili insanların hesap verilerini içerir. Yani, “total_bill” değişkeninin popülasyonunu görmek için tüm verilere ihtiyaç vardır. Dolayısıyla, “total_bill” değişkeni popülasyonun tamamını temsil etmez, sadece örneklemin verilerini yansıtır.

Şimdi devam edebiliriz.

#describe methodu ile sayısal değişkenlere hızlıca bir göz atalım
df.describe().T
df.describe().T

“total_bill” değişkeninin merkezi için bir güven aralığı oluşturmak istiyoruz. Öncelikle değişkenin dağılımına hızlıca bir bakalım.

Eğer elimdeki değişkenin dağılımı çarpık ise yani içerisinde aykırı değerler var ise bu durumda değişkeni temsil etmek için mean değil medianı tercih etmeliyiz.

Çarpık olup olmadığını nasıl anlarız? “ mean” ve “median” (%50) değerleri birbirine yakınsa verinin dağılımı çarpık değildir. Bu durumda her ikisini de dağılımın merkezini tahmin etmek için kullanabiliriz. Fakat fark varsa bu durumda median kullanılmalı. Median, aykırı değerlerden etkilenmez ve dağılımın merkezini daha iyi yansıtır.

“tip” değişkeninin mean değeri 19.78594 ve median değeri 17.79500'dür. Mean ile median değerlerinin birbirine yakın olduğunu gözlemledik. Bu nedenle, “total_bill” değişkeninin ortalaması üzerinden bir güven aralığı oluşturabiliriz. %95 güven düzeyi kullanarak, müşterilerin bıraktığı ortalama hesap miktarı için bir güven aralığı oluşturalım:

sms.DescrStatsW(df["total_bill"]).tconfint_mean()
''' (18.66333170435847, 20.908553541543164) '''
  1. Burada sms.DescrStatsW(df["total_bill"]) kodu, "total_bill" değişkeninin istatistiksel özetini oluşturur. Bu özet, bu değişkenin ortalaması, standart sapması ve diğer istatistiksel bilgileri içerir.
  2. tconfint_mean() methodu, "tip" değişkeninin ortalaması için güven aralığını hesaplar. Hata payı default olarak (alpha: float = 0.05) 0.05'tir. (hata payı = 1 — güven düzeyi)
  3. Burada şu yorumu yapabiliriz; Müşterilerin ortalama hesap miktarı %95 güvenle 18.66333170435847 ve 20.908553541543164 değerleri arasındadır. Ortalama hesap miktarının bu aralık dışında olma olasılığı %5 veya daha azdır.

Okuduğunuz için teşekkür ederim.

Bu çalışma sırasında Miuul’un çevrimiçi kaynakları ve Fikri Akdeniz’in “Olasılık ve İstatistik” kitabı gibi değerli kaynaklar benim için büyük bir rehberlik ve yardım sağladı.

--

--