7  Monty Hall ve Simpson Paradoksu

Kanıtın tamamına koşulla; confounder’ı görmezden gelme

NotBölüm bilgisi

7.1 Bu Derste Ne Var?

Koşullamanın gücünü ve tuzaklarını iki paradoksta sınıyoruz:

  1. Monty Hall: üç kapı, bir araba. Sunucu bir keçi kapısı açtıktan sonra değiştirmek kazanma olasılığını \(1/3\)’ten \(2/3\)’e çıkarır.
  2. Simpson paradoksu: bir doktor her ameliyat türünde daha başarılı olabilir ama toplamda daha başarısız.

“the answer is that you should switch … if you switch, your probability of success is two-thirds.” — Blitzstein, 6:55

İpucuBuilder Notu — ML Köprüleri
  • Monty Hall = veri-üretim sürecini modellemek. “Kapı 2 boş” ile “Monty kapı 2’yi açtı” farklı kanıtlardır. Missing not at random (MNAR) çıkarımı değiştirir.
  • Simpson paradoksu = confounding — nedensel çıkarımın merkez problemi. Korelasyon \(\ne\) nedensellik.
  • Ağırlıklar değişir = covariate shift.
  • Toplam vs alt-grup metrikleri = fairness analizi (Berkeley davası).

7.2 Monty Hall: Kurulum ve Gizli Varsayımlar

Üç kapı; birinin ardında araba, ikisinde keçi. Kapı 1’i seçiyorsun. Monty kalan iki kapıdan keçili birini açıyor ve değiştirme şansı veriyor.

Gizli varsayımlar (Blitzstein vurguluyor):

  • Araba başta her kapıda eşit olası (\(1/3\)).
  • Monty arabanın yerini biliyor ve her zaman bir keçi kapısı açıyor.
  • Seçim varsa (senin seçtiğin kapıda araba), eşit olasılıkla seçiyor.

Naif sezgi: “İki kapı kaldı, 50/50.” Bu, naif tanımın kötüye kullanımı.

İpucuBuilder Notu — Data-Generating Process

Gizli varsayımları açık yazma disiplini, bir modelin veri-üretim sürecini tanımlama disiplinidir. Eksik verinin neden eksik olduğu (MCAR/MAR/MNAR) çıkarımı değiştirir.

7.3 Monty Hall: Ağaç Diyagramı

flowchart LR
    R["Başlangıç: Kapı 1 seçildi"]
    R --> A1["Araba Kapı 1<br/>(P=1/3)"]
    R --> A2["Araba Kapı 2<br/>(P=1/3)"]
    R --> A3["Araba Kapı 3<br/>(P=1/3)"]
    A1 --> M12["Monty Kapı 2 aç<br/>(1/2)"]
    A1 --> M13["Monty Kapı 3 aç<br/>(1/2)"]
    A2 --> M23["Monty Kapı 3 aç<br/>(zorunlu)"]
    A3 --> M32["Monty Kapı 2 aç<br/>(zorunlu)"]
    M12 -.->|"P=1/6"| R1["Değiştir → 2'ye<br/>KAYBET"]
    M32 -.->|"P=1/3"| R2["Değiştir → 3'e<br/>KAZAN"]
    style M23 fill:#d1d5db,color:#9ca3af
    style M13 fill:#d1d5db,color:#9ca3af
    style R2 fill:#dcfce7,stroke:#15803d,stroke-width:3px
    style R1 fill:#fee2e2,stroke:#A51C30,stroke-width:2px
flowchart LR
    R["Başlangıç: Kapı 1 seçildi"]
    R --> A1["Araba Kapı 1<br/>(P=1/3)"]
    R --> A2["Araba Kapı 2<br/>(P=1/3)"]
    R --> A3["Araba Kapı 3<br/>(P=1/3)"]
    A1 --> M12["Monty Kapı 2 aç<br/>(1/2)"]
    A1 --> M13["Monty Kapı 3 aç<br/>(1/2)"]
    A2 --> M23["Monty Kapı 3 aç<br/>(zorunlu)"]
    A3 --> M32["Monty Kapı 2 aç<br/>(zorunlu)"]
    M12 -.->|"P=1/6"| R1["Değiştir → 2'ye<br/>KAYBET"]
    M32 -.->|"P=1/3"| R2["Değiştir → 3'e<br/>KAZAN"]
    style M23 fill:#d1d5db,color:#9ca3af
    style M13 fill:#d1d5db,color:#9ca3af
    style R2 fill:#dcfce7,stroke:#15803d,stroke-width:3px
    style R1 fill:#fee2e2,stroke:#A51C30,stroke-width:2px
