Aykırılıklara dayanıklı hızlı doğrusal regresyon


50

Aykırı değerlere sahip doğrusal verilerle uğraşıyorum, bunlardan bazıları tahmini regresyon çizgisinden 5 standart sapmadan daha uzak. Bu noktaların etkisini azaltan lineer bir regresyon tekniği arıyorum.

Şimdiye dek yaptığım, bütün verileri içeren regresyon çizgisini tahmin etmek, ardından veri noktasını çok büyük kare artıkları ile atmak (ilk% 10'u söyleyin) ve regresyonu bu noktalar olmadan tekrarlamak.

Literatürde pek çok olası yaklaşım vardır: en küçük kesilmiş kareler, kuantil regresyon, m-tahmin edicileri, vs. Hangi yaklaşımı denemem gerektiğini gerçekten bilmiyorum, bu yüzden öneriler arıyorum. Benim için önemli olan, seçilen yöntemin hızlı olması gerektiğidir çünkü sağlam regresyon, bir optimizasyon rutininin her aşamasında hesaplanacaktır. Çok teşekkürler!


2
Bahsetmediğiniz bir yöntem, hatalarının bilinmeyen serbestlik derecelerinde kullanılmasıdır. Bununla birlikte, bu ihtiyaç duyduğunuz kadar hızlı olmayabilir. t

@Procrastinator: (Çalışmayacağı yerde aykırı bir konfigürasyon hayal etmek kolaydır).
user603

@ user603 Bu herhangi bir yöntem için doğrudur, Panacea;) yoktur. Sadece başka bir yöntemi işaret ediyordum. Cevabınıza +1.

3
@Procrastinator: Tüm yöntemlerin bir miktar kirlenme için başarısız olacağına katılıyorum . Ve bu bağlamda 'başarısızlık' nicel ve deneysel olarak tanımlanabilir. Ancak fikir, yalnızca daha yüksek kirlilik oranlarında başarısız olacak yöntemleri tercih etmektir.
user603

4
Bu bir optimizasyon rutini sırasında tekrar tekrar yapıldığından, belki de regresyondaki veriler (sonunda) yavaşça değişiyor. Bu, durumunuza uyarlanmış bir algoritma önerir: bir tür sağlam regresyonla başlayın, ancak optimizasyon sırasında küçük adımlar atarken, bir önceki adımda bir aykırı olarak kalacağını varsayalım. Verilerde OLS'yi kullanın, sonra varsayılan aykırı değerlerin hala dışlanıp dışlanmadığını kontrol edin. Olmazsa, sağlam prosedürle yeniden başlayın, ancak öyleyse - ki bu sık sık olabilir - çok fazla hesaplama yapmış olursunuz.
whuber

Yanıtlar:


55

Verileriniz tek bir ayracı içeriyorsa, önerdiğiniz yaklaşımı kullanarak güvenilir bir şekilde bulunabilir (yinelemeler olmadan). Buna resmi bir yaklaşım

Cook, R. Dennis (1979). Lineer Regresyonda Etkili Gözlemler . Amerikan İstatistik Kurumu Dergisi (Amerikan İstatistik Derneği) 74 (365): 169–174.

Birden fazla aykırı bulmak için, uzun yıllar boyunca, öncü yöntem denilen- yaklaşma yaklaşımı ailesiydi. Bu Huber'ın içeren Tahmincilerin oldukça geniş bir ailedir regresyon tahmin edicisi, Koenker en L1 regresyon yanı sıra yaklaşım sorunuza yaptığı açıklamada Procastinator tarafından önerdi. dışbükey ile tahmin işlevleri de normal bir regresyon tahmin olarak aynı sayısal karmaşıklık ile ilgili olması avantajına sahiptir. En büyük dezavantajı, aykırı değerleri yalnızca güvenilir bir şekilde bulabilmeleridir:M M ρMMMρ

  • numunenizin kirlilik oranı değerinden daha küçüktür , burada , tasarım değişkenlerinin sayısıdır, p11+pp
  • veya aykırı noktalar tasarım alanında dışlama yapmıyorsa (Ellis ve Morgenthaler (1992)).

Sen iyi uygulanmasını bulabilirsiniz ( gerilemenin tahminleri) ( ) paketin. l 1Ml1robustbasequantregR

Verileriniz daha fazla , tasarım alanını da potansiyel olarak , o zaman bunları bir birleşimsel problemi çözme miktarlarını bulmak (eşdeğerde bir tahmincisine çözüm göre Azalan / dışbükey işlevi). Mρnp+1Mρ

