Rastgele orman vs regresyon


21

5 bağımsız değişken içeren veri setinde bir OLS regresyon modeli kullandım. Bağımsız değişkenler ve bağımlı değişken hem süreklidir hem de doğrusal olarak ilişkilidir. R Meydanı yaklaşık% 99,3'dür. Fakat aynı şeyi R'de rastgele orman kullanarak çalıştırdığımda sonucum '% Var açıklanan: 88.42'. Rastgele orman sonucu neden regresyondan daha düşük olur? Benim varsayım, rastgele ormanın en azından OLS regresyonu kadar iyi olacağıydı.


4
Amacınız tahmin etmekse, daha yüksek bir R-karesi fazla uydurma nedeniyle olabilir. Çapraz doğrulama kullanarak RN tahminlerini Regresyon tahminleri ile karşılaştırmayı deneyin.
Manoel Galdino

Yanıtlar:


27

Ne yaptığını tam olarak bilmiyorum, bu yüzden kaynak kodun daha az tahmin etmeme yardımcı olacak.

Birçok rastgele orman, esasen, ortalamanın sistemi temsil ettiği varsayıldığı pencerelerdir. Aşırı yüceltilmiş bir CAR ağacıdır.

Diyelim ki iki yapraklı bir CAR ağacınız var. Verileriniz iki yığına bölünecektir. Her yığının (sabit) çıktısı ortalama olacaktır.

Şimdi verinin rastgele alt kümeleriyle 1000 kez yapalım. Ortalama çıktılar ile süreksiz bölgelere sahip olacaksınız. RF'de kazanan en sık sonuçtur. Bu sadece kategoriler arasındaki sınırı "Fuzzies".

CART ağacının parçalı doğrusal çıktısı örneği:

Örneğin, fonksiyonumuzun y = 0.5 * x + 2 olduğunu varsayalım. Bir arsa aşağıdaki gibi görünüyor: Şekil 1

Bunu sadece iki yapraklı tek bir sınıflandırma ağacı kullanarak modelleyeceksek, ilk önce en iyi ayrılma noktasını bulur, o noktada ayrılır ve sonra her bir yaprağın fonksiyon çıktısını yaprağın ortalama çıktısı olarak hesaplardık.

önemsiz CART ile arsa

Bunu CART ağacında daha fazla yaprak bırakacak olursak, aşağıdakileri alabiliriz: görüntü tanımını buraya girin

Neden CAR-ormanları?

Sonsuz yaprakların sınırında CART ağacının kabul edilebilir bir belirleyici olacağını görebilirsiniz.

Sorun, gerçek dünyanın gürültülü olması. Araçlarla düşünmeyi seviyoruz, ama dünya hem merkezi eğilimden (ortalama) hem de değişim eğiliminden (standart sapma) hoşlanıyor. Gürültü var.

Bir CAR ağacına büyük bir güç veren, süreksizlikle başa çıkma kabiliyeti veren aynı şey, sinyalleri sanki sinyal gibi modellenmeye karşı savunmasız kılar.

Böylece Leo Breimann basit ama güçlü bir teklifte bulundu: Sınıflandırma ve Regresyon ağaçlarını sağlam hale getirmek için Topluluk yöntemlerini kullanın. Rastgele altkümeler (önyükleme örneklemesinin bir kuzeni) alıyor ve onları bir CAR ağacı ormanı yetiştirmek için kullanıyor. Bir orman sorusu sorduğunuzda, bütün orman konuşur ve en yaygın cevap çıktı olarak alınır. Sayısal verilerle ilgileniyorsanız, beklentiye çıktı olarak bakmak yararlı olabilir.

İkinci komplo için rastgele bir orman kullanarak modellemeyi düşünün. Her ağaç verinin rastgele bir alt kümesine sahip olacaktır. Bu, "en iyi" bölünme noktasının konumunun ağaçtan ağaca değişeceği anlamına gelir. Süreksizliğe yaklaşırken rastgele ormanın çıktısının bir taslağını yapacak olursanız, ilk birkaç dal bir sıçrama, daha sonra birçok gösterecektir. Bu bölgedeki ortalama değer pürüzsüz bir sigmoid yolundan geçecektir. Önyükleme bir Gauss'la sarsılıyor ve bu adım işlevindeki Gauss bulanıklığı sigmoid oluyor.