Şekil 7.1: Monty Hall ağacı. Kapı 1 seçildi. Monty kapı 2’yi açtıysa kalan iki dal: (araba 1) olasılık 1/6, (araba 3) olasılık 1/3. Normalleştir: araba 1 → 1/3, araba 3 → 2/3.

Monty Kapı 2 açtıysa: (araba 1, Monty 2) \(= 1/3 \cdot 1/2 = 1/6\); (araba 3, Monty 2) \(= 1/3 \cdot 1 = 1/3\). Normalleştir: araba Kapı 1 → \(1/3\), Kapı 3 → \(2/3\).

“we wanna condition on all the evidence.” — Blitzstein, 8:38

Kritik: sadece “Kapı 2’de keçi var”a değil, “Monty Kapı 2’yi açtı” kanıtının tamamına koşulluyoruz.

7.4 Monty Hall: LOTP ve Milyon Kapı

LOTP ile aynı sonuç — Blitzstein LOTP’ye “wishful thinking” demeyi öneriyor: neyi bilmeyi dilersin? Tabii ki arabanın yerini.

\(S\) = (değiştirme stratejisiyle) kazanma, \(D_j\) = araba Kapı \(j\)’de:

\[ P(S) = P(S \mid D_1)\tfrac{1}{3} + P(S \mid D_2)\tfrac{1}{3} + P(S \mid D_3)\tfrac{1}{3} = 0 + \tfrac{1}{3} + \tfrac{1}{3} = \tfrac{2}{3} \]

Sezgi: \(1/3\) zamanda ilk tahmin doğru (değiştirme kaybettirir); \(2/3\) zamanda yanlış (Monty keçiyi açar, değiştirme kazandırır).

Milyon kapı: \(1.000.000\) kapıdan birini seç; Monty \(999.998\) keçi kapısı açsın. Değiştirir misin? Tabii ki — ilk tahminin neredeyse kesin yanlış.

import random
import numpy as np
import matplotlib.pyplot as plt

random.seed(42)

def oyun(degistir):
    kapilar = [0, 0, 0]
    kapilar[random.randint(0, 2)] = 1
    secim = random.randint(0, 2)
    acilabilir = [k for k in range(3) if k != secim and kapilar[k] == 0]
    monty = random.choice(acilabilir)
    if degistir:
        secim = next(k for k in range(3) if k != secim and k != monty)
    return kapilar[secim] == 1

N = 10000
degistir_sonuclar = [oyun(True) for _ in range(N)]
kal_sonuclar = [oyun(False) for _ in range(N)]

# Birikimli oran
deg_birikimli = np.cumsum(degistir_sonuclar) / np.arange(1, N + 1)
kal_birikimli = np.cumsum(kal_sonuclar) / np.arange(1, N + 1)

fig, ax = plt.subplots(figsize=(10, 5))
ax.plot(np.arange(1, N + 1), deg_birikimli, color='#15803d', linewidth=1.5, label='Değiştir')
ax.plot(np.arange(1, N + 1), kal_birikimli, color='#A51C30', linewidth=1.5, label='Kal')
ax.axhline(2/3, color='#15803d', linestyle='--', linewidth=2, alpha=0.6, label='2/3 (değiştir teori)')
ax.axhline(1/3, color='#A51C30', linestyle='--', linewidth=2, alpha=0.6, label='1/3 (kal teori)')

ax.set_xscale('log')
ax.set_xlabel('simülasyon sayısı (log)', fontsize=12)
ax.set_ylabel('birikimli kazanma oranı', fontsize=12)
ax.set_title('Monty Hall simülasyonu: değiştir → 2/3, kal → 1/3', fontsize=12)
ax.legend(loc='center right', fontsize=11)
ax.set_ylim(0, 1)
ax.grid(True, alpha=0.3)
plt.tight_layout()
plt.show()