Son 20 yılda (ve özellikle son 10'da), bu birleştirme problemini yaklaşık olarak çözmek için büyük bir hızlı ve güvenilir dış tespit algoritmaları gövdesi tasarlanmıştır. Bunlar şimdi en popüler istatistiksel paketlerde (R, Matlab, SAS, STATA, ...) yaygın olarak uygulanmaktadır.

Bununla birlikte, bu yaklaşımlarla aykırı değerlerin bulunmasının sayısal karmaşıklığı tipik olarak düzeyindedir . Çoğu algoritma pratikte orta gençlerdeki değerleri için kullanılabilir . Tipik olarak bu algoritmalar (gözlem sayısı) cinsinden doğrusaldır, bu nedenle gözlem sayısı bir sorun değildir. Büyük bir avantaj, bu algoritmaların çoğunun utanç verici bir şekilde paralel olmasıdır. Daha yakın zamanlarda, daha yüksek boyutlu veriler için özel olarak tasarlanmış birçok yaklaşım önerilmiştir.s , nO(2p)pn

Sorunuzda belirtmediğiniz göz önüne alındığında, olayı için bazı referanslar listeleyeceğim . Bu inceleme yazı dizisinde bunu daha ayrıntılı olarak anlatan bazı makaleler:p < 20pp<20

Rousseeuw, PJ ve van Zomeren BC (1990). Çok Değişkenli Aykırı Değerlerin ve Kaldıraç Noktalarının Maskesini Kaldırma . Amerikan İstatistik Derneği Dergisi , Vol. 85, No. 411, sayfa 633-639.

Rousseeuw, PJ ve Van Driessen, K. (2006). Büyük Veri Kümeleri için LTS Regresyonunun Hesaplanması . Veri Madenciliği ve Bilgi Keşif Arşivi Cilt 12 Sayı 1, Sayfa 29 - 45.

Hubert, M., Rousseeuw, PJ ve Van Aelst, S. (2008). Yüksek Dağılım Dayanıklı Çok Değişkenli Yöntemler . İstatistiksel Bilim , Cilt 23, No. 1, 92–119

Ellis SP ve Morgenthaler S. (1992). L1 Regresyonunda Kaldıraç ve Dağılım. Amerikan İstatistik Derneği Dergisi , Vol. 87, No. 417, sayfa 143-148

Aykırı kimlik sorunu ile ilgili son bir referans kitabı:

Maronna RA, Martin RD ve Yohai VJ (2006). Sağlam İstatistikler: Kuram ve Yöntemler . Wiley, New York.

Bu (ve bu diğer pek çok varyasyon) yöntem (diğerlerinin yanı sıra) pakette uygulanmaktadır.robustbase R


4
Şimdi bu harika bir cevap!
Peter Flom - Monica'yı yeniden kurun

Çok teşekkür ederim user603! Benim sorunumda ve tasarım alanında hiçbir aykırılık yoktur (çünkü açıklayıcı değişkenler normal bir dağılımdan simüle edilmiştir). Yani belki m-tahmincisini deneyebilirim? Her durumda, bana verdiğiniz diğer tüm referanslar , algoritmamın daha karmaşık uygulamaları ( >> 10) üzerinde çalışmaya başladığımda çok faydalı olacaktır . pp<10p
Matteo Fasiolo

2
@Jugurtha: Bu durumda (tasarım alanında hiçbir aykırı değil ve ) tahmin edicileri gerçekten tercih edilen çözümdür. Dayanıklı paket paketinde 'lmrob..M..fit' işlevini, MASS paketinde 'rlm' işlevini veya quantreg paketindeki l1 regresyonunu düşünün. Yine de LTS regresyonunu birkaç durumda çalıştırıp sonuçları daha fazla aykırıma dayanabileceği için karşılaştırırdım. Bunu, kontaminasyon oranının şüphelendiğinizden daha yüksek olmadığının kontrolü olarak yapacağım. Mp<10M
kullanıcı603

1
“Büyük bir avantaj, bu algoritmaların çoğunun utanç verici derecede paralel olması.” İfadeleri severim. ;)
Mateen Ulhaq

1
@Mateen, peki, sonuçta sanatın terimi . :)
JM bir istatistikçi değil

19

