View source: R/conformal_infer_quantile.R
int_conformal_quantile | R Documentation |
Nonparametric prediction intervals can be computed for fitted regression workflow objects using the split conformal inference method described by Romano et al (2019). To compute quantiles, this function uses Quantile Random Forests instead of classic quantile regression.
int_conformal_quantile(object, ...)
## S3 method for class 'workflow'
int_conformal_quantile(object, train_data, cal_data, level = 0.95, ...)
object |
A fitted |
... |
Options to pass to |
train_data , cal_data |
Data frames with the predictor and outcome data.
|
level |
The confidence level for the intervals. |
Note that the significance level should be specified in this function
(instead of the predict()
method).
cal_data
should be large enough to get a good estimates of a extreme
quantile (e.g., the 95th for 95% interval) and should not include rows that
were in the original training set.
Note that the because of the method used to construct the interval, it is possible that the prediction intervals will not include the predicted value.
An object of class "int_conformal_quantile"
containing the
information to create intervals (which includes object
).
The predict()
method is used to produce the intervals.
Romano, Yaniv, Evan Patterson, and Emmanuel Candes. "Conformalized quantile regression." Advances in neural information processing systems 32 (2019).
predict.int_conformal_quantile()
library(workflows)
library(dplyr)
library(parsnip)
library(rsample)
library(tune)
library(modeldata)
set.seed(2)
sim_train <- sim_regression(500)
sim_cal <- sim_regression(200)
sim_new <- sim_regression(5) %>% select(-outcome)
# We'll use a neural network model
mlp_spec <-
mlp(hidden_units = 5, penalty = 0.01) %>%
set_mode("regression")
mlp_wflow <-
workflow() %>%
add_model(mlp_spec) %>%
add_formula(outcome ~ .)
mlp_fit <- fit(mlp_wflow, data = sim_train)
mlp_int <- int_conformal_quantile(mlp_fit, sim_train, sim_cal,
level = 0.90
)
mlp_int
predict(mlp_int, sim_new)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.