print(f"Final: değiştir = {deg_birikimli[-1]:.4f},  kal = {kal_birikimli[-1]:.4f}")
Şekil 7.2
İpucuBuilder Notu — Bilgi Değeri ve Aktif Öğrenme

Monty Hall’ın asıl dersi: bir gözlemin bilgi değeri, onun nasıl ortaya çıktığına bağlıdır. Monty’nin bilerek keçi açması, kalan kapıya olasılık “pompalar”. ML’de bu aktif öğrenme sezgisidir — bilgilendirici bir gözlem posterior’u beklenenden çok kaydırabilir.

7.5 Simpson Paradoksu: İki Doktor

Bir doktor her ameliyat türünde diğerinden iyi olabilir mi, ama toplamda kötü? Evet.

“the signs of inequalities can flip when you aggregate data together.” — Blitzstein, 27:50

Doktor Kalp ameliyatı Bandaj çıkarma Toplam
Hibbert 70/90 (%78) 10/10 (%100) 80/100 (%80)
Nick 2/10 (%20) 81/90 (%90) 83/100 (%83)

Hibbert her iki türde de iyi, ama toplamda Nick yüksek. Sebep: Nick’in ameliyatlarının %90’ı kolay (bandaj).

import matplotlib.pyplot as plt
import numpy as np

fig, axes = plt.subplots(1, 2, figsize=(11, 4.5))

# Sol: alt-grup oranları
ax = axes[0]
kategoriler = ['Kalp\nameliyatı', 'Bandaj\nçıkarma']
hibbert = [70/90, 10/10]
nick = [2/10, 81/90]
x = np.arange(len(kategoriler))
w = 0.35
ax.bar(x - w/2, hibbert, w, label='Hibbert', color='#2C5282', edgecolor='#1e3a5f')
ax.bar(x + w/2, nick, w, label='Nick', color='#DD6B20', edgecolor='#9a3412')
for i, (h, n) in enumerate(zip(hibbert, nick)):
    ax.text(i - w/2, h + 0.02, f'{h:.0%}', ha='center', fontsize=10, weight='bold', color='#1e3a5f')
    ax.text(i + w/2, n + 0.02, f'{n:.0%}', ha='center', fontsize=10, weight='bold', color='#9a3412')
ax.set_xticks(x); ax.set_xticklabels(kategoriler)
ax.set_ylabel('başarı oranı', fontsize=11)
ax.set_title('Alt-grupta Hibbert > Nick', fontsize=11)
ax.set_ylim(0, 1.15)
ax.legend(loc='upper left', fontsize=10)
ax.grid(True, axis='y', alpha=0.3)

# Sağ: toplam
ax = axes[1]
toplam_h = 80 / 100
toplam_n = 83 / 100
ax.bar(['Hibbert', 'Nick'], [toplam_h, toplam_n],
       color=['#2C5282', '#DD6B20'], edgecolor=['#1e3a5f', '#9a3412'])
ax.text(0, toplam_h + 0.02, f'{toplam_h:.0%}', ha='center', fontsize=12, weight='bold', color='#1e3a5f')
ax.text(1, toplam_n + 0.02, f'{toplam_n:.0%}', ha='center', fontsize=12, weight='bold', color='#9a3412')
ax.set_ylabel('toplam başarı', fontsize=11)
ax.set_title('Toplamda Nick > Hibbert  (paradoks!)', fontsize=11)
ax.set_ylim(0, 1.15)
ax.grid(True, axis='y', alpha=0.3)

plt.tight_layout()
plt.show()
Şekil 7.3

“there is no such thing as a true paradox … the universe would explode.” — Blitzstein, 26:26

ÖnemliBuilder Notu — Sliced Metrics

Simpson paradoksu aggregation yanlılığının örneği: A/B testte veya metrikte, alt-gruplara bakmadan toplam sonuca güvenmek seni ters yöne götürür. Model değerlendirmede daima dilimlenmiş (sliced) metrikler ve fairness için alt-grup analizi gerekir.

7.6 Simpson: Confounder ve Berkeley Davası

Olaylarla: \(A\) = başarı, \(B\) = Nick, \(C\) = kalp ameliyatı. Tablo şunu der:

