Ana içeriğe geç

Orta12 dk

Log-normal

Önkoşul:Normal dağılımVeriye bakmak: merkez ve yayılım

Kanca

5000 küçük şirketin yıllık gelirini simüle ettik: ortalama 13.09 milyon TL, medyan 12.16 milyon TL, en yüksek gelir ise 48.50 milyon TL. Ortalama medyandan büyük — 1. derste gördüğümüz “sağa çarpık dağılım” imzası. Ama bu sefer tek bir aykırı değer yok, dağılımın kendisi böyle. Neden gelir, ev fiyatı, şehir nüfusu gibi şeyler hep bu şekle bürünür?

Sezgi

Normal dağılım, birçok küçük etkinin toplanmasından doğar (boy uzunluğu: genetik + beslenme + … hepsi eklenir). Ama bazı süreçler toplanmaz, çarpılır: bir şirketin geliri her yıl bir önceki yılın üzerine %X büyür — bu çarpımsal bir süreçtir. Çarpımsal süreçlerin logaritmasını alırsan, çarpma toplamaya dönüşür (log(a×b) = log(a)+log(b)) ve o zaman merkezi limit teoreminin mantığı devreye girer.

Bir değişkenin kendisi değil, logaritması Normal dağılıyorsa, o değişken Log-normal dağılır. Sonuç hep pozitif ve sağa çarpık çıkar — çünkü çarpımsal büyüme aşağı yönde sıfırda durur ama yukarı yönde sınırsız gidebilir.

1020304000.020.040.060.080.10değeryoğunluk / olasılık
  • PDF — olasılık yoğunluğu
  • CDF — birikimli olasılık

Eşiğin (80) üzerinde kalma olasılığı: %0.0

μ ve σ’yı (log-ortalama ve log-std) değiştir: dağılım hep pozitif tarafta kalıyor ve sağa doğru uzun bir kuyruk taşıyor — Normal’in simetrik çan eğrisinden temelden farklı.

Mekanizma

Şirket gelirlerini simüle ederek başlayalım:

5000 şirket geliri

# 5000 küçük şirketin yıllık gelirini (milyon TL) simüle edelim. Gelir büyümesi
# ÇARPIMSAL çalışır (her yıl %X büyüme), bu yüzden Normal değil Log-normal dağılır.
mu, sigma = 2.5, 0.4  # log-gelirin ortalaması ve standart sapması
gelirler = rng.lognormal(mean=mu, sigma=sigma, size=5000)

print(f"Ortalama gelir:  {gelirler.mean():.2f} milyon TL")
print(f"Medyan gelir:    {np.median(gelirler):.2f} milyon TL")
print(f"En yüksek gelir: {gelirler.max():.2f} milyon TL")
print("\nOrtalama medyandan büyük — sağa çarpık dağılımın tipik imzası (bkz. 1. ders).")
Ortalama gelir:  13.09 milyon TL
Medyan gelir:    12.16 milyon TL
En yüksek gelir: 48.50 milyon TL

Ortalama medyandan büyük — sağa çarpık dağılımın tipik imzası (bkz. 1. ders).

Şimdi bu iddiayı doğrudan test edelim: gerçekten gelirin logaritması Normal dağılıyor mu?

Logaritma alınca Normal'e dönüşüyor

# Log-normal'in geldiği yer: değişkenin LOGARİTMASI normal dağılır.
log_gelirler = np.log(gelirler)
print(f"log(gelir) ortalaması: {log_gelirler.mean():.3f}   (girdiğimiz mu = {mu})")
print(f"log(gelir) std sapması: {log_gelirler.std():.3f}   (girdiğimiz sigma = {sigma})")

# Normallik testi: log(gelir) gerçekten normale benziyor mu?
istatistik, p_degeri = stats.shapiro(log_gelirler[:500])  # örneklem, hız için 500'e kısıtlı
print(f"\nShapiro-Wilk normallik testi p-değeri: {p_degeri:.3f}  (0.05'ten büyükse 'normalden farklı değil' sonucu güçlenir)")
log(gelir) ortalaması: 2.492   (girdiğimiz mu = 2.5)
log(gelir) std sapması: 0.400   (girdiğimiz sigma = 0.4)

