Simpson Paradoksu

Python ile statsmodels'da Orta Düzey Regresyon

Maarten Van den Broeck

Content Developer at DataCamp

Son derece ilginç bir paradoks!

Simpson Paradoksu, tüm veri setindeki model eğilimi ile veri setinin alt kümelerindeki model eğilimlerinin çok farklı olduğu durumlarda ortaya çıkar.

eğim = eğim katsayısı

Python ile statsmodels'da Orta Düzey Regresyon

Sentetik Simpson verisi

x y group
62.24344 70.60840 D
52.33499 14.70577 B
56.36795 46.39554 C
66.80395 66.17487 D
66.53605 89.24658 E
62.38129 91.45260 E
  • "A" ile "E" arasında etiketlenmiş 5 veri grubu
1 https://www.rdocumentation.org/packages/datasauRus/topics/simpsons_paradox
Python ile statsmodels'da Orta Düzey Regresyon

Doğrusal regresyonlar

Tüm veri seti

mdl_whole = ols("y ~ x", 
                 data=simpsons_paradox).fit()

print(mdl_whole.params)
Intercept           -38.554  
x                     1.751  

Gruba göre

mdl_by_group = ols("y ~ group + group:x + 0",
                   data = simpsons_paradox).fit()

print(mdl_by_group.params)
  groupA    groupB    groupC    groupD    groupE  
 32.5051   67.3886   99.6333  132.3932  123.8242  
groupA:x  groupB:x  groupC:x  groupD:x  groupE:x  
 -0.6266   -1.0105   -0.9940   -0.9908   -0.5364
Python ile statsmodels'da Orta Düzey Regresyon

Tüm veri setini çizmek

sns.regplot(x="x",
            y="y",
            data=simpsons_paradox,
            ci=None)

Simpson Paradoksu veri setinin saçılım grafiği, tüm gruplar birlikte. Eğilim pozitiftir.png

Python ile statsmodels'da Orta Düzey Regresyon

Gruba göre çizmek

sns.lmplot(x="x",
           y="y",
           data=simpsons_paradox,
           hue="group",
           ci=None)

Simpson Paradoksu veri setinin gruba göre renklendirilen saçılımı. Her grupta eğilim negatife dönmüştür.png

Python ile statsmodels'da Orta Düzey Regresyon

Farkı uzlaştırma

İyi öneri

Mümkünse veri setini görselleştirin.

Yaygın öneri

Genelde en iyi modeli seçemezsiniz — veri setine ve yanıtlamak istediğiniz soruya bağlıdır.

Daha iyi öneri

Modellemeye başlamadan önce soruyu netleştirin.

Python ile statsmodels'da Orta Düzey Regresyon

Test puanı örneği

scatter-video-games-whole.png

scatter-video-games-by-group.png

Python ile statsmodels'da Orta Düzey Regresyon

Bulaşıcı hastalık örneği

scatter-cities-whole.png

scatter-cities-by-group.png

Python ile statsmodels'da Orta Düzey Regresyon

Farkı uzlaştırma

  • Genellikle (ama her zaman değil) gruplu model daha anlamlıdır.
  • Açıklayıcı değişkenleri kaçırıyor musunuz?
  • Bağlam önemlidir.
Python ile statsmodels'da Orta Düzey Regresyon

Gerçek veri setlerinde Simpson paradoksu

  • Paradoks genelde daha az belirgindir.
  • Tam yön değişimi yerine sıfır eğim görebilirsiniz.
  • Her grupta görülmeyebilir.
Python ile statsmodels'da Orta Düzey Regresyon

Haydi pratik yapalım!

Python ile statsmodels'da Orta Düzey Regresyon

Preparing Video For Download...