Bir regresyon modelini iyileştirmek için aykırı değerleri Ortalama Mutlak Hata kutu grafiğine göre düşürmek hile yapıyor mu?


15

Aşağıdaki kutu grafikte gördüğünüz gibi dört yöntemle test edilmiş bir tahmin modelim var. Modelin öngördüğü özellik 0-8 aralığındadır.

Orada olduğunu fark edebilirsiniz biri üst sınır aykırı ve üç alt sınır aykırı tüm yöntemlerle gösterdi. Bu örnekleri verilerden kaldırmanın uygun olup olmadığını merak ediyorum. Yoksa bu tahmin modelini geliştirmek için bir tür hile mi?

resim açıklamasını buraya girin


1
(1) Üç yöntem değil, dört yöntem için sonuçları görüyorum. (2) Tahmin yeteneklerinin kanıtlarının kaldırılması yöntemleri nasıl geliştirebilir?
whuber

@whuber (1) sabittir. (2) için, yani çok yanlış tahmin edilen bir örneği kaldırmak, genel olarak daha iyi tahmin performansına yol açmayacaktı (bu, "modeli iyileştirmek" ile kastettiğim şey miydi?)
19

7
herhangi bir nedenden ötürü bir gözlemin kaldırılması (diyelim ki en iyi 4 uyma noktası) bir model seçimdir. Sen öngörü performansını değerlendirmek gerektiğini bu ikinci model seçimi çok . Dikkat çeken nokta, genel tahmin yönteminin performansını değerlendirmek için kullanılan son test setinin bütünlüğünü korumaktır. Kötü tahmin edilen verilerin silinmesinden sonra modelleri (Kement vb.) Takmayı planlayıp planlamadığınız soruya açık değildir.
user603

2
Bir yan açıklama olarak, bir zamanlar büyük değerlerin aykırı değerlere gizlendiğini ve dikkatlice bakmaya layık olduğunu eklerim.
Dror Atariah

@DrorAtariah Teşekkürler Dror, katılıyorum. Aşırı durumlar değerlidir.
renakre

Yanıtlar:


22

Öyle hemen hemen her zaman gözlemleri kaldırmak için bir hile geliştirmek için bir regresyon modeli. Sadece gerçekte aykırı değerler olduğunu düşündüğünüzde gözlemleri bırakmalısınız.

Örneğin, akıllı saatinize bağlı kalp atış hızı monitörünüzden zaman serileri vardır. Diziye bakarsanız, 300bps gibi okumalarla hatalı gözlemlerin olacağını görmek kolaydır. Bunlar kaldırılmalıdır, ancak modeli geliştirmek istediğiniz için değil (ne anlama geliyorsa). Kalp atış hızınızla hiçbir ilgisi olmayan okuma hatalarıdır.

Dikkat edilmesi gereken bir şey, hataların verilerle ilişkilendirilmesidir. Örneğimde, atlama ve koşma gibi egzersizler sırasında kalp atış hızı monitörünün yerini değiştirdiğinde hatalarınız olduğu söylenebilir. Bu da bu hataları hart oranıyla ilişkilendirecektir. Bu durumda, bu aykırı değerlerin ve hataların kaldırılmasına dikkat edilmelidir, çünkü bunlar rastgele değildir

Aykırı değerlerin ne zaman kaldırılmayacağına dair bir örnek vereceğim . Diyelim ki bir yay üzerindeki ağırlığın hareketini ölçüyorsunuz. Ağırlık, ağırlığın gücüne göre küçükse , Hooke yasasının çok iyi çalıştığını göreceksiniz : burada F kuvvet, k - gerilme katsayısı ve Δ x ağırlığın konumudur .

F=-kΔx,
FkΔx

Eğer çok fazla kilo çok ağır ağırlığını koydu ya yerinden Şimdi, eğer sen sapmaları görmeye başlarsınız: yeterince büyük yer değiştirmeler de hareketi doğrusal modele sapma gibi görünür. Bu nedenle, lineer modeli geliştirmek için aykırı değerleri kaldırmak cazip olabilir . Bu iyi bir fikir olmaz, çünkü Hooke yasası sadece yaklaşık olarak doğru olduğundan model çok iyi çalışmıyor.Δx

