Чи є спосіб отримати оцінку достовірності (ми можемо назвати це також достовірністю або ймовірністю) для кожного прогнозованого значення при використанні таких алгоритмів, як Random Forests або Extreme Gradient Boosting (XGBoost)? Скажімо, цей показник довіри варіюватиметься від 0 до 1 і показує, наскільки я впевнений у певному прогнозі .
З того, що я знайшов в Інтернеті про впевненість, зазвичай це вимірюється інтервалами. Ось приклад обчислених інтервалів довіри з confpred
функцією з 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))
}
Вихід коду дає лише довірчі інтервали:
Існує також бібліотека conformal
, але я її також використовую для довірчих інтервалів у регресії: "конформний дозволяє обчислювати помилки прогнозування в конформній рамці прогнозування: (i) p.значення для класифікації та (ii) довірчі інтервали для регресії. "
Так є спосіб:
Отримати значення довіри для кожного прогнозу при будь-яких проблемах регресії?
Якщо немає способу, було б доцільно використовувати для кожного спостереження оцінку достовірності:
відстань між верхньою та нижньою межами довірчого інтервалу (як у наведеному вище прикладі). Отже, в цьому випадку, чим ширший довірчий інтервал, тим більше невизначеності (але це не враховує, де в інтервалі є фактичне значення)
randomForestCI
пакет Стефана Вагера та пов'язаний папір із Сьюзан Атей. Зверніть увагу, він надає лише КІ ", але ви можете зробити з нього інтервал прогнозування, обчисливши залишкову дисперсію.