| acp | R Documentation |
Compute prediction intervals and other information by applying the adaptive conformal prediction (ACP) method.
acp(
object,
alpha = 1 - 0.01 * object$level,
gamma = 0.005,
symmetric = FALSE,
ncal = 10,
rolling = FALSE,
quantiletype = 1,
update = FALSE,
na.rm = TRUE,
...
)
object |
An object of class |
alpha |
A numeric vector of significance levels to achieve a desired
coverage level |
gamma |
The step size parameter |
symmetric |
If |
ncal |
Length of the calibration set. If |
rolling |
If |
quantiletype |
An integer between 1 and 9 determining the type of
quantile estimator to be used. Types 1 to 3 are for discontinuous quantiles,
types 4 to 9 are for continuous quantiles. See the
|
update |
If |
na.rm |
If |
... |
Other arguments are passed to the
|
The ACP method considers the online update:
\alpha_{t+h|t}:=\alpha_{t+h-1|t-1}+\gamma(\alpha-\mathrm{err}_{t|t-h}),
for each individual forecast horizon h, respectively,
where \mathrm{err}_{t|t-h}=1 if s_{t|t-h}>q_{t|t-h}, and
\mathrm{err}_{t|t-h}=0 if s_{t|t-h} \leq q_{t|t-h}.
A list of class c("acp", "cpforecast", "forecast")
with the following components:
x |
The original time series. |
series |
The name of the series |
method |
A character string "acp". |
cp_times |
The number of times the conformal prediction is performed in cross-validation. |
MEAN |
Point forecasts as a multivariate time series, where the |
ERROR |
Forecast errors given by
|
LOWER |
A list containing lower bounds for prediction intervals for
each |
UPPER |
A list containing upper bounds for prediction intervals for
each |
level |
The confidence values associated with the prediction intervals. |
call |
The matched call. |
model |
A list containing information abouth the conformal prediction model. |
If mean is included in the object, the components mean,
lower, and upper will also be returned, showing the information
about the forecasts generated using all available observations.
Gibbs, I., and Candes, E. (2021). "Adaptive conformal inference under distribution shift", Advances in Neural Information Processing Systems, 34, 1660–1672.
# Simulate time series from an AR(2) model
library(forecast)
series <- arima.sim(n = 200, list(ar = c(0.8, -0.5)), sd = sqrt(1))
# Cross-validation forecasting
far2 <- function(x, h, level) {
Arima(x, order = c(2, 0, 0)) |>
forecast(h = h, level)
}
fc <- cvforecast(series, forecastfun = far2, h = 3, level = 95,
forward = TRUE, initial = 1, window = 50)
# ACP with asymmetric nonconformity scores and rolling calibration sets
acpfc <- acp(fc, symmetric = FALSE, gamma = 0.005, ncal = 50, rolling = TRUE)
print(acpfc)
summary(acpfc)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.