GÜNCELLEME Sizin durumunuzda bu veri noktalarını çekmenizi ve onlara daha yakından bakmanızı öneririm. Laboratuar aleti hatası olabilir mi? Dış müdahale? Örnek hatası? vb.

Sonra, bu aykırı değerlerin sunumunun verdiğim örnekte ölçtüğünüz şeyle ilişkilendirilip ilişkilendirilemeyeceğini belirlemeye çalışın. Bir korelasyon varsa, o zaman bunun için basit bir yol yoktur. Herhangi bir korelasyon yoksa aykırı değerleri kaldırabilirsiniz


2
It is always a cheating to remove outliers to improve a regression model. Spline regresyonunun hile olduğunu düşünüyor musunuz ? FWIW, [yerel] regresyon modelini geliştirmek için düşük ağırlık gözlemleri yapıyor ~
user603

1
"Bir regresyon modelini iyileştirmek için aykırı değerleri kaldırmak her zaman bir hile olur." regresyon teşhisi yapmak için birçok araç vardır ve bunun amacı aykırı değerlerin tespit edilmesi ve "kaldırılması" ve modelin yeniden takılmasıdır.
Haitao Du

6
@ hxd1011 Grubbs gibi araçlar aykırı değerlerin otomatik olarak kaldırılması anlamına gelmez. Sadece bir aykırı değer olabileceğini gösterirler, o zaman gerçekten aykırı olup olmadığına siz karar verirsiniz. Aykırı değerleri otomatik olarak kaldırarak uyum tanılamayı iyileştirmek çok tehlikeli bir yaklaşımdır. Bunları duruma göre analiz etmelisiniz.
Aksakal

2
Tamam anladım. Orijinal dilim çok katıydı. Açılış cümlesini düzenledim. Yorum yapanlara geri bildiriminiz için teşekkür ederiz
Aksakal

1
@renakre, eğer bunların aykırı olduğunu düşünmüyorsanız, gözlemleri kaldırmayın. Bununla birlikte, göz önünde bulundurmanız gerekebilecek şey, kare hata dışındaki tahminlerin iyiliğinin ölçüsüdür. Örneğin, bu örnekler sizin için o kadar önemli değilse, o zaman onları kare olarak ağırlıklandırmanız ve bunun yerine mutlak sapma vb. Kullanmanız gerekmez. Önlem, her tahmin hatası üzerindeki dolar kayıpları gibi tahmin hatasının önemini yansıtmalıdır. . Ayrıca, bunların sayım olması otomatik olarak hiçbir cihaz hatası olmadığı anlamına gelmez, tıklamaları sayan web sayfası eklentileri başarısız olabilir
Aksakal

4

Başlangıçta bunu başka bir cevaba yorum olarak göndermek istedim, ancak sığması çok uzun sürdü.

Modelinize baktığımda, mutlaka büyük bir grup ve bazı aykırı değerler içermiyor. Kanımca, 1 orta boy grup (1 ila -1) ve sonra her biri 2 tam sayı arasında bulunan 6 küçük grup içerir. Bir sayıya ulaştığınızda, bu frekanslarda daha az gözlem olduğunu açıkça görebilirsiniz. Tek özel nokta, gözlemlerde gerçekten belirgin bir düşüşün olmadığı 0'dır.

Bence, bu dağılımın neden bu şekilde yayıldığını ele almaya değer:

  • Dağıtımda bu gözlem sayısı neden tam sayılarla düşüyor?
  • Bu gözlem sayımı neden 0'da gerçekleşmiyor?
  • Bu aykırı değerlerin bu kadar aykırı olması özel olan nedir?

Ayrık insan eylemlerini ölçerken, her zaman aykırı değerlere sahip olursunuz. Bu aykırı değerlerin modelinize neden uymadığını ve modelinizin gelecekteki yinelemelerini iyileştirmek için nasıl kullanılabileceğini görmek ilginç olabilir.


+1. Tam sayı boşluğu her zaman tam sayılarda doğru görünmemektedir, bu yüzden var olmayan bir kalıp görmek daha fazla olabilir, ancak ışık tutabilecek veri toplama, kodlama veya takdir yetkisi olabilir bir bütün olarak veriler üzerinde. 0'da, çok sayıda üst üste binen ve belki de sarsıntılı noktaların gizlediği bir boşluk bile olabilir. Kesinlikle verinin düşündüğümüz şey olup olmadığını görmek için kökenine geri dönmeye değer.
Wayne

