İkili veriler ve lojistik regresyon

Python ile Genelleştirilmiş Doğrusal Modeller

Ita Cirovic Donev

Data Science Consultant

İkili yanıt verisi

  • İki sınıflı yanıt $\rightarrow \large{\texttt{\color{#079EA1}{0},\color{#ED715F}{1}}}$

Örnekler:

  • Kredi skoru $\rightarrow \texttt{\color{#ED715F}{"Temerrüt"}/\color{#079EA1}{"Temerrütsüz"}}$
  • Sınavı geçme $\rightarrow \texttt{\color{#079EA1}{"Geçti"}/\color{#ED715F}{"Kaldı"}}$
  • Dolandırıcılık tespiti $\rightarrow \texttt{\color{#ED715F}{"Dolandırıcılık"}/\color{#079EA1}{"Yok"}}$
  • Ürün seçimi $\rightarrow \texttt{\color{#2485F2}{"Ürün ABC"}/\color{#F2AC30}{"Ürün XYZ"}}$
Python ile Genelleştirilmiş Doğrusal Modeller

İkili veriler

GRUPLANMAMIŞ

  • Tek olay
  • Bir madeni para atış
  • Olası iki sonuç: 0/1
  • $Bernoulli(p)$ veya
  • $Binomial(n=1,p)$

GRUPLANMIŞ

  • Çoklu olay
  • Birden çok para atışı
  • Belirli $n$ denemede başarı sayısı
  • $Binomial(n,p)$
Python ile Genelleştirilmiş Doğrusal Modeller

Lojistik fonksiyon

Çalışma saatleri ile sınavı geçme/kalma yanıtının (0/1) saçılım grafiği

Python ile Genelleştirilmiş Doğrusal Modeller

Lojistik fonksiyon

Çalışma saatleri ile sınavı geçme/kalma yanıtının (0/1) saçılım grafiği

  • Sınav sonucu: $GEÇTİ=1$ veya $KALDI=0$

  • Modelle hedefimiz

$P(y=1)=\beta_0 + \beta_1x_1$

$P(\text{Geçti})=\beta_0 + \beta_1 \times \text{Çalışma saati}$

Python ile Genelleştirilmiş Doğrusal Modeller

Lojistik fonksiyon

Çalışma saatleri ile sınavı geçme/kalma yanıtının (0/1) lojistik uyumu

  • Sınav sonucu: $GEÇTİ=1$ veya $KALDI=0$

  • Modelle hedefimiz

$P(y=1)=\beta_0 + \beta_1x_1$

$P(\text{Geçti})=\beta_0 + \beta_1 \times \text{Çalışma saati}$

  • Lojistik fonksiyonu kullanın

$f(z) = \frac{1}{(1+\exp(-z))}$

Python ile Genelleştirilmiş Doğrusal Modeller

Odds ve odds oranı

       

$$ ODDS = \frac{\text{olayın gerçekleşmesi}}{\text{olayın gerçekleşmemesi}} $$

       

$$ \text{ODDS ORANI} = \frac{odds 1}{odds 2} $$

Python ile Genelleştirilmiş Doğrusal Modeller

Odds örneği

  • 4 maç Sırada 3 galibiyet ve 1 mağlubiyet

  • Odds 3'e 1 Kesirde payda 1 mağlubiyet kutusu, payda 3 galibiyet kutusu ile odds’un görsel hesabı.

Python ile Genelleştirilmiş Doğrusal Modeller

Odds ve olasılıklar

  $$ \text{odds} \neq \text{olasılık} $$

  $$ \text{odds} = \frac{\text{olasılık}}{1-\text{olasılık}} $$

  $$ \text{olasılık} = \frac{\text{odds}}{1+\text{odds}} $$

Python ile Genelleştirilmiş Doğrusal Modeller

Olasılık modelinden lojistik regresyona

 

Adım 1. Olasılık modeli

$E(y)=\mu=P(y=1)=\beta_0 + \beta_1x_1$

 

Adım 2. Lojistik fonksiyon

$f(z) = \large{\frac{1}{(1+\exp(-z))}}$

 

Adım 3. Lojistik fonksiyonu uygula $\rightarrow$ TERS-LOGİT

$\mu = \large{\frac{1}{1+\exp(-(\beta_0+\beta_1x_1))}} = \large{\frac{\exp(\beta_0+\beta_1x_1)}{1+\exp(\beta_0+\beta_1x_1)}}$

$1-\mu = \large{\frac{1}{1+\exp(\beta_0+\beta_1x_1)}}$

Python ile Genelleştirilmiş Doğrusal Modeller

Olasılık modelinden lojistik regresyona

 

  • Olasılık $\rightarrow$ odds $$ ODDS=\frac{\mu}{1-\mu} = exp{(\beta_0+\beta_1x_1)} $$  
  • Log dönüşümü $\rightarrow \color{#CF5383}{\text{LOJİSTİK REGRESYON}}$

  $$ LOGIT(\mu)=log(\frac{\mu}{1-\mu}) = \beta_0+\beta_1x_1 $$

Python ile Genelleştirilmiş Doğrusal Modeller

Python'da lojistik regresyon

Fonksiyon - glm()

model_GLM = glm(formula = 'y ~ x',                        
                data = my_data, 
                family = sm.families.Binomial()).fit

Girdi

y = [0,1,1,0,...]
y = ['No','Yes','Yes',...]
y = ['Fail','Pass','Pass',...]
Python ile Genelleştirilmiş Doğrusal Modeller

Haydi pratik yapalım!

Python ile Genelleştirilmiş Doğrusal Modeller

Preparing Video For Download...