Regresyonda Dengesiz Veriler için Örnekleme


22

Sınıflandırma bağlamında dengesiz verilerin ele alınması konusunda iyi sorular var , ancak insanların regresyon için örneklemek için ne yaptığını merak ediyorum.

Sorunlu alanın işarete çok duyarlı olduğunu, ancak hedefin büyüklüğüne sadece biraz duyarlı olduğunu varsayalım. Bununla birlikte, büyüklük modelin sınıflandırma değil (pozitif ve negatif sınıflar) regresyon (sürekli hedef) olması gerektiği kadar önemlidir. Ve bu problem alanında herhangi bir eğitim verisi setinin pozitif hedeflerden 10 kat daha negatif olacağını söyleyin.

Bu senaryoda, negatif-hedef örneklerin sayısıyla eşleşmesi için pozitif-hedef örnekleri fazla örnekleyebilir ve daha sonra iki durumu ayırt etmek için bir model eğitebilirim. Açıkçası eğitim yaklaşımı dengesiz veriler üzerinde kötü bir şey yapıyor, bu yüzden bir çeşit örnekleme yapmam gerekiyor. Tahmin yaparken bu aşırı örneklemeyi "geri almanın" iyi bir yolu ne olabilir? Belki de doğal antrenman verilerinin hedefinin (negatif) ortalaması veya medyanı ile mi çevriliyor?

Yanıtlar:


15

Dengesizlik mutlaka bir sorun değildir, ancak oraya nasıl ulaşacağınız olabilir. Örnekleme stratejinizi hedef değişkene dayandırmak yerinde değildir. Bu değişken regresyon modelinizde rastgeleliği içerdiğinden, buna dayalı olarak örnek verirseniz, her türlü çıkarımda büyük sorunlar yaşayacaksınız. Bu sorunları "geri almak" mümkün olduğundan şüpheliyim.

Öngörücü değişkenlerini temel alarak yasal olarak aşırı veya yetersiz örnekleme yapabilirsiniz . Bu durumda, model varsayımlarının geçerli göründüğünü dikkatlice kontrol etmeniz şartıyla (örneğin, her zamanki varsayımlarla "sıradan" bir regresyonunuz varsa, bu durumda önemli olarak ortaya çıkan homoscedasticity olanı), tahmin ederken aşırı örneklemeyi geri alın. Vakanız şimdi, öngörücü değişkenlerin dengeli bir aralığı için açıkça bir deney tasarlayan bir analiste benzer olacaktır.

Düzenleme - ekleme - Y'ye dayalı örneklemenin neden kötü olduğuna ilişkin genişleme

y=Xb+eeeXb) e artık sıfır ortalamaya sahip olmayacak veya aynı şekilde dağıtılamayacak. Örneğin, çok düşük e değerleri içerebilen y değerlerinin düşük seçilmesi daha az olası olabilir. Bu, bu tür modellerin takılmasının olağan araçlarına dayanan herhangi bir çıkarımı mahveder. Düzeltmeler, kesilmiş modellerin takılması için ekonometride yapılanlara benzer şekilde yapılabilir, ancak bunlar bir acıdır ve ek varsayımlar gerektirir ve sadece alternatif olmadığında kullanılmalıdır.

Aşağıdaki aşırı şekle bakın. Verilerinizi yanıt değişkeni için isteğe bağlı bir değerde keserseniz, çok önemli yanlılıklar ortaya koyarsınız. Açıklayıcı bir değişken için keserseniz, mutlaka bir sorun yoktur. Tahmin çizgisi değerleri nedeniyle seçilen bir altkümeye dayanan yeşil çizginin gerçek yerleştirilmiş çizgiye çok yakın olduğunu görürsünüz; bu sadece mavi noktalara dayanan mavi çizgi için söylenemez.

Bu, daha az şiddetli yetersiz veya aşırı örnekleme vakasına uzanır (çünkü kesme, mantıksal uç noktasına alınan yetersiz örnekleme olarak görülebilir).

resim açıklamasını buraya girin

# generate data
x <- rnorm(100)
y <- 3 + 2*x + rnorm(100)

# demonstrate
plot(x,y, bty="l")
abline(v=0, col="grey70")
abline(h=4, col="grey70")
abline(3,2, col=1)
abline(lm(y~x), col=2)
abline(lm(y[x>0] ~ x[x>0]), col=3)
abline(lm(y[y>4] ~ x[y>4]), col=4)
points(x[y>4], y[y>4], pch=19, col=4)
points(x[x>0], y[x>0], pch=1, cex=1.5, col=3)
legend(-2.5,8, legend=c("True line", "Fitted - all data", "Fitted - subset based on x",
    "Fitted - subset based on y"), lty=1, col=1:4, bty="n")

Cevabınız için teşekkürler, Peter. "Bu değişken regresyon modelinizdeki rasgeleliği içerdiğinden" ile ne demek istediğinizi açıklar mısınız? Hedef çevrede gözlemlenebilir, yani ölçüm hatası mı demek istiyorsunuz?
someben