2

Sadece "normal model" için aykırı değerlerin çıkarılması ve model oluşturulması için artıları ve eksileri vardır.

  • Artıları: model performansı daha iyidir. Sezgi, hem "normal paterni" hem de "aykırı paterni" yakalamak için ONE modelini kullanmak çok zordur. Bu yüzden aykırı değerleri ortadan kaldırıyoruz ve sadece "normal kalıp" için bir model oluşturduğumuzu söylüyoruz.

  • Eksileri: aykırı değerleri tahmin edemeyiz. Başka bir deyişle, modelimizi üretime koyduğumuzu varsayalım, modelden bazı eksik tahminler olacaktır

Aykırı değerlerin kaldırılmasını ve modelin oluşturulmasını öneririm ve mümkünse yalnızca aykırı değer için ayrı bir model oluşturmayı deneyin.

"Hile" kelimesi için, kağıt yazıyorsanız ve aykırı değerlerin nasıl tanımlandığını ve kaldırdığınızı açıkça listeliyorsanız ve iyileştirilmiş performanstan sadece temiz verilerde bahsediliyorsa. Hile değil.


3
Aşağı düşmeyi önemsemiyorum, ama biri bana nedenini söyleyebilir mi?
Haitao Du

Ben kaldırdım :) Ayrıca aykırı değerleri kaldırmak ve daha sonra tahmin modeli daha fazla test için verileri yeniden örneklemek iyi bir fikir olduğunu düşünüyor musunuz?
renakre

1
@renakre üretimde ne yapacağınızı düşünmenizi öneririm. Diyelim ki, aykırı bulursanız sadece% 1'dir ve üretimde hiçbir çıktı üretmemek iyidir. Sonra onları kaldırın. Eğer aykırı değer bulursanız% 30'dur ve üretimdeki tahminleri atlamak uygun değildir. Sonra bunun için ayrı bir model bulmaya çalışın.
Haitao Du

Çoğunlukla bazı sonuç değişkenlerini tahmin edip edemeyeceğimizi görmek için bazı şeyleri test ediyoruz. if it is fine to produce no output in productionAynı anlama mı geliyor? Sonuç değişkenini test etmek ve uygulamada tahmin edilen puanı kullanmak için modelimizi gerçek bir uygulamada kullanmaya başlarsak, aykırı değerleri kaldırmak (özellikle de belirttiğiniz gibi çok sayıdalarsa) uygun olmaz mı? Demek istediğin bu mu?
renakre

1
@renakre Öldün! Son zamanlarda AITOBOX ile tahmin sınırlarının sadece psi ağırlıklarına değil aynı zamanda aykırı değerlerle doldurulmuş yeniden örneklenmiş hatalara dayandığı budur. Bu sadece ARIMA modelleri için değil, öngörücülerdeki belirsizliğin de benzer bir şekilde dahil edildiği nedensel modeller için yapılır.
IrishStat

2

Aykırı değerlerin yalnızca bunun için kalitatif bir neden olduğu zaman çıkarılmasının makul olduğuna inanıyorum. Bununla kastedilen, modelde olmayan başka bir değişkenin aykırı gözlemleri etkilediği bilgisine sahip olduğu anlamına gelir. Daha sonra, aykırı değeri kaldırma veya ek değişkenler ekleme seçeneği vardır.

Veri kümemde aykırı gözlemler yaptığımda, aykırı değerin neden var olduğunu belirlemek için çalışarak verilerim ve dikkate alınması gereken diğer modeller hakkında daha fazla bilgi edindiğimi görüyorum.


1
İstatistiklere hoş geldiniz. Lütfen turumuzu görüntülemek için bir dakikanızı ayırın . Soruyu daha eksiksiz cevaplamak için cevabınızı genişletmeniz yararlı olacaktır (kutu grafiğine dayalı daha fazla belirleme, bu yöntemin tahmin modeli üzerindeki etkileri vb.).
Tavrock

2

Onların "aykırı" olduklarına bile ikna olmadım. Normal bir olasılık grafiği yapmak isteyebilirsiniz. Bir modelin takılmasından elde edilen veriler mi, artıklar mı?


öngörülen ve gerçek değerler arasındaki farktır.
Ocak 17'de renakre
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.