Як обчислити показники достовірності в регресії (з випадковими лісами / 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.значення для класифікації та (ii) довірчі інтервали для регресії. "

Так є спосіб:

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

  2. Якщо немає способу, було б доцільно використовувати для кожного спостереження оцінку достовірності:

    відстань між верхньою та нижньою межами довірчого інтервалу (як у наведеному вище прикладі). Отже, в цьому випадку, чим ширший довірчий інтервал, тим більше невизначеності (але це не враховує, де в інтервалі є фактичне значення)


1
Подивіться в randomForestCIпакет Стефана Вагера та пов'язаний папір із Сьюзан Атей. Зверніть увагу, він надає лише КІ ", але ви можете зробити з нього інтервал прогнозування, обчисливши залишкову дисперсію.
generic_user

Відповіді:


4

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

Кількісне визначення цієї невизначеності завжди було можливим за допомогою забоїв і порівняно просте у випадкових лісах - але ці оцінки були необ’єктивними. Вагер та ін. (2014) описав дві процедури, щоб досягти цих невизначеностей більш ефективно та з меншою упередженістю. Це ґрунтувалося на виправлених до зміщення версіях ножового ножа після завантаження та нескінченного малого джек-ножа. Ви можете знайти реалізацію в пакетах R rangerта grf.

З недавніх пір це було покращено за допомогою використання випадкових лісів, побудованих із умовних дерев. На основі симуляційних досліджень (Brokamp et al. 2018), як видається, нескінченно малий оцінювальний ножівка більш точно оцінює похибку в прогнозах, коли умовні дерева висновків використовуються для побудови випадкових лісів. Це реалізовано в пакеті RFinfer.


Wager, S., Hastie, T., & Efron, B. (2014). Інтервали довіри для випадкових лісів: джекніф і нескінченно малий гак. The Journal of Machine Learning Research, 15 (1), 1625-1651.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.