Rastgele Orman neden öngörülen değerlerdeki eksik değerleri ele almıyor?


Yanıtlar:


34

Gradient Boostting Trees, CART ağaçları kullanır (yazarların önerdiği şekilde standart bir kurulumda). CART ağaçları ayrıca Rastgele Ormanlarda da kullanılır. Kullanıcı777'nin söylediği doğrudur ki, RF ağaçları eksik değerleri ortalama ile ya da kaba ortalama / kiplerle ya da ortalamalara / ortalamalara göre tahmin ederek doğrular. Bu yöntemler Breiman ve Cutler tarafından önerilmiş ve RF için kullanılmıştır. Bu, eğitim setinde yazarların Eksik değerlerden bir referansıdır .

Ancak, başka karar ağaçları ile birlikte bir GBM veya RF oluşturulabilir. CART için her zamanki değişiklik Quinlan tarafından önerilen C4.5'tir. C4.5'te eksik değerler veri setinde değiştirilmez. Bunun yerine, hesaplanan kirlilik fonksiyonu, kirlilik puanını, eksik değerlerin rasyonuyla cezalandırmak suretiyle eksik değerleri dikkate alır. Test setinde değerlendirme, değeri düşük bir teste sahip olan bir düğümde, her çocuk düğümü için öngörü oluşturulur ve daha sonra toplanır (ağırlıklandırılarak).

Şimdi, birçok uygulamada CART yerine C4.5 kullanılıyor. Asıl sebep pahalı hesaplamalardan kaçınmaktır (CART, daha fazla hesaplama gerektiren daha katı istatistiksel yaklaşımlara sahiptir), sonuçlar benzer gözükmektedir, sonuçta elde edilen ağaçlar genellikle daha küçüktür (CART ikili ve C4.5 olmadığından). Weka'nın bu yaklaşımı kullandığını biliyorum. Diğer kütüphaneleri tanımıyorum, ancak tekil bir durum olmamasını bekliyorum. GBM uygulamanız için durum buysa, bu bir cevap olacaktır.



"Eksik değerlerin oranıyla kirlilik puanını cezalandırmak" üzerine dokundun. Bu, ağacın belirli bir seviyesinde / dalında seçilen optimal boyut değerlerinin seçimini nasıl etkiler?
javadba

16

"[RF] 'nin eksik değerleri işlememesinin teorik sebepleri nelerdir? Degrade artırma makineleri, regresyon ağaçları eksik değerleri ele alır. Rastgele Orman bunu neden yapmaz?"

RF , eksik değerleri, CART ve diğer benzer karar ağacı algoritmalarının yaptığı gibi kullanmaz. Kullanıcı777, RF tarafından eksik verileri işlemek için kullanılan iki yöntemi doğru bir şekilde tarif eder (medyan empoze ve / veya yakınlık temelli ölçüm); Daha fazla bilgi için, CART (veya FOSS kuzeni: RPART ) ve RF için eksik veri işleme bağlantılarına bakın .

Asıl sorunuzun cevabı açıkça, İşwaran ve arkadaşlarının 2008'de Rastgele Hayatta Kalma Ormanı adlı makalesinde IMHO . RF'nin eksik verileri neden CART veya benzer tek karar ağacı sınıflandırıcılarıyla aynı şekilde ele almadığı konusunda aşağıdaki makul açıklamaları sunarlar:

"Vekil bölme ağaçları için iyi çalışsa da, yöntem ormanlar için uygun olmayabilir. Hız bir konudur. Vekil bölme bulmak hesaplamalı olarak yoğundur ve çok sayıda ağaç yetiştirilirken özellikle yoğun olarak doymuş ağaçlarda yetişebilir ormanlar Dahası, taşıyıcı bölmeler bir orman paradigmasında bile anlamlı olmayabilir, RF bir düğümü böldüğünde değişkenleri rastgele seçer ve bu nedenle bir düğüm içindeki değişkenler birbiriyle ilişkilendirilemez ve makul bir taşıyıcı bölünmenin bulunmaması olabilir. taşıyıcı bölme, [Değişken Önem] gibi önlemleri etkileyen bir değişkenin yorumunu değiştirir.

Bu nedenlerden dolayı RF için farklı bir strateji gereklidir.

Bu bir yana, ama benim için, RF'nin bir CART modelleri topluluğu kullandığını iddia edenleri sorguluyor. Bu iddiada birçok makalede bulunduğumu gördüm, ancak RF'deki herhangi bir yetkili metne dayanan bu tür ifadeler görmedim. Birincisi, bir RF'deki ağaçlar, CART modelini oluştururken genellikle standart bir yaklaşım olmayan budama olmadan yetiştirilir . Başka bir neden, sorunuzda çekici olacağınız şey olacaktır: CART ve diğer karar ağaçları toplulukları, eksik değerleri ele alırken, [orijinal] RF, en azından CART gibi dahili olarak değil.

