Ana içeriğe geç
Kesit SQL
Orta · Veri Bilimi

SQL ile olasılık ve koşullu olasılık

Frekanslardan olasılık, P(A|B), bağımsızlık ve beklenen değer.

Uygulamada aç, 3 alıştırmayı çözÜcretsiz, hesap gerekmez, kurulum yok.

Bu sayfa dersin okuma sürümüdür. Metin bir kutuyu çalıştırmanı ya da adıma geçmeni söylüyorsa dersi uygulamada aç.

Olasılık = oran

Elinde geçmiş veri varsa, bir olayın olasılığını görülme oranıyla tahmin edersin: P(iptal) = iptal edilen sipariş ÷ tüm siparişler. SQL'de bu, koşullu sayımın ta kendisidir.

SELECT ROUND(AVG(CASE WHEN status = 'cancelled' THEN 1.0 ELSE 0 END), 3) AS p_iptal
FROM orders;

Koşullu olasılık: P(A | B)

“B olduğunu bildiğimizde A'nın olasılığı” = A ve B birlikte ÷ B. Örneğin mobil kanaldan gelen bir siparişin iptal olasılığı:

SELECT channel,
       COUNT(*) AS siparis,
       ROUND(AVG(CASE WHEN status = 'cancelled' THEN 1.0 ELSE 0 END), 3) AS p_iptal
FROM orders
GROUP BY channel;

Kanallar arasında P(iptal | kanal) belirgin biçimde farklıysa, iptal ile kanal bağımsız değildir. Farkın tesadüf olup olmadığını anlamak için A/B testi dersindeki istatistiksel testlere başvurulur.

Beklenen değer

Bir rastgele değişkenin ortalama sonucudur: E[gelir] = Σ (değer × olasılık). Gözlem verisinde bu basitçe ortalamadır; A/B testinde her varyantın kullanıcı başına beklenen geliri şöyle bulunur:

SELECT variant,
       COUNT(*) AS kullanici,
       ROUND(AVG(converted * 1.0), 3) AS p_donusum,
       ROUND(AVG(revenue), 2) AS beklenen_gelir
FROM ab_test
GROUP BY variant;
Bayes kuralıP(A|B) = P(B|A) × P(A) ÷ P(B). Örneğin “satın alan kullanıcıların %90'ı sepete ekledi” bilgisinden “sepete ekleyenin satın alma olasılığına” geçmek için kullanılır. SQL ile her terimi ayrı ayrı sayıp hesaplayabilirsin.
Alıştırmalara geç (3)