Shapiro-Wilk normallik testi p-değeri: 0.633  (0.05'ten büyükse 'normalden farklı değil' sonucu güçlenir)

log(gelir)‘in ortalaması 2.492, std sapması 0.400 — girdiğimiz μ=2.5 ve σ=0.4’e çok yakın. Shapiro-Wilk testinin p-değeri 0.633 (0.05’ten büyük), yani log(gelir)‘in Normal’den anlamlı bir sapması yok — tam da beklediğimiz gibi.

Çoğu kişi “gelir dağılımı zaten Normal’dir, sadece birkaç aykırı zengin var” sanır. Değil, çünkü burada aykırı değer yok — 5000 şirketin tamamı aynı çarpımsal büyüme mekanizmasından geçiyor, dağılımın kendisi baştan sağa çarpık kurulmuş durumda.

Matematik

Log-normal dağılımının formülü
f(x)=1xσ2πe(lnxμ)22σ2,x>0f(x) = \frac{1}{x\sigma\sqrt{2\pi}} \, e^{-\frac{(\ln x - \mu)^2}{2\sigma^2}}, \quad x > 0E[X]=eμ+σ2/2E[X] = e^{\mu + \sigma^2/2}
SembolAnlamı
μ,σ\mu, \sigmaln(X)\ln(X)‘in (X’in logaritmasının) ortalaması ve standart sapması — X’in kendisinin değil!
xxLog-normal değişkenin değeri (her zaman pozitif)
E[X]E[X]Log-normal’in ortalaması — dikkat, eμe^\mu değil, eμ+σ2/2e^{\mu+\sigma^2/2}‘dir

Formül, Normal PDF’inin neredeyse birebir aynısı — tek fark: xx yerine lnx\ln x kullanılıyor, ve başta ekstra bir 1x\frac{1}{x} çarpanı var (bu, değişken dönüşümünün matematiksel bir gerekliliği — Jakobiyen düzeltmesi). μ\mu ve σ\sigma, X’in değil, lnX\ln X‘in ortalaması ve std sapmasıdır — bu yüzden Log-normal’in ortalaması sezgisel olarak eμe^\mu gibi görünse de gerçekte σ\sigma‘dan da etkilenir.

Kod

Pratik bir soru: rastgele seçilen bir şirketin geliri 10 milyon TL’yi geçme olasılığı nedir?

Eşik olasılıkları

dagilim = stats.lognorm(s=sigma, scale=np.exp(mu))

p_10dan_fazla = 1 - dagilim.cdf(10)
p_5in_altinda = dagilim.cdf(5)

print(f"P(gelir > 10 milyon TL) = {p_10dan_fazla:.4f}")
print(f"P(gelir < 5 milyon TL)  = {p_5in_altinda:.4f}")
P(gelir > 10 milyon TL) = 0.6892
P(gelir < 5 milyon TL)  = 0.0130

P(gelir > 10M) = %68.92 — medyan (12.16M) 10’un üzerinde olduğu için bu şaşırtıcı değil. P(gelir < 5M) sadece %1.30 — sağa çarpık dağılımda düşük uçta çok az yoğunluk var.

Solda gelir dağılımının histogramı sağa çarpık, ortalama medyandan sağda; sağda log(gelir)'in histogramı simetrik bir Normal eğriye çok yakın.
Ham veri (sol) çarpık, logaritması (sağ) simetrik ve Normal — Log-normal'in tanımı tam bu.

Nerede işe yarar

Log-normal, “çarpımsal büyüme” mantığının olduğu her yerde karşına çıkar:

  • Finans. Hisse senedi fiyatları, portföy getirileri klasik olarak Log-normal modellenir (Black-Scholes modelinin temel varsayımı).
  • Ekonomi. Gelir dağılımı, ev fiyatları, şirket büyüklükleri.
  • Doğal ve teknik sistemler. Bir yazılımın yanıt süresi, bir virüsün kuluçka süresi, parçacık boyutları.

Bu 3 hatayı yaparsın:

  1. Sağa çarpık veriye doğrudan Normal istatistikleri (ortalama, std) uygulamak — ortalama, birkaç büyük değerden aşırı etkilenir; medyan burada daha güvenilir.
  2. Log-normal’in ortalamasını eμe^\mu sanmak — doğrusu eμ+σ2/2e^{\mu+\sigma^2/2}‘dir, σ\sigma arttıkça ortalama medyandan daha da uzaklaşır.
  3. Negatif veya sıfır değer içeren veriye Log-normal uygulamaya çalışmak — logaritma tanımsız kalır, önce verinin pozitif olduğundan emin olmalısın.

Kendini test et

1. Bir değişken Log-normal dağılıyorsa, hangisi Normal dağılır?
  1. Değişkenin kendisi
  2. Değişkenin karesi
  3. Değişkenin logaritması (doğru cevap)
  4. Değişkenin tersi (1/X)

Neden: Log-normal tanımı budur: X log-normal ise ln(X) Normal dağılır. Bu yüzden X her zaman pozitif ve sağa çarpık çıkar.

2. Gelir gibi çarpımsal süreçlerle oluşan veriler neden genelde sağa çarpık çıkar?
  1. Ölçüm hatası yüzünden
  2. Çarpımsal büyüme aşağıda sıfırda durur ama yukarıda sınırsız gidebilir (doğru cevap)
  3. Her zaman birkaç aykırı değer olduğu için
  4. Veri toplama yöntemi hatalı olduğu için

Neden: Bir değer sıfıra yaklaşabilir ama negatif olamaz (alt sınır var), oysa yukarı yönde teorik bir sınır yok — bu asimetri sağa çarpıklığı doğal olarak üretir.

3. Log-normal dağılımın ortalaması ile medyanı arasındaki ilişki nedir?
  1. Her zaman eşittir
  2. Ortalama her zaman medyandan büyüktür (doğru cevap)
  3. Medyan her zaman ortalamadan büyüktür
  4. İlişkileri rastgeledir

Neden: Sağa çarpık her dağılımda olduğu gibi, birkaç yüksek değer ortalamayı yukarı çeker ama medyanı (sıra istatistiği olduğu için) daha az etkiler.

Özet

Özet

  • Log-normal, logaritması Normal dağılan bir değişkenin dağılımıdır — her zaman pozitif, hep sağa çarpık.
  • Çarpımsal büyüme süreçlerinden (gelir, hisse fiyatı, ev fiyatı) doğal olarak ortaya çıkar.
  • μ ve σ, değişkenin kendisinin değil, logaritmasının ortalaması ve std sapmasıdır.
  • Ortalama her zaman medyandan büyüktür — sağa çarpıklığın matematiksel imzası.
  • Sağa çarpık veride medyan, ortalamadan daha güvenilir bir merkez ölçüsüdür.
Sonraki adım: Pareto →