Sonuç değişkeni% 5 -% 95'e bölündüğünde lojistik regresyon eğilimli midir?


10

Ben bir yardımcı istemci için lojistik regresyon kullanarak bir eğilim modeli inşa ediyorum. Benim endişem, toplam örneklemden 'kötü' hesaplarımın sadece% 5 olması ve geri kalanının iyi olması. 'Kötü' tahmin ediyorum.

  • Sonuç kesilecek mi?
  • İyi bir model oluşturmak için en uygun 'kötü ila iyi oran' nedir?

Genel kurallara göre malların% 50'si ve% 50'si kötü olmak her zaman daha iyidir. Modelin dışına numune üzerinde önyargılı olmamalıdır.

Yanıtlar:


7

Yorumlardaki diğer cevaplara katılmadım, bu yüzden kendi cevaplarımı vermek adil. Let yanıt (iyi / kötü hesaplar) olacak ve covariates olun.YX

Lojistik regresyon için model şu şekildedir:

log(p(Y=1|X=x)p(Y=0|X=x))=α+i=1kxiβi

Verilerin nasıl toplanabileceğini düşünün:

  • Bazı varsayımsal "popülasyon" dan gözlemleri rastgele seçebilirsiniz
  • Verileri göre seçebilir ve hangi değerlerinin oluştuğunu görebilirsiniz.XY

Bunların her ikisi de sadece dağılımını modellediğiniz için yukarıdaki model için uygundur . Bunlara prospektif çalışma denir .Y|X

Alternatif:

  • Gözlemleri göre seçebilir (her biri için 100 diyelim) ve göreceli yaygınlığını görebilirsiniz (yani katmanlaştırıyorsunuz ). Buna retrospektif veya vaka kontrol çalışması denir .YXY

(Ayrıca ve bazı değişkenlerine dayalı olarak verileri de seçebilirsiniz : bu tabakalı bir vaka kontrol çalışması olacaktır ve çalışmak çok daha karmaşıktır, bu yüzden buraya girmeyeceğim).YX

Epidemiyolojiden (bkz. Prentice ve Pyke (1979) ) bir vaka kontrol çalışması için, için maksimum olasılık tahminlerinin , geriye dönük veriler için prospektif modeli kullanan lojistik regresyon ile bulunabileceği iyi bir sonuç vardır.β

Peki bu probleminizle nasıl ilgili?

Bu, daha fazla veri toplayabiliyorsanız, kötü hesaplara ve değerini tahmin etmek için yine de lojistik regresyonu kullanabileceğiniz 'leri(ancakaşırı temsili hesaba katmak için α'yı ayarlamanız gerekir.). Her bir ek hesap için 1 ABD Doları'na mal olduğunu varsayalım, bu sadece tüm hesaplara bakmaktan daha uygun maliyetli olabilir.βiα

Ancak öte yandan, eğer TÜM olası verileriniz zaten varsa, katmanlaşmanın bir anlamı yoktur: sadece veriyi atarsınız (daha kötü tahminler verir), ve sonra tahmin etmeye çalışmanız gerekir .α


Bu sadece, azınlık sınıfını yeterince temsil etmek için yeterli veriye sahipseniz (bu genellikle büyük bir sınıf dengesizliğinin olduğu bir sorundur - sorun kendi başına dengesizliktir, ancak azınlıktan yeterli örneğiniz yoksa) doğrudur. sınıf). Bu durumda, pozitif ve negatif sınıfların çapraz validasyona dayalı diferansiyel ağırlıklandırması, alfa ayarlaması veya çarpımsal ayar (tüm eşdeğer IIRC), azınlık sınıfını artırmak için iyi bir fikir olacaktır. Verileri katmanlaştırmak ucuz ve neşeli bir eşdeğer olacaktır.
Dikran Marsupial

@Dikran: Bu durumda bunların hiçbirinin nasıl doğru olmadığını göremiyorum: azınlık sınıfını temsil etmek zorunda değilsiniz, sadece çoğunluğun göreceli farkını temsil etmeniz gerekiyor. Bunun için yeterli veriye sahip değilseniz, gözlemleri çoğunluktan atmak yardımcı olmaz.
Simon Byrne

@Simon, alfa ayarlamak, desenleri yeniden sarmak veya modelin çıktısını ayarlamak istemiyorsanız, katmanlaşmanın iyi bir fikir olmadığını kabul ettim. Söylediğim gibi, sınıf dengesizliği ile ilgili problem kendiliğinden dengesizlik değil, azınlık sınıfı için “çoğunluğa göreli farkı” yeterince tanımlamak için yeterli veri olmadığıdır. Bu olduğunda, ortalama olarak çıktıyı çoğunluk sınıfına doğru yönlendirir ve bu nedenle bu önyargıyı telafi etmek için bir şeyler yapmak yardımcı olur. Tabakalaşma bunu yapmanın bir yoludur, ancak neredeyse en iyisi değildir.
Dikran Marsupial

@Simon, BTW Prentice ve Pyke referansı için teşekkürler, faydalı görünüyor.
Dikran Marsupial

