Çok değişkenli lojistik regresyon

Python ile Genelleştirilmiş Doğrusal Modeller

Ita Cirovic Donev

Data Science Consultant

Çok değişkenli kurulum

  • Model formülü $$ \text{logit}(y) = \beta_0+\beta_1\color{red}{x_1} $$
Python ile Genelleştirilmiş Doğrusal Modeller

Çok değişkenli kurulum

  • Model formülü $$ \text{logit}(y) = \color{blue}{\beta_0}+\color{blue}{\beta_1}\color{red}{x_1} $$
Python ile Genelleştirilmiş Doğrusal Modeller

Çok değişkenli kurulum

  • Model formülü $$ \text{logit}(y) = \beta_0+\beta_1x_1 + \beta_2\color{red}{x_2} + ... + \beta_p \color{red}{x_p} $$
Python ile Genelleştirilmiş Doğrusal Modeller

Çok değişkenli kurulum

  • Model formülü $$ \text{logit}(y) = \beta_0+\beta_1x_1 + \color{blue}{\beta_2}\color{red}{x_2} + ... + \color{blue}{\beta_p}\color{red}{x_p} $$

  • Python'da

    model = glm('y ~ x1 + x2 + x3 + x4', 
              data = my_data, 
              family = sm.families.Binomial()).fit()
    
Python ile Genelleştirilmiş Doğrusal Modeller

Örnek - kuyu değiştirme

formula = 'switch ~ distance100 + arsenic'
wells_fit = glm(formula = formula, data = wells, 
                family = sm.families.Binomial()).fit()
===============================================================================
                  coef    std err          z      P>|z|      [0.025      0.975]
-------------------------------------------------------------------------------
Intercept       0.0027      0.079      0.035      0.972      -0.153       0.158
distance100    -0.8966      0.104     -8.593      0.000      -1.101      -0.692
arsenic         0.4608      0.041     11.134      0.000       0.380       0.542
===============================================================================
Python ile Genelleştirilmiş Doğrusal Modeller

Örnek - kuyu değiştirme

                  coef    std err          z      P>|z|      [0.025      0.975]
-------------------------------------------------------------------------------
Intercept       0.0027      0.079      0.035      0.972      -0.153       0.158
distance100    -0.8966      0.104     -8.593      0.000      -1.101      -0.692
arsenic         0.4608      0.041     11.134      0.000       0.380       0.542
  • Her iki katsayı da istatistiksel olarak anlamlıdır
  • Katsayıların işareti mantıklıdır
  • distance100'de bir birim artış logitte 0.89 negatif farkla ilişkilidir
  • arsenic'te bir birim artış logitte 0.46 pozitif farkla ilişkilidir
Python ile Genelleştirilmiş Doğrusal Modeller

Değişken eklemenin etkisi

  • arsenic değişkeninin etkisi
  • distance100 -0.62'den -0.89'a değişir
  • Güvenli kuyudan daha uzakta
    • Daha yüksek arsenik düzeyleri olasıdır
                  coef    std err 
---------------------------------
Intercept       0.0027      0.079
distance100    -0.8966      0.104
arsenic         0.4608      0.041  
                  coef    std err
---------------------------------
Intercept       0.6060      0.060
distance100    -0.6291      0.097  
Python ile Genelleştirilmiş Doğrusal Modeller

Çoklu doğrusal bağlantı

  • Diğer model değişkenleriyle ilişkili değişkenler

Korelasyonu sırasıyla 0.8, 0.4, 0, -0.4 ve -0.8 olan iki değişkenin yapısı.

  • Katsayıların standart hataları artar
    • Katsayılar istatistiksel olarak anlamlı olmayabilir
1 https://en.wikipedia.org/wiki/Correlation_and_dependence
Python ile Genelleştirilmiş Doğrusal Modeller

Çoklu doğrusal bağlantı var mı?

Nelere bakmalı?

  • Katsayı anlamsız, ancak değişken y ile yüksek korelasyonlu
  • Değişken ekleme/çıkarma katsayıları belirgin biçimde değiştirir
  • Katsayının işareti mantıksız
  • Değişkenler arası ikili korelasyon yüksek
Python ile Genelleştirilmiş Doğrusal Modeller

Varyans şişirme faktörü (VIF)

  • Çoklu doğrusal bağlantı için en yaygın tanı ölçütü
    • Her açıklayıcı değişken için hesaplanır
    • Katsayı varyansının ne kadar şiştiğini gösterir
  • Önerilen eşik VIF > 2.5
  • Python'da
from statsmodels.stats.outliers_influence import variance_inflation_factor
Python ile Genelleştirilmiş Doğrusal Modeller

Ayo berlatih!

Python ile Genelleştirilmiş Doğrusal Modeller

Preparing Video For Download...