Bu düşünceler göz önüne alındığında, RF'nin CART benzeri karar ağaçları (örneğin, vekil bölme yoluyla eksik verileri ele alma kabiliyeti olmadan maksimum ölçüde büyütülmüş, bir kısmı açılmamış ağaç) kullandığını söyleyebiliriz . Belki de bu anlamsal anlamsal farklılıklardan biridir, ancak dikkat etmeye değer bir şey.


EDIT : Sorulan asıl soru ile ilgisi olmayan benim yan notumda, "RF ile ilgili herhangi bir yetkili metne hiç böyle bir yazı gelmediğini gördüm" dedim. Breiman çıkıyor özellikle SEPETİ karar ağaçları ilk RF algoritmasında kullanılan şöyle ifade edilmektedir:

“Rastgele özelliklere sahip en basit rastgele orman, her düğümde rastgele, küçük bir girdi değişkenleri grubunun seçilmesiyle oluşturulur. CART metodolojisini kullanarak ağacı maksimum boyuta getirin ve budama yapmayın.” [Benim vurgum]

Kaynak: Rastgele Ormanların s.9'u . Breiman (2001)

Bununla birlikte, hala (daha güvencesiz de olsa) bunların, CART benzeri karar ağaçları oldukları ve budama olmadan yetiştirildikleri konusunda karar vermelerine rağmen duruyorum , oysa, bir CART normalde asla verilerinize tam olarak sığmayacağı için bu yapılandırmada asla çalıştırılmamaktadır ( dolayısıyla ilk sırada budama).


11

Rastgele orman, eksik verileri ele alır ve bunu yapmasının iki farklı yolu vardır:

1) Eksik veri empoze edilmeksizin ancak çıkarım sağlamak. 2) Verileri uygulamak. Alınan veriler daha sonra çıkarım için kullanılır.

Her iki yöntem de R-paketi randomForestSRC'imde (Udaya Kogalur ile birlikte yazılmıştır) uygulanır. İlk olarak, rastgele ormanların rastgele özellik seçimi kullandığından, tek ağaçların (CART ve benzeri) kullandığı geleneksel eksik veri yöntemlerinin geçerli olmadığını hatırlamak önemlidir. Bu nokta Ishwaran ve diğ. (2008), "Rastgele Hayatta Kalma Ormanları", Uygulamalı İstatistik Annals , 2 , 3 ve yorum yapanlardan biri tarafından hoş bir şekilde dile getirildi.

Yöntem (1) bir "anında empoze" (OTFI) yöntemidir. Bir düğümü bölmeden önce, bir değişken için eksik veriler, torba içi olmayan verilerden rastgele değerlerin çizilmesiyle elde edilir. Bu aktarılan verinin amacı, düğümün eksik verilerle bir değişkende bölünmesi durumunda ek düğümlere vaka atamasını mümkün kılmaktır. Ancak, aktarılan veriler, yalnızca eksik olmayan verileri kullanan bölünmüş istatistiği hesaplamak için kullanılmaz. Bir düğüm bölünmesinin ardından, empoze edilen veriler eksik olarak sıfırlanır ve terminal düğümlere ulaşılana kadar işlem tekrarlanır. OTFI çanta dışı verilerin bütünlüğünü korur ve bu nedenle değişken önemi (VIMP) gibi performans değerleri tarafsız kalır. OTFI algoritması Ishwaran ve arkadaşları (2008) 'de tanımlanmış ve emekli randomSurvivalForest paketinde uygulanmıştır.

Yöntem (2) randomForestSRC içindeki "impute" işlevi kullanılarak uygulanır. Verileri etkilemek için denetimsiz, rastgele ve çok değişkenli bölme yöntemleri kullanılabilir. Örneğin, çok değişkenli bölünme, son derece başarılı missForest hesaplama yöntemini genelleştirir ( Stekhoven ve Bühlmann (2012), "MissForest - karışık tip veriler için parametrik olmayan eksik değer tahmini", Bioinformatics , 28 , 1 ). Impute işlevinin eksik verilerle çağrılması, "rfsrc" birincil orman işlevi kullanılarak sığabilecek olan bir verilmiş veri çerçevesi döndürür.

"Impute" kullanılarak uygulanan farklı orman eksik veri algoritmalarının ayrıntılı bir karşılaştırması, Fei Tang "Random orman eksik veri algoritmaları", 2017 ile birlikte yayınlanan bir makalede açıklanmıştır . İmparatorluk ve OTFI hakkında daha fazla bilgi için randomForestSRC'den "rfsrc" ve "impute" yardım dosyalarına başvurmanızı öneririm.


3
Sitemize hoşgeldiniz! Kullanıcı adınızın, kimliğinizin ve kullanıcı sayfanıza bir bağlantının, yaptığınız her yayına otomatik olarak eklendiğini, bu nedenle yayınlarınızı imzalamanıza gerek olmadığını unutmayın. Aslında, biz istemiyoruz.
Silverfish

1
İlginç bir cevap için teşekkürler (+1). Birkaç alıntı için tam referanslar ve bağlantılar ekleme özgürlüğünü aldım, ancak Tang & Ishwaran (2015), "Rastgele orman eksik veri algoritmaları" nı bulamadım. Henüz yayınlandı mı?
Scortchi - Monica'yı yeniden kurun