1
@Dikran: Diğer modeller için önyargılı olabilir, ancak lojistik regresyon için DEĞİL, bütün mesele bu.
Simon Byrne

3

Asimptotik olarak, pozitifin negatif örüntülere oranı esasen önemsizdir. Sorun temel olarak, azınlık sınıfından istatistiksel dağılımını yeterince açıklamak için çok az örneğiniz olduğunda ortaya çıkar. Veri kümesini büyütmek genellikle sorunu çözer (mümkün olan yerlerde).

Bu mümkün değilse, yapılacak en iyi şey dengeli bir veri kümesi elde etmek için verileri yeniden örneklemektir ve daha sonra eğitim seti ile operasyonel bağıl sınıf frekansları arasındaki farkı telafi etmek için sınıflandırıcının çıktısına çarpımsal bir ayarlama uygulamaktır. (Asimptotik olarak) optimal ayar faktörünü hesaplayabilmenize rağmen, pratikte, çapraz geçerliliği kullanarak ayarlamayı ayarlamak en iyisidir (asimptotik yerine sonlu pratik bir durumla uğraştığımız için).

Bu tür bir durumda, her birinin tüm azınlık kalıpları ve azınlık kalıplarıyla aynı büyüklükteki çoğunluk kalıplarının farklı bir rastgele örneği üzerinde eğitildiği bir model komitesi kullanırım. Bu, çoğunluk modellerinin tek bir alt kümesinin seçiminde kötü şansa karşı koruma sağlar.


2
Peki bu lojistik regresyonla mı ilgili? Her iki sınıfın da istatistiksel dağılımını tanımlamak zorunda değiliz, sadece göreceli olasılık oranları (@Henry hakkındaki yorumuma bakın).
Simon Byrne

Tek değişkenli bir örnekte, ancak birden fazla açıklayıcı değişkeniniz varsa, "ayrımcıyı" doğru bir şekilde yönlendirmek için desenlerin dağılımı hakkında bilgiye ihtiyacınız vardır.
Dikran Marsupial

Lojistik işlevi uygulanmadan önce çarpım ayarlamasını günlük olasılıkları alanına uygulamak daha iyi olmaz mıydı?
rm999

IIRC, asemptomatik olarak optimal ayarlamanın, operasyonel eğitim seti sınıf frekanslarına oranı ile çarpmaktır, bu Bayes kuralına dayanır, bu nedenle log-odds oranı yerine olasılıklara uygulanır. Ancak, tahminlerde sadece matematiksel olarak inatçı bir eksikliği düzeltmeye çalıştığımız için, muhtemelen ayarlamanın nasıl yapıldığı çok fazla önemli değil, gerçekten sadece bir "geçiştirme faktörü".
Dikran Marsupial

@Dikran: "Ayrımcıyı" doğru bir şekilde yönlendirmek için ne demek istediğini anlamıyorum. Çok değişkenli durumda bile, lojistik regresyon hala sadece göreceli olasılık oranlarını hesaplamaktadır.
Simon Byrne

1

Teorik olarak, "iyi" ve "kötü" oranları kabaca benzer büyüklükte ise daha iyi ayırt edebileceksiniz. Tabakalı örnekleme, kötü durumları fazla örnekleme ve daha sonra gerçek oranlara geri dönmek için yeniden ağırlıklandırma ile buna doğru hareket edebilirsiniz.

Bu bazı riskler taşır. Özellikle modelinizin, bireyleri "potansiyel olarak kötü" olarak etiketlemesi muhtemeldir - muhtemelen ödenmesi gereken zamanda faturalarını ödeyemeyenler. Bunu yaparken hataların etkisinin doğru bir şekilde tanınması önemlidir: özellikle kaç tane "iyi müşteri" model tarafından "potansiyel olarak kötü" olarak etiketlenecektir ve eğer bozulmamışsanız, yeniden ağırlamayı yanlış anlama olasılığınız daha düşüktür tabakalı örnekleme ile model.


Aslında, bunun lojistik regresyon için doğru olduğunu düşünmüyorum: (ayrımcılığı gerçekleştiren) odds-oranı parametresi yanıt değişkenindeki tabakalaşmaya değişmez. Bu yüzden vaka kontrol çalışmaları için kullanılabilir.
Simon Byrne

@Simon: Oranlar oranına ilişkin yorumunuza katılmıyorum, ancak insanların bunu, diğer durumlarda yaptıklarında tabakalı örneklemeden sonra nüfusun sonuçlarına doğru bir şekilde geri alamadıklarını gördüm. Örneğin, A faktörünün doğru olduğu insanların A faktörü olmayanların "kötü" olma olasılığının iki katına sahip olduğunu görürseniz, bu tabakalı örnekleme ile değişmemelidir, ancak nüfusun hangi oranının olacağını bilmek istiyorsanız A faktörüne sahip olanları hedefliyorsanız gereksiz olarak etkilenirse, numunelerinizdeki bilgileri dikkatlice ağırlıklandırmanız gerekir.
Henry

