R'deki her tahmin için regresyondaki güven puanlarını (rastgele ormanlarla / XGBoost ile) nasıl hesaplayabilirim?


11

Rastgele Ormanlar veya Aşırı Gradient Boosting (XGBoost) gibi algoritmaları kullanırken, tahmin edilen her değer için bir güven puanı almanın bir yolu var mı (buna güven değeri veya olasılığı da diyebiliriz)? Diyelim ki bu güven puanı 0 ile 1 arasında değişiyor ve belirli bir tahminden ne kadar emin olduğumu gösteriyor .

İnternette güven konusunda bulduğum kadarıyla, genellikle aralıklarla ölçülür. İşte kütüphaneden confpredfonksiyon ile hesaplanan güven aralıklarına bir örnek lava:

library(lava)
set.seed(123)
n     <- 200
x     <- seq(0,6,length.out=n)
delta <- 3
ss    <- exp(-1+1.5*cos((x-delta)))
ee    <- rnorm(n,sd=ss)
y     <- (x-delta)+3*cos(x+4.5-delta)+ee
d     <- data.frame(y=y,x=x)
newd  <- data.frame(x=seq(0,6,length.out=50))
cc    <- confpred(lm(y~poly(x,3),d),data=d,newdata=newd)
if (interactive()) { ##'
  plot(y~x,pch=16,col=lava::Col("black"), ylim=c(-10,15),xlab="X",ylab="Y")
  with(cc, lava::confband(newd$x, lwr, upr, fit,  lwd=3, polygon=T, 
                          col=Col("blue"), border=F))
}

Kod çıkışı yalnızca güven aralıkları verir:

noktaları, tahmini ve güven aralığını gösteren grafik

Ayrıca bir kütüphane de vardır conformal, fakat aynı zamanda regresyondaki güven aralıkları için de kullanılır: "conformal, konformal tahmin çerçevesindeki tahmin hatalarının hesaplanmasına izin verir: (i) sınıflandırma değerleri ve (ii) regresyon için güven aralıkları. "

Öyleyse bir yolu var:

  1. Herhangi bir regresyon probleminde her bir tahmin için güven değerleri elde etmek için?

  2. Bir yol yoksa, her gözlem için bir güven puanı olarak kullanmak anlamlı olacaktır:

    güven aralığının üst ve alt sınırları arasındaki mesafe (yukarıdaki örnek çıktıda olduğu gibi). Yani, bu durumda, daha geniş güven aralığıdır, daha fazla belirsizlik vardır (ancak bu, aralığın gerçek değer olduğu yeri dikkate almaz)


1
randomForestCIStephan Wager'ın paketine bakın ve Susan Athey ile ilgili makaleyi okuyun. Unutmayın ki sadece CI sağlar 'ancak artık varyansı hesaplayarak ondan bir tahmin aralığı yapabilirsiniz.
generic_user

Yanıtlar:


4

Bir güven puanı olarak adlandırdığınız şey, bireysel tahminlerdeki belirsizlikten elde edilebilir (örneğin, bunun tersini alarak).

Bu belirsizliği ölçmek torbalama ile her zaman mümkündür ve rastgele ormanlarda nispeten basittir - ancak bu tahminler önyargılıdır. Wager ve diğ. (2014) bu belirsizliklerin daha verimli ve daha az önyargıyla ele alınması için iki prosedür tanımlamıştır. Bu, jackknife sonrası bootstrap ve sonsuz küçük jackknife'ın önyargı düzeltmeli versiyonlarına dayanıyordu. Uygulamaları R paketlerinde rangerve grf.

Daha yakın zamanlarda, koşullu çıkarım ağaçlarıyla inşa edilmiş rastgele ormanlar kullanılarak bu iyileştirilmiştir. Simülasyon çalışmalarına dayanarak (Brokamp ve ark.2018), sonsuz ormancılık tahmincisi, rasgele ormanları oluşturmak için koşullu çıkarım ağaçları kullanıldığında tahminlerdeki hatayı daha doğru bir şekilde tahmin ediyor gibi görünmektedir. Bu pakette uygulanır RFinfer.


Wager, S., Hastie, T. ve Efron, B. (2014). Rasgele ormanlar için güven aralıkları: Jackknife ve sonsuz küçük jackknife. Makine Öğrenimi Araştırmaları Dergisi, 15 (1), 1625-1651.

Brokamp, ​​C., Rao, MB, Ryan, P. ve Jandarov, R. (2017). Sonsuz jackknife kullanarak asimptotik varyansı tahmin etmek için rasgele ormanda yeniden örnekleme ve özyinelemeli bölümleme yöntemlerinin karşılaştırılması. Stat, 6 (1), 360-372.

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.