2013-09-06 19 views
5

Yükseltilmiş regresyon ağaçlarının (paket gbm'si) R varsayılan değeri, tahmin edici değişkenlerin eksik değerleriyle nasıl başa çıkılır? Hangi algoritmaya göre, onlar imputed ve onlar mı?R: Yükseltilmiş regresyon ağaçları eksik verilerle nasıl baş eder?

Sorumu Arkaplan: Analizleri neredeyse bir yıl önce yaptım ve Elith et al. 2008 (gbm'yi çağırmak için gerileme ağaçları, Journal of Animal Ecology 77, 802-813) için bir çalışma rehberi. Şimdi bazı tahmin edici değişkenler için NA'larım olduğunu farkettim ve gerileyen regresyon ağaçlarının bunlarla nasıl uğraştığını merak ediyorum. Çeşitli el kitaplarında ve kağıtlarda tarama yaparak "gerilemiş ağaçların kayıp değerleri barındırabilir" gibi ifadeler buldum ve benzerleri var, ancak gbm'nin eksik değerler ile ne yaptığının kesin bir açıklamasını bulamadım. Analiz, problemsiz koştu, bu yüzden gbm, onlarla ya da başka bir şekilde bunları ele almış olmalıydı. Gbm el kitabında, kasten NA'ların gbm'nin sorunsuz çalışmayı sürdürdüğünü göstermek için kullanıldığı bir örnek bile vardır. Şimdi, gbm'nin NA'larla tam olarak ne yaptığını bilmek istiyorum (onları atla, onları ihanet et, ...?).

+3

Bu soru bu istatistiksel bir algoritma uygulanması konusunda, çünkü konu dışı gibi görünüyor. Belki de Doğrulanmış Haç için daha uygun. –

+0

@ SimonO101: Hangisinin uygun forum olacağından şüphe ettim. Crossvalidated'de yayınlayacağım. – user7417

+0

Bir süre ayrılıyorum - site topluluk çalışıyor. Eğer görüş birliği konu dışı ise, soru kapanacak ve özgeçmişinizi sormak isteyeceksiniz. Şu anda, CV'nin daha uygun olduğunu düşünen sadece ben! –

cevap

3

gbm işlevi, as described in Jeffrey Wongs blog: numaralı deneme için kullanılabilir. Eksik olan değerler, vekil bölünmeler elde eder ve kullanıcı, daha sonra tamamlanmamış öngörücü kümeleriyle birlikte şiirler için tahminler alabilir.

Bu yaklaşıma dayanan bir paket geliştirdi. GitHub Repo GBM dosyaların birine başlığında bu vardır:

#' GBM Imputation 
#' 
#' Imputation using Boosted Trees 
#' Fill each column by treating it as a regression problem. For each 
#' column i, use boosted regression trees to predict i using all other 
#' columns except i. If the predictor variables also contain missing data, 
#' the gbm function will itself use surrogate variables as substitutes for the predictors. 
#' This imputation function can handle both categorical and numeric data. 

Ben sadece bir Google aramasına bu yazdığınız bu bulmak için: Eksik değerlerle gbm anlaşma yapar nasıl. Benim için 2 vuruş oldu.

https://github.com/jeffwong/imputation/blob/master/R/gbmImpute.R

+0

Bu 'imputation' paketindeki' gbmImpute' işlevine benziyor, gbm' paketinde sorulmuyor ... – Spacedman

+0

Wong'un blogunda gbm kullanarak eklenen kod soruyu yanıtlıyor mu. Bu yılın başlarında başka bir SO Q & A buldum ama Wong'un da olduğu gibi, herhangi bir cevabın da imputation sürecini açıkladığını düşünmedim. –

+1

Jeff Wong's harika bir kod parçası ve başlık notu OP'nin sorusunu üst düzeyde yanıtlıyor. Anladığım kadarıyla, OP, eksik değerlerin gbm paketinde uygulanan gradyan artırma algoritması tarafından nasıl ele alındığını sormaktadır. Kısa cevap, sol ve sağ bölünmelerle birlikte bir tür bölme olarak açıkça ele alınmaları ve bir vekil bölme yönteminin uygulanmasıdır (ada ve rpart paketleri hakkındaki belgelere bakınız). –