Alt çizgiler:

Çok doğrusal bir işleve iyi bir yaklaşım için ağaç başına çok dala ihtiyacınız vardır.

Cevabı etkilemek için değiştirebileceğiniz birçok "arama" vardır ve hepsini uygun değerlere ayarlamanız pek olası değildir.

Referanslar:


RANDOM ormanı regresyonu, lineer olarak ilişkili verilere zayıf bir uyum sağlayan parçalı sabit fonksiyonlarla yapılmıyor mu?
seanv507

Bence aynı şeyi söylüyoruz. Hangi sabit kullanılır? sağ.
EngrStudent - Monica

Aynı şeyi söylediğimizi sanıyor olsaydım, bir yorum olarak koyardım. Cevabınızı anlamıyorum. Cevabım OP'lerin verilerinin doğrusal olduğunu ve parça parça bir sabit fonksiyona çok uygun olduğunu açıklıyor.
seanv507

@ seanv507 RF'nin faydası, verinin (rastgele altkümesi) alt sürümlerine uyan birden fazla ağacın süreksizliklerin ortalamasını almasıdır. Sonuç, alttaki düz çizgiye, tek bir ağacın üreteceğinden daha iyi bir yaklaşımdır.
Hong Ooi

Bu aslında bir regresyon ağacında yeniden örneklemedir. Önyükleme ile ilgili hoşuma gitmeyen şeylerden biri, tekdüze dağılımın daha önce bilgilendirici olarak sayılması. İdeal durum önceden bilgilendirici değil midir?
EngrStudent - Monica

7

Bunun eski bir soru olduğunu fark ettim, ancak daha fazlasının eklenmesi gerektiğini düşünüyorum. @Manoel Galdino'nun yorumlarda dediği gibi, genellikle görünmeyen verilerle ilgili tahminlerle ilgileniyorsunuz. Ancak bu soru eğitim verilerindeki performansla ilgilidir ve soru rastgele orman neden eğitim verilerinde kötü performans gösteriyor ? Cevap, sık sık beni sıkıntıya sokan torbalı sınıflandırıcılarla ilgili ilginç bir sorunu vurgulamaktadır: ortalamaya gerileme.

Sorun, veri kümenizden önyükleme örnekleri alarak yapılan rasgele orman gibi torbalı sınıflandırıcıların aşırı uçlarda kötü performans gösterme eğiliminde olmasıdır. Ekstremlerde çok fazla veri olmadığı için, düzelme eğilimi gösterirler.

Daha ayrıntılı olarak, gerileme için rastgele bir ormanın çok sayıda sınıflandırıcının öngörüsünün ortalaması olduğunu hatırlayın. Diğerlerinden uzak olan tek bir noktaya sahipseniz, sınıflandırıcıların çoğu bunu görmeyecek ve bunlar temelde çok iyi olmayabilir, örneklem dışı bir tahmin yapacaktır. Aslında, bu örnek dışı tahminler, veri noktası tahminini genel ortalamaya doğru çekme eğiliminde olacaktır.

Tek bir karar ağacı kullanırsanız, aşırı değerlerle aynı problemi yaşamazsınız, ancak uygun regresyon da çok doğrusal olmaz.

İşte R'de gösterilmiştir. Bazı veriler ybeş xdeğişkenden oluşan mükemmel bir astar kombinasyonudur . Daha sonra doğrusal bir model ve rastgele bir ormanla tahminler yapılır. Ardından, yeğitim verilerindeki değerler tahminlere karşı çizilir. Çok büyük ya da çok küçük değerleri olan veri noktalarının ynadir olması nedeniyle rastgele ormanın aşırı uçlarda kötü bir şekilde çalıştığını açıkça görebilirsiniz .