1
İşte bu konuda Foster Provost adlı bir NYU profesörünün bir makalesi: pages.stern.nyu.edu/~fprovost/Papers/skew.PDF Benim durumumda, dengesiz verilerle regresyon yapıyorum, sınıflandırma değil. Dolayısıyla sorum.
birileri

1
@someben - Ayrıntılı bir örnek ekledim. Bağımlı değişkene göre örnekleme yapamayacağınız regresyon literatüründe iyi tanımlanmıştır. Bu, diğer modeller için de geçerli olmalıdır. "Dengesiz" bir örnek, farklı bir şeydir ve sorun değildir; kasıtlı olarak haksız bir örnekleme stratejisi ile yaratmadıysanız. Sorun, denge veya eksiklik değil, verilerinizi nasıl elde ettiğinizdir.
Peter Ellis

2
@someben, hayır Bunun bir fark yarattığını düşünmüyorum. Sorun bundan daha temel.
Peter Ellis

1
Güzel örnek! Grafiğiniz bana Richard Berk (1983) tarafından Numune seçim yanlılığı hakkındaki bir makaleyi hatırlatıyor . Ayrıca, örnek seçim mekanizmasını açıkça biliyorsanız, bu problemleri "geri alabilirsiniz" ve bu kavramın etrafında inşa edilmiş bir dizi ekonometrik model vardır (tobit modeli veya James Heckman'ın çalışması gibi).
Andy W

2

Bu, nedensel analiz veya tahmin yapıp yapmadığınız sorusudur. oku http://m.statisticalhorizons.com/?ref=http%3A%2F%2Ft.co%2F54MWZrVAyX&url=http%3A%2F%2Fstatisticalhorizons.com%2Fprediction-vs-causation-in-regression-analysis&width=640

Tahmin amacıyla eğitim için hedef değişken üzerinde yeniden örnekleme, yeniden örneklenmemiş bir uzaklaştırma örneği üzerinde yapılan bir test olduğu sürece çalışır. Nihai performans çizelgesi yalnızca bilgi muhafazasına dayanmalıdır. Modelin öngörülebilirliğinin belirlenmesinde çoğu doğruluk için çapraz validasyon teknikleri kullanılmalıdır.

Regresyon modelinin nihai analiziyle ve dengesiz veri kümesinde "geri alırsınız".


2

Bu, probleminize pratik bir çözüm sağlama girişimi değildir, ancak sadece regresyon problemlerindeki dengesiz veri kümeleriyle uğraşmak için biraz araştırma yaptım ve sonuçlarımı paylaşmak istedim:


1

her şeyden önce 1:10 oranı hiç de fena değil. örneklemeyi geri almanın basit bir yolu vardır.

1) sınıflandırma problemi için, 10 ile herhangi bir negatif sınıftan alt örneklemiş olmanız durumunda, ortaya çıkan olasılık ne olması gerektiğinin 10 katıdır. Ortaya çıkan olasılığı 10'a basit bir şekilde bölebilirsiniz (model yeniden kalibrasyonu olarak bilinir)

2) Facebook ayrıca alt örnekleri (lojistik regresyonda tıklama tahmini için) ve negatif bir aşağı örnekleme yapar. yeniden kalibrasyon basit formül p / (p + (1-p) / w) ile yapılır; burada p alt-örneklemede tahmin, nw negatif alt-örnekleme oranıdır.


Bunun bu kadar basit olduğunu düşünmüyorum, Arpit. Birçok doğrusal olmayan algo, yeterince örneklenmemiş sınıf örneği görmez ve aşırı örneklenmiş olana doğru eğilir ve doğrusal olmamaları nedeniyle bunu düzeltmek için bir yolunuz olmaz.
Anatoly Alekseev

1

Sanırım sorununuza yardım edebilecek şey Regresyon için Sentetik Azınlık Aşırı Örnekleme Tekniğidir (SMOTER). Bu konuda bazı araştırmalar var. Ancak, muhtemelen karşılaştığınız gibi sınıflandırma muadilinden daha az keşfedilmiştir.

Aşağıda atıfta bulunulan makaleyi (ve http://proceedings.mlr.press/v74/ adresinde sunulan konferansı ) araştırma perspektifinden anlamakla ne kadar ilgilendiğinize bağlı olarak önerebilirim . Sentetik gözlemlerin üretilmesinde Gauss gürültüsünün ortaya çıkmasını gerçekten takdir ettim.

Pratik bir çözümle daha fazla ilgileniyorsanız, ilk yazarın Github sayfasında bir R uygulaması vardır. https://github.com/paobranco/SMOGN-LIDTA17

Python daha fazla ikna ediyorsanız, kısa süre önce şu anda mevcut olan ve şu anda birim test edilen SMOGN algoritmasının tamamen Pythonic uygulamasını dağıttım. https://github.com/nickkunz/smogn

Umarım bu yardımcı olmuştur!

Branco, P., Torgo, L., Ribeiro, R. (2017). "SMOGN: Dengesiz Regresyon için Ön İşleme Yaklaşımı". Makine Öğrenimi Araştırması Bildirileri, 74: 36-50. http://proceedings.mlr.press/v74/branco17a/branco17a.pdf .

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.