可以使用 Barber 等人 (2018) 说明的 CV+ 保形推理方法来计算拟合回归工作流对象的非参数预测区间。
用法
int_conformal_cv(object, ...)
# S3 method for default
int_conformal_cv(object, ...)
# S3 method for resample_results
int_conformal_cv(object, ...)
# S3 method for tune_results
int_conformal_cv(object, parameters, ...)
参数
- object
-
来自 tidymodels 重采样或调整函数的对象,例如
tune::fit_resamples()
、tune::tune_grid()
或类似函数。该对象的生成方式应使.extracts
列包含每次重采样的拟合工作流程(请参阅下面的详细信息)。 - ...
-
目前未使用。
- parameters
-
调整参数值的小标题,可用于在处理之前过滤预测值。此 tibble 应从调整结果中选择一组 hyper-parameter 值。仅当将调整对象传递给
object
时才需要这样做。
值
"int_conformal_cv"
类的对象,包含创建间隔的信息。 predict()
方法用于生成间隔。
细节
该函数实现了 Barber at al (2018) 第 3 节中的 CV+ 方法。它使用重采样模型拟合及其相关的保留残差来为回归模型制定预测区间。
该函数为计算准备对象。 predict()
方法计算新数据的间隔。
此方法是为 V-fold 交叉验证(无重复)而开发的。对于任何其他重采样方法,间隔覆盖都是未知的。该函数不会停止其他类型重采样的计算,但我们无法知道结果是否合适。
参考
Rina Foygel Barber、Emmanuel J. Candès、Aaditya Ramdas、Ryan J. Tibshirani“使用折刀+进行预测推理”,《统计年鉴》,49(1), 486-507, 2021
例子
library(workflows)
library(dplyr)
library(parsnip)
library(rsample)
library(tune)
library(modeldata)
set.seed(2)
sim_train <- sim_regression(200)
sim_new <- sim_regression( 5) %>% select(-outcome)
sim_rs <- vfold_cv(sim_train)
# We'll use a neural network model
mlp_spec <-
mlp(hidden_units = 5, penalty = 0.01) %>%
set_mode("regression")
# Use a control function that saves the predictions as well as the models.
# Consider using the butcher package in the extracts function to have smaller
# object sizes
ctrl <- control_resamples(save_pred = TRUE, extract = I)
set.seed(3)
nnet_res <-
mlp_spec %>%
fit_resamples(outcome ~ ., resamples = sim_rs, control = ctrl)
nnet_int_obj <- int_conformal_cv(nnet_res)
nnet_int_obj
#> Conformal inference via CV+
#> preprocessor: formula
#> model: mlp (engine = nnet)
#> number of models: 10
#> training set size: 200
#>
#> Use `predict(object, new_data, level)` to compute prediction intervals
predict(nnet_int_obj, sim_new)
#> # A tibble: 5 × 3
#> .pred_lower .pred .pred_upper
#> <dbl> <dbl> <dbl>
#> 1 3.67 42.8 81.9
#> 2 -29.6 9.47 48.6
#> 3 -14.6 24.5 63.6
#> 4 -39.2 -0.0793 39.0
#> 5 -11.1 28.0 67.1
相关用法
- R probably int_conformal_quantile 通过保形推理和分位数回归预测区间
- R probably int_conformal_split 通过分割共形推理预测区间
- R probably is_class_pred 测试对象是否继承自class_pred
- R probably append_class_pred 添加 class_pred 列
- R probably cal_plot_logistic 通过逻辑回归绘制概率校准图
- R probably class_pred 创建类别预测对象
- R probably cal_plot_breaks 通过分箱绘制概率校准图
- R probably cal_estimate_multinomial 使用多项校准模型来计算新的概率
- R probably cal_validate_logistic 使用和不使用逻辑校准来测量性能
- R probably cal_validate_isotonic_boot 使用和不使用袋装等渗回归校准来测量性能
- R probably threshold_perf 生成跨概率阈值的性能指标
- R probably cal_estimate_beta 使用 Beta 校准模型来计算新概率
- R probably cal_plot_regression 回归校准图
- R probably as_class_pred 强制转换为 class_pred 对象
- R probably levels.class_pred 提取class_pred级别
- R probably cal_estimate_isotonic 使用等渗回归模型来校准模型预测。
- R probably locate-equivocal 找到模棱两可的值
- R probably cal_estimate_logistic 使用逻辑回归模型来校准概率
- R probably cal_validate_multinomial 使用和不使用多项式校准来测量性能
- R probably make_class_pred 根据类概率创建 class_pred 向量
- R probably cal_apply 对一组现有预测应用校准
- R probably reportable_rate 计算报告率
- R probably cal_validate_linear 使用和不使用线性回归校准来测量性能
- R probably cal_estimate_isotonic_boot 使用引导等渗回归模型来校准概率
- R probably cal_plot_windowed 通过移动窗口绘制概率校准图
注:本文由纯净天空筛选整理自Max Kuhn等大神的英文原创作品 Prediction intervals via conformal inference CV+。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。