Rastgele ormanlar regresyon için kullanıldığında, görünmeyen verilerle ilgili tahminler için aynı deseni göreceksiniz. Nasıl önleneceğini bilmiyorum. randomForestR işlevi ham önyargı düzeltme seçeneği vardır corr.biasönyargı üzerinde lineer regresyon kullanır, ama gerçekten işi yapmaz.

Önerilerinizi bekliyoruz!

beta <- runif(5)
x <- matrix(rnorm(500), nc=5)
y <- drop(x %*% beta)
dat <- data.frame(y=y, x1=x[,1], x2=x[,2], x3=x[,3], x4=x[,4], x5=x[,5])
model1 <- lm(y~., data=dat)
model2 <- randomForest(y ~., data=dat)
pred1 <- predict(model1 ,dat)
pred2 <- predict(model2 ,dat)
plot(y, pred1)
points(y, pred2, col="blue")

görüntü tanımını buraya girin


Gözlemlerinize katılıyorum, ancak çok az veri noktasına sahip alanlarda ortalamaya karşı RF regresyon hayranı oldum. Peki, sadece birkaç veri noktası tarafından desteklenen eğitim setinin sınır çizgisine kadar hoş bir genel lineer yapı bulmak çok eminseydi, o zaman sadece doğrusal bir düzeltme yapın ve RF'nin artıklara dikkat etmesini sağlayın.
Soren Havelund Welling

2
Yorumunuz için teşekkürler! Çok kötü olan ve beni kötü gösteren tahminlerde bulunma konusunda kötü bir deneyim yaşadım. Fakat belki de sınır çizgisi noktaları için varyansı artırmadan daha doğru tahminler almanın bir yolu yoktur.
Flounderer

Yıllar sonra yapılan ek bir yorumda, RF'nin verilerde küçük bir boşluk olan yerlerde zayıf performans gösterme eğiliminde olduğunu fark ettim. Tabii ki, bir veri setinin uç noktalarında genellikle daha az veri vardır, ancak arada bir, tam ortada bir boşluk olabilir. RF, içinde herhangi bir boşluk bulunan bir veri kümesinin doğru karışıklığını yapabilir.
SeldomSeenSlim

2

Rastgele orman, birçok özellik ve çok sayıda veri noktası arasında konum bulmaya çalışır. Özellikleri böler ve farklı ağaçlara verir, çünkü düşük sayıda özelliğe sahip olursanız, genel sonuç lojistik regresyon kadar iyi değildir. Rastgele orman, sayısal ve kategorik değişkenleri kaldırabilir ancak eksik değerlerin ele alınmasında iyi değildir.


0

Xs ve y arasındaki ilişkinin işlevsel formu karmaşık olduğunda (Doğrusal olmayan ilişkiler ve etkileşim etkisi nedeniyle), Random Forest'in (RF) iyi bir araç olduğunu düşünüyorum. RF, X'leri en iyi kesim noktasına (en az SSE açısından) göre sınıflandırır ve araştırmacı ilişkinin işlevsel şekli hakkındaki bilgisini uygulamaz. Öte yandan, OLS regresyonu bu bilgiyi kullanır. Örneğinizde, Xs ve y arasındaki ilişkinin tam olarak ne olduğunu biliyorsunuz ve bu bilgilerin hepsini regresyon modelinizde kullanın, ancak RF bu bilgiyi kullanmaz.


-2

Temel olarak, Regresyon sürekli değişkenler ve Random değişkenler üzerinde kesikli değişkenler üzerinde iyi performans gösterir.

Daha spesifik olmak için, sorun ve değişkenlerin niteliği hakkında daha fazla ayrıntı vermeniz gerekir ...


Tüm değişkenler günlük hisse senedi getirileri (finansal zaman serileri) ...
user28906

3
“Regresyon sürekli değişkenler üzerinde iyi performans gösterir ve ayrık değişkenler üzerinde rastgele ormanlar.”: Bu genel olarak doğru değildir. Çıkarım ve tahminde farklılıklar vardır ve tahminde bile, regresyonun RF'ye tercih edileceği durumlar vardır.
AdamO
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.