\[ P(A \mid B, C) < P(A \mid B^c, C), \quad P(A \mid B, C^c) < P(A \mid B^c, C^c) \]

Ama toplamda ters döner:

\[ P(A \mid B) > P(A \mid B^c) \]

Neden? Koşullu LOTP: \(P(A \mid B) = P(A \mid B, C)P(C \mid B) + P(A \mid B, C^c)P(C^c \mid B)\). Buradaki ağırlıklar \(P(C \mid B) \ne P(C \mid B^c)\) farklı; bu yüzden eşitsizlik aktarılmaz.

\(C\) bir confounder — hem \(B\)’yi (hangi doktora gittin) hem \(A\)’yı (başarı) etkiler. Doğru karşılaştırma C’ye koşullamakla (tabakalama) elde edilir.

flowchart LR
    C["C<br/>Ameliyat türü<br/>(confounder)"] --> A["A<br/>Başarı"]
    C --> B["B<br/>Hangi doktor"]
    B --> A
    style C fill:#fef9c3,stroke:#92400e,stroke-width:3px
    style A fill:#fce7f3,stroke:#A51C30,stroke-width:2px
    style B fill:#bfdbfe,stroke:#1e3a5f,stroke-width:2px
flowchart LR
    C["C<br/>Ameliyat türü<br/>(confounder)"] --> A["A<br/>Başarı"]
    C --> B["B<br/>Hangi doktor"]
    B --> A
    style C fill:#fef9c3,stroke:#92400e,stroke-width:3px
    style A fill:#fce7f3,stroke:#A51C30,stroke-width:2px
    style B fill:#bfdbfe,stroke:#1e3a5f,stroke-width:2px
Şekil 7.4: Confounder grafiği: ameliyat türü C, hem doktor seçimini (B) hem başarıyı (A) etkiler. C’yi kontrol etmeden B → A yorumu yanıltır.

Berkeley davası (1973). Lisansüstü kabullerde cinsiyet ayrımcılığı iddiası: toplam oranlar erkekler lehine. Ama bölüm bölüm bakınca ayrımcılık kayboldu — kadınlar daha rekabetçi bölümlere başvuruyordu (bölüm = confounder).

ÖnemliBuilder Notu — Backdoor Adjustment

Berkeley fairness ve nedensel çıkarımın kanonik vakası. Doğru confounder’ları kontrol etmek (backdoor adjustment) şart — ama Ders 5 collider uyarısını unutma: yanlış değişkene koşullamak sahte ilişki üretir. Neyi kontrol edeceğini istatistik değil nedensel yapı söyler.

7.7 Bu Dersin Özeti

  1. Monty Hall: değiştir → \(2/3\), kal → \(1/3\). “Monty Kapı 2’yi açtı” kanıtının tamamına koşulla.
  2. Gizli varsayımlar: Monty bilir + hep keçi açar + seçim varsa eşit. Değişirse problem değişir.
  3. Çözüm yolları: ağaç (sil + yeniden normalleştir) ve LOTP (“wishful thinking” — arabaya koşulla).
  4. Milyon kapı: uç durum, sezgiyi netleştirir.
  5. Simpson paradoksu: her alt-grupta \(A > B\), toplamda \(B > A\) olabilir.
  6. Confounder: ağırlıklar (case mix) gruplar arası farklı; LOTP’nin ağırlıkları eşitsizliği taşımaz.
  7. Berkeley davası: toplam ayrımcılık, bölüm bazında kaybolur.
ÖnemliTek bir cümle

Monty Hall kanıtın tamamına (nasıl ortaya çıktığına) koşullamayı öğretir; Simpson paradoksu ise doğru confounder’a koşullamadan toplanan veriye güvenmenin tehlikesini — ikisi de “neye koşulladığın her şeyi değiştirir” dersinin iki yüzü.

7.8 Kontrol Soruları

Cevap: İlk tahminin \(1/3\) doğru (değiştir kaybettirir); \(2/3\) yanlış, o durumda Monty zorunlu olarak öteki keçiyi açar ve kalan kapı arabayı taşır.

Cevap: Hayır — bu durumda \(1/2\). Monty bilmeden açtığında kalan iki kapı simetrik kalır. Fark, Monty’nin bilerek keçi açmasının taşıdığı bilgide.