9

Özyinelemeli bölümleme, gözlem için eksik değere sahip olan öngörücü ile ilişkilendirilen eksik olmayan öngörücülere dayanan taşıyıcı bölmeleri kullanır. Teoride, aynı fikri kullanan rastgele ormanların uygulanması mümkün görünmektedir. Herhangi bir rastgele orman yazılımı böyle yapıp yapmadığını bilmiyorum.


7

Rastgele Orman , onu icat eden Leo Breiman ve Adele Cutler'e göre, eksik değerleri ele almak için iki metoda sahiptir .

Birincisi hızlı ve kirli: Sürekli değişkenler için ortanca değeri ya da sınıfa göre en yaygın olmayan değeri dolduruyor .

İkinci yöntem eksik değerleri doldurur, daha sonra RF'yi çalıştırır, daha sonra eksik sürekli değerler için, RF, eksik değerlerin yakınlık ağırlıklı ortalamasını hesaplar. Sonra bu işlem birkaç kez tekrarlanır. Ardından, model RF emsalli veri seti kullanılarak son kez eğitilir.


Cevabınız için teşekkür ederim! Ancak, her iki yöntem de eksik değerleri değiştiriyor. Ancak GBM veya regresyon ağaçlarında eksik değerler hiçbir şeyin yerine geçmez. Bu anlamda, örneğin GBM ve RF arasındaki teorik fark nedir?
Fedorenko Kristina

GBM konusunda uzman değilim, ancak eksik değerlerin RF kullanımı, değerlendirme fikrine dayanıyor gibi görünüyor, en.wikipedia.org/wiki/Imputation_(statistics) Eksik değerlerin rastgele olarak eksik olmadığı durumlarda, Sonuçlar eksiklik nedeniyle önyargılı olabilir. ImpUtasyon bu eksik değerleri kurtarmaya ve önyargıyı azaltmaya çalışır.
Monica'yı

2

Ortanca değerleri vb. Kullanmak yerine, missRanger paketine (şu anda Github üzerinde geliştirilmekte olan) veya R paketi missForest'e bakmanızı şiddetle tavsiye ederim . Bu paketlerin her ikisi de verilerinizi, zincirleme denklemler (MICE) aracılığıyla birden fazla hesaba benzer bir yöntem kullanarak uygulamak için rasgele ormanları kullanır. Bu, gerçek analiz modelinize çok yakın olduğu için kullanmak için uygun empoze yöntemi olacaktır. Tüm verilerinizi eksik gözlemler nedeniyle tek tek satırları bırakma konusunda endişelenmenize gerek kalmadan kullanabilirsiniz. Ayrıca, empoze edilen değerler, yalnızca medyanları veya modları seçmekten çok daha gerçekçi olacaktır.

Analizleriniz için yalnızca bir tane doldurulmuş emsal veri seti kullanabilirsiniz, ancak eksik değerler üzerindeki belirsizliği birleştirmenin en iyi yolu bu değerlendirme yöntemlerinin birden fazla çalışmasını çalıştırmak ve daha sonra ortaya çıkan veri kümelerinin her birinde modelinizi tahmin etmektir. ümit alma) ve tahminleri Rubin'in kurallarını kullanarak birleştirin (bkz. R paketi mitools


0

CART için eksik öznitelikler (MIA) yaklaşımını uygulayabilirsiniz. Diğer bir deyişle, kategori belirleyicileri için eksik olanı ayrı bir kategori olarak kodlarsınız. Sayısal kestiriciler için, eksik olan her değişken için iki yeni değişken oluşturursunuz: biri eksikleri -Inf olarak kodlar ve diğeri + Inf olarak kodladığınız yerleri. Daha sonra verilerinize her zaman olduğu gibi rastgele bir orman işlevi uygularsınız.

MIA’nın Avantajları: 1) Hesaplamalı olarak ucuz, 2) çoklu veri kümeleri vermez ve böylece çoklu emellerin yaptığı gibi modeller (kayıp veri veri emniyeti genellikle bir emsal veri setinin yeterli olmadığını kabul eder), 3) gerektirmez Verileri etkilemek için istatistiksel bir yöntem ve / veya model seçmeniz gerekir.

Fonksiyonlar ctree()ve cforest()paket dan partykit geçirerek MIA uygulamak için izin ctree_control(MIA = TRUE)kendi için controlargümanlar.

Jerome Friedman'ın RuleFit programı, eksikliklerle başa çıkmak için MIA kullanıyor gibi görünüyor, bkz. Https://statweb.stanford.edu/~jhf/r-rulefit/rulefit3/RuleFit_help.html#xmiss .

MIA yaklaşımının bir açıklaması Twala ve diğ. (2008):

Twala, BETH, Jones, MC ve El, DJ (2008). Karar ağaçlarında eksik verilerle başa çıkmanın iyi yöntemleri. Örüntü Tanıma Harfleri, 29 (7), 950-956.

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.