Üzgünüm, katılmadığım şey bu değildi. İlk bitti: değişmezliğin bir sonucu, verilere sahip olduğunuzda, katmanlaşmanın bir anlamı yok, sadece verileri atıyorsunuz. (veri toplama maliyeti, dolayısıyla vaka kontrol çalışmalarının varlığı söz konusu olduğunda hikaye farklıdır).
Simon Byrne

@Simon: "Vaka-kontrol çalışması" derken, aslında "kötü" vakalardan ve "iyi" vakalardan bir örnek almayı planladığınızı mı kastediyorsunuz? Popülasyondaki küçük orandan daha yüksek oranda "kötü" vakalarla mı? Eğer öyleyse, cevabımda "tabakalı örnekleme, kötü vakaları fazla örnekleme" ile amaçladığım şey buydu.
Henry

Evet, tam olarak bunu kastetmiştim. Soru, zaten verilerinin olduğunu gösteriyor gibi görünüyordu, bu nedenle katmanlaşmanın bir anlamı olmayacaktı.
Simon Byrne

0

yipipi

yiBernoulli(pi)
pi=logit1(a+b1x1+...+bnxn)
logit1=exp(X)1+exp(x)

Şimdi düşük oranda başarısızlık (kötü hesaplar) olması önemli mi? Aslında, örnek verileriniz dengeli olduğu sürece, bazı insanlar zaten işaret ettiği gibi. Ancak, verileriniz dengelenmezse, dikkate almadığınız bazı seçim efektleri varsa daha fazla veri almak neredeyse işe yaramaz olabilir. Bu durumda, eşleştirmeyi kullanmalısınız, ancak denge eksikliği eşleşmeyi oldukça işe yaramaz hale getirebilir. Başka bir strateji doğal bir deney bulmaya çalışıyor, böylece enstrümantal değişken veya regresyon süreksizlik tasarımını kullanabilirsiniz.

Son olarak, ancak en önemlisi, dengeli bir örneğiniz varsa veya seçim yanlılığı yoksa, kötü hesabın nadir olduğu gerçeğinden endişe duyabilirsiniz. % 5'in nadir olduğunu düşünmüyorum, ancak her ihtimale karşı, Gary King'in nadir bir etkinlik lojistiği çalıştırma hakkındaki makalesine bir göz atın . Zelig paketinde, R'de, nadir bir olay lojistiği çalıştırabilirsiniz.


0

Tamam, Sahtekarlık Tespiti'nde çalışıyorum, bu yüzden bu tür bir sorun benim için yeni değil. Makine öğrenimi topluluğunun dengesiz veriler hakkında söyleyecekleri biraz fazla olduğunu düşünüyorum (sınıflardaki gibi dengesizdir). Bu yüzden, daha önce zikredildiğini düşündüğüm birkaç ölü kolay strateji ve birkaç düzgün fikir var ve bir çıkış yolu var. Sorununuz için asimptotikler için bunun ne anlama geldiğini bile bilmeyeceğim, ancak her zaman bana lojistik regresyonda makul sonuçlar veriyor gibi görünüyor. Orada bir yerde bir kağıt olabilir, ama emin değilim.

İşte gördüğünüz gibi seçenekleriniz:

  1. Azınlık sınıfını aşırı örnekleyin. Bu, çoğunluk sınıfı ile aynı sayıda gözlem alana kadar azınlık sınıfının yerini alarak örnekleme anlamına gelir. Gözlem değerlerini değiştirmek gibi şeyleri yapmak için bunu yapmanın süslü yolları vardır, böylece orijinaline yakın değerlere sahip olursunuz, ancak mükemmel kopyalar vb.
  2. Örneğin, çoğunluk sınıfının bir alt örneğini burada alırsınız. Yine bunu yapmak için süslü yollar, böylece en yakın komşu algoritmaları ve benzerlerini kullanarak azınlık örneklerine en yakın olan çoğunluk örneklerini kaldırırsınız.
  3. Sınıfları yeniden tartın. Lojistik regresyon için yaptığım şey bu. Esasen, yanlış sınıflandırılmış bir azınlık vakasını yanlış sınıflandırılmış bir çoğunluk sınıfından çok daha ağır cezalandırmak için zarar işlevini değiştiriyorsunuz. Ama yine de teknik olarak maksimum olasılık yapmıyorsunuz.
  4. Verileri simüle edin. Burada oynadığım çok güzel fikirler. Veri üretmek için SMOTE, Üretken Kısım Ağları, Üretken kısmı kullanan otomatik kodlayıcılar, yeni örnekler çekmek için çekirdek yoğunluğu tahmin edicileri kullanabilirsiniz.

Her halükarda, tüm bu yöntemleri kullandım, ancak en basitinin, lojistik regresyon sorununu zaten yeniden tartmak olduğunu düşünüyorum. Modelinizi kontrol etmek için yapabileceğiniz bir şey:

-Intercept/beta

Belirli bir değişken ceteris paribus üzerindeki karar sınırı (her iki sınıfta da% 50 olma olasılığı) olmalıdır . Eğer mantıklı değilse, örneğin karar sınırı, kesinlikle pozitif olan bir değişken üzerinde negatif bir sayı ise, lojistik regresyonunuzda düzeltilmesi gereken önyargıya sahipsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.