Cevap: Evet — Simpson paradoksu. Şut hacimleri yarıdan yarıya çok farklıysa (ağırlıklar dengesiz), toplamda yön döner.

Cevap: Simpson paradoksu. Cihaz karışımı varyantlar arasında farklı (B’ye düşen trafiğin çoğu mobil, mobil dönüşüm zaten düşük) — cihaz tipi confounder. Çözüm: dilimlenmiş metrikler, randomizasyon dengesi.

7.9 Egzersizler

Egzersiz 1. 4 kapılı Monty Hall: 1 araba, 3 keçi. Bir kapı seçtin, Monty bir keçi açtı. Kal mı, geçenlerden birine geç mi? Her seçeneğin olasılığı?

Egzersiz 2. Kendi Simpson paradoksu örneğini somut sayılarla kur.

Egzersiz 3. Milyon kapı argümanı neden 3 kapılı probleme de uygulanır? “50/50” sezgisinin çöktüğü yeri bir paragrafla açıkla.

Egzersiz 4. (Python — Monty Hall simülasyonu) Yukarıdaki kod hücresine bak — değiştir ≈ 0,667 ve kal ≈ 0,333 çıkmalı.

Egzersiz 5. (Sonraki ders) “Rastgele değişken” sezgisi: iki zar atışında “toplam”ı bir sayıya eşleyen fonksiyon. Kendi örneğini bir cümleyle yaz.

7.10 Sonraki Ders İçin Hazırlık

Ders 7: Kumarbazın İflası ve Rastgele Değişkenler

İki konu: kumarbazın iflası (gambler’s ruin) — random walk sezgisi, fark denklemleri; ve kursun ikinci bölümüne giriş: rastgele değişkenler — sonuçları sayılara eşleyen fonksiyonlar.

UyarıDers 7 öncesi yapılacak
  • Egzersizleri çöz — özellikle 4 (Monty simülasyon) ve 5 (RD sezgisi).
  • “Tüm kanıta koşulla” + “confounder’a dikkat” reflekslerini pekiştir.
  • Ana cümleyi tekrar oku: “Neye koşulladığın her şeyi değiştirir.”

7.11 Anahtar Kavramlar (Cheat Sheet)

Kavram Tanım Blitzstein’de
Monty Hall Değiştir \(\to 2/3\), kal \(\to 1/3\) 6m55
Tüm kanıta koşulla “Monty açtı” \(\ne\) sadece “kapı boş” 8m38
Monty varsayımları Bilir + hep keçi + eşit seçim 5m03
Ağaç çözümü Tutarsız dalları sil + normalleştir 12m03
LOTP / wishful thinking Arabanın yerine koşulla 16m26
Milyon kapı Uç durum sezgiyi netleştirir 24m00
Simpson paradoksu Alt-grup \(A > B\), toplam \(B > A\) 27m50
Confounder \(C\) hem grubu hem başarıyı etkiler 40m17
Ağırlıklar \(P(C \mid B) \ne P(C \mid B^c)\); LOTP aktarmaz 43m56
Berkeley davası Toplam ayrımcılık, bölümde kaybolur 45m12

7.12 ML Bağlantıları Özeti

İpucu7 köprü
  1. Monty Hall → veri-üretim sürecini modelle; MNAR; likelihood’un tam hâli.
  2. Tüm kanıta koşulla → masked attention, posterior güncelleme.
  3. Milyon kapı → bilgilendirici gözlem; aktif öğrenme / deney tasarımı.
  4. Simpson paradoksuaggregation bias; dilimlenmiş metrikler.
  5. Confoundernedensel çıkarım, backdoor adjustment.
  6. Ağırlıklar / case mixcovariate shift, importance weighting.
  7. Berkeley → fairness alt-grup analizi; doğru değişkene koşulla (collider’a değil).
ÖnemliTek bir şey alıp gideceksen

Neye koşulladığın her şeyi değiştirir. Monty Hall, kanıtın tamamına (nasıl ortaya çıktığına) koşullamayı; Simpson paradoksu doğru confounder’a koşullamadan toplanan veriye güvenmemeyi öğretir.