Basit regresyon için (single x), Theil-Sen hattında y-outliers ve etkili noktaların yanı sıra genel olarak iyi verimlilik (normalde) eğim için LS'ye göre sağlamlık açısından söylenecek bir şey vardır. Eğimin kırılma noktası neredeyse% 30'dur; Kesişme noktası (insanların kullandığı çeşitli olası kesişme noktaları vardır) daha az bozulmadığı sürece, tüm prosedür oldukça iyi bir kirlenme oranına sahiptir.

Hızı kötü gibi gelebilir - eğimlerinin ortancası ortanca ile bile görünüyor - ama benim hatıralarım daha çabuk yapılabileceğidir hız gerçekten bir sorunsa ( , inanıyorum) 0(n2)0(n)0(nlogn)(n2)O(n2)O(n)O(nlogn)

Düzenleme: user603, Theil regresyonunun L1 regresyonu üzerindeki avantajını istedi. Cevap bahsettiğim diğer şey - etkili noktalar:

Theil_vs_L1

Kırmızı çizgidir (işlevinden uyum içinde paketin). Yeşil, Theil eğimine uygun. Tek gereken, x değerinde tek bir yazım hatası - 53 yerine 533 yazmak gibi - ve bu tür bir şey olabilir. Yani uyumu, x-uzayda tek bir yazım hatası sağlam değildir.L 1L1rqquantregL1


zaman içinde hesaplanabilir . TS tahmincisinin, regresyonda elde ettiği avantajlardan (tek x durumunda) misiniz? l 1nlognl1
user603

1
@ user603 Düzenlemeye bakınız.
Glen_b

(+1) düzenleme için teşekkürler. Bu özelliği işaret etmek önemlidir.
user603

1
Ve bir MM-tahminine göre, R paket robustbase'den lmrob () veya hatta MASS paketinden 'base R'} rlm (*, ... method = "MM") 'den başka bir şey yüklemenize gerek yok. Bunlar tam kırılma noktasına (~% 50) sahiptir ve normalde muhtemelen daha verimlidirler.
Martin Mächler

1
@ MartinMächler Orada yapmadığım bir iddiaya karşı tartışıyor gibisiniz. Diğer yüksek arızalara dayanan güçlü tahmin edicilerin, özellikle de OP seviyesindeki birisinin anlaşılması kadar basit olanların karşılaştırmasını da içeren bir cevap bulmak isterseniz, okumayı dört gözle bekliyorum.
Glen_b

12

RANSAC'a (Wikipedia) baktınız mı ?

Bu, çok fazla aykırı ve gürültülü olsa bile makul bir doğrusal modelin hesaplanmasında iyi olmalıdır , çünkü verilerin yalnızca bir kısmının gerçekte mekanizmaya ait olacağı varsayımı üzerine kuruludur.


evet ancak basit bir yeniden ağırlık adım eklenmesi aynı sağlam ve bir kestirim (LTS) sağlar , böylece çok daha kararlı ve istatistiksel olarak etkili. Neden yapmıyorsun
user603

1

En iyi cezai hata regresyonunu buldum . Ayrıca, çözelti ile tutarlı olmayan tekrarlı ve tekrarlı örnekleri kullanabilirsiniz. Temel fikir, modelinizi hatalarla güçlendirmektir: burada , bilinmeyen hata vektörüdür. Şimdi, regresyon . İlginçtir size önceden ölçümlerin kesinlik tahmin ve içine ağırlık olarak bu koyabilirsiniz zaman tabii bunun için "lasso kaynaşmış" kullanabilirsiniz ve yeni slighty farklı görev çözmek için y = A x + e e y - A x - e 2 2 + λ e 1 W = d i a g ( w i ) y - A x - e 2 2 + λ W e 1l1

y=Ax+e
e
yAxe22+λe1
W=diag(wi)
yAxe22+λWe1

Daha fazla bilgi burada bulunabilir: http://statweb.stanford.edu/~candes/papers/GrossErrorsSmallErrors.pdf


Bunu Glen_b örneğinde (onun yerleştirdiği yerin yanına ikinci bir yardımcı eklerseniz) denediniz mi?
user603

@ user603 hayır, bunu kamera görüntülerinden 3B modelleme için daha pratik durumlarda uyguladım. Orada çok yardımcı oldu. Bununla birlikte, öğrenilen bir ders şudur: Aykırı değerlerinizi ortadan kaldırmak için birden fazla imkanınız varsa, bunları kullanın.
mojovski
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.