Как рассчитать доверительные оценки в регрессии (со случайными лесами / XGBoost) для каждого прогноза в R?


11

Есть ли способ получить показатель достоверности (мы можем также назвать его значением достоверности или вероятности) для каждого прогнозируемого значения при использовании таких алгоритмов, как 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.values ​​для классификации и (ii) доверительные интервалы для регрессии. "

Так есть ли способ:

  1. Чтобы получить достоверные значения для каждого прогноза в каких-либо проблемах регрессии?

  2. Если нет способа, было бы целесообразно использовать для каждого наблюдения в качестве показателя достоверности это:

    расстояние между верхней и нижней границами доверительного интервала (как в примере выше). Таким образом, в этом случае, чем шире доверительный интервал, тем больше неопределенность (но это не учитывает, где в интервале находится фактическое значение)


1
Посмотрите на randomForestCIупаковку Стефана Вейджера и сопроводительную газету с Сьюзен Ати. Обратите внимание, что он предоставляет только CI, но вы можете сделать интервал прогнозирования из него, рассчитав остаточную дисперсию.
generic_user

Ответы:


4

То, что вы называете доверительной оценкой, может быть получено из неопределенности в отдельных прогнозах (например, взяв ее обратное значение).

Количественная оценка этой неопределенности всегда была возможна с помощью мешков и является относительно простой в случайных лесах - но эти оценки были предвзятыми. Wager et al. (2014) описали две процедуры, позволяющие справиться с этими неопределенностями более эффективно и с меньшим смещением. Это было основано на исправленных смещением версиях «Джекниф-после-бутстрап» и бесконечно малого джек-ножа. Вы можете найти реализации в пакетах R rangerи grf.

Совсем недавно это было улучшено за счет использования случайных лесов, построенных с деревьями условного вывода. Основываясь на имитационных исследованиях (Brokamp et al. 2018), оценка бесконечно малого домкратного ножа позволяет более точно оценить ошибку в прогнозах, когда деревья условного вывода используются для построения случайных лесов. Это реализовано в пакете RFinfer.


Вейджер С., Хасти Т. и Эфрон Б. (2014). Доверительные интервалы для случайных лесов: складной нож и бесконечно малый складной нож. Журнал исследований машинного обучения, 15 (1), 1625-1651.

Brokamp, ​​C., Rao, MB, Ryan, P. & Jandarov, R. (2017). Сравнение методов передискретизации и рекурсивного разбиения в случайном лесу для оценки асимптотической дисперсии с использованием бесконечно малого складного ножа. Stat, 6 (1), 360-372.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.