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 confpred
fonksiyon 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:
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:
Herhangi bir regresyon probleminde her bir tahmin için güven değerleri elde etmek için?
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)
randomForestCI
Stephan 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.