Sağlam yöntemler gerçekten daha mı iyi?


17

Her biri yaklaşık 400 ve yaklaşık 300 tahmin ediciye sahip iki grup denek var, A ve B. Amacım ikili yanıt değişkeni için bir tahmin modeli oluşturmak. Müşterim, A'dan B'ye inşa edilen modeli uygulamanın sonucunu görmek istiyor. güç ve hassasiyet --- bakınız sayfa 90, Harici Doğrulama: Sahip olduğum veri türünün toplanmasının çok pahalı ve zaman alıcı olduğunu göz önünde bulundurarak onunla hemfikirim. .) Tahmincilerimin çoğu yüksek derecede ilişkilidir ve ayrıca çok çarpıktır. Tahmin modelimi oluşturmak için lojistik regresyon kullanıyorum.

Tahmincilerim esas olarak mekanikten geliyor. Örneğin, toplam zaman konusu daha yüksek bir eşik daha stres altında süre boyunca [ t 1 , t 2 ] çeşitli değerleri için, α > 0 ve 0 t 1 < t 2 . Sadece tanımlarından, bu toplam sürelerin çoğunun cebirsel olarak birbiriyle ilişkili olduğu açıktır. Cebirsel olarak ilişkili olmayan yordayıcıların çoğu, doğası gereği ilişkilidir: bir zaman dilimi boyunca yüksek stres altında olan özneler [ t 1 , t 2 ]α[t1,t2]α>00t1<t2[t1,t2][ t 1 , t 2 ] [ t 3 , t 4 ] = olsa bile , zaman diliminde yüksek stres altında olma eğilimindedir . Verilerin boyutunu azaltmak için, ilgili tahmin edicileri birlikte kümelendirdim (örneğin, tüm toplam stres sürelerini birlikte) ve her kümeyi temsil etmek için temel bileşen analizini kullandım. Değişkenler çarpık olduğundan, iki alternatif yol denedim:[t3,t4][t1,t2][t3,t4]=

  • PCA yapmadan önce, değişkenlerdeki çarpıklığı azaltmak için logaritmik bir dönüşüm kullandım.
  • Sağlam ana bileşenleri bulmak için R, (PcaHubert) içindeki rrcov paketi tarafından uygulanan Mia Hubert'in ROBPCA algoritmasını kullandım.

Performans ölçütlerim olarak ROC eğrisinin genel şeklini, hassas geri çağırma eğrisinin şeklini ve ROC eğrisinin (AUC) altındaki alanı kullanıyorum ve A ve B veri kümelerinin her ikisi için de benzer sonuçlar almak istiyorum Sağlam temel bileşenleri kullanmaktan çok daha iyi bir sonuç almayı bekliyordum, ama şaşırdım, ilk yöntem daha iyi oldu: Her iki A ve B veri kümesi için daha iyi AUC değeri, ROC eğrileri arasında daha fazla benzerlik ve daha benzer hassas hatırlama eğrileri.

Bunun açıklaması nedir? Verilerimin normal görünmesini sağlamak yerine sağlam temel bileşenleri nasıl kullanabilirim? ROBPCA yerine önerebileceğiniz sağlam PCA yöntemleri var mı?


"İlişkili yordayıcıları birlikte kümelendirdim" Hangi adımları içeren daha iyi açıklayabilir misiniz? "Sağlam temel bileşenleri kullanarak çok daha iyi bir sonuç almayı bekliyordum" Sonuçları nasıl ölçtüğünüzü açıklayabilir misiniz?
user603

Veri kümelerini birleştirmenin neden daha iyi olduğunu düşünüyorsunuz? Hiç katılmıyorum. Bu tür bir sorunun sahip olduğu bir zorluk, belirli verilere çok fazla güvenmektir. Modeli başka bir veri setinde test etmek iyi bir fikirdir.
Peter Flom - Monica'yı eski durumuna döndürün

Günlük değişkenler üzerindeki düzenli PCA ne anlamda "daha iyi" idi? Daha sezgisel bir anlam ifade etti mi? İkinci veri setinde daha iyi bir sonuç verdi mi?
Peter Flom - Monica'yı eski durumuna döndürün

Yorumlarınız için @PeterFlom teşekkür ederiz! Soruyu yorumlarınıza göre güncelledim.
user765195

Yorumunuz için @ user603 teşekkür ederiz! Sorunuzu yorumunuzu yansıtacak şekilde güncelledim.
user765195

Yanıtlar:


17

Kısacası ve açıklamanızdan, elmayı portakalla .... karşılaştırıyorsunuz.

İlk karşılaştırılabilirlik konusunu kısaca ele alalım. Günlük bir dönüşüm değil Aykırı sorunu çözmek. Bununla birlikte, yoğun çarpık verileri daha simetrik hale getirmeye yardımcı olabilir ve herhangi bir PCA yönteminin uyumunu iyileştirebilir. Kısacası, verilerinizin almak sağlam bir analiz yapmanın yerini tutmaz ve bazı durumlarda (çarpık veriler) tamamlayıcı olabilir. Bu ilk karışıklığı bir kenara koymak için, bu yazının geri kalanında bazı asimetrik iki değişkenli verilerin log dönüştürülmüş sürümünü kullanıyorum.günlük

Bu örneği düşünün:

library("MASS")
library("copula")
library("rrcov")
p<-2;n<-100;

eps<-0.2
l1<-list()
l3<-list(rate=1)
#generate assymetric data
model<-mvdc(claytonCopula(1,dim=p),c("unif","exp"),list(l1,l3));
x1<-rMvdc(ceiling(n*(1-eps)),model);
#adding 20% of outliers at the end:
x1<-rbind(x1,mvrnorm(n-ceiling(n*(1-eps)),c(7,3),1/2*diag(2))) 

veri

Şimdi, iki modeli takın (ROBPCA ve klasik pca her ikisi de verilerin günlüğüne):

x2<-log(x1)
v0<-PcaClassic(x2)
v1<-PcaHubert(x2,mcd=FALSE,k=2)

Şimdi, her yöntem tarafından bulunan en küçük varyasyon eksenini düşünün (burada, kolaylık sağlamak için, log dönüşümlü alana çizdim ama orijinal alanda aynı sonuçları elde edersiniz).

model

Görünür olarak, ROBPCA verilerin kirlenmemiş kısmını (yeşil noktalar) ele almak için daha iyi bir iş çıkarır:

Ama şimdi, ikinci noktama geliyorum.

'Huzbenwben

buna sahipsiniz (bu yukarıdaki grafikte görülebilir):

Σben'Hu(zben)2<Σben'Hu(wben)2(1)

Ama şaşıracaksınız:

Σben=1n(zben)2>Σben=1n(wben)2(2)

- test prosedürünüzü tanımladığınız şekilde, tüm veri kümesinde uygunluk değerlendirme kriterini hesaplarsınız, bu nedenle değerlendirme kriteriniz (2) 'nin monoton bir fonksiyonu olması gereken monoton bir işlevdir -

Başka bir deyişle, sağlam bir uyumun, tam veri kümenizdeki sağlam olmayan bir yordamdan daha az toplam kare ortogonal kalıntıya sahip olmasını beklemeyin: sağlam olmayan tahminci, zaten tam veri kümesindeki SSOR'un benzersiz minimize edicisidir.


1
Cevabınız için teşekkürler. Diğer verilerle denemeler yapmak ve gerçekten anlamak için yanıtınızı düşünmek biraz zamanımı aldı.
user765195
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.