| acmcp | R Documentation |
Compute prediction intervals and other information by applying the Autocorrelated Multistep-ahead Conformal Prediction (AcMCP) method. The method can only deal with asymmetric nonconformity scores, i.e., forecast errors.
acmcp(
object,
alpha = 1 - 0.01 * object$level,
ncal = 10,
rolling = FALSE,
integrate = TRUE,
scorecast = TRUE,
lr = 0.1,
Tg = NULL,
delta = NULL,
Csat = 2/pi * (ceiling(log(Tg) * delta) - 1/log(Tg)),
KI = max(abs(object$errors), na.rm = TRUE),
...
)
object |
An object of class |
alpha |
A numeric vector of significance levels to achieve a desired
coverage level |
ncal |
Length of the burn-in period for training the scorecaster.
If |
rolling |
If |
integrate |
If |
scorecast |
If |
lr |
Initial learning rate used for quantile tracking. |
Tg |
The time that is set to achieve the target absolute coverage guarantee before this. |
delta |
The target absolute coverage guarantee is set to |
Csat |
A positive constant ensuring that by time |
KI |
A positive constant to place the integrator on the same scale as the scores. |
... |
Other arguments are passed to the function. |
Similar to the PID method, the AcMCP method also integrates three modules (P, I, and D) to
form the final iteration. However, instead of performing conformal prediction
for each individual forecast horizon h separately, AcMCP employs a combination
of an MA(h-1) model and a linear regression model of e_{t+h|t} on
e_{t+h-1|t},\dots,e_{t+1|t} as the scorecaster. This allows the AcMCP method
to capture the relationship between the h-step ahead forecast error and
past errors.
A list of class c("acmcp", "cpforecast", "forecast")
with the following components:
x |
The original time series. |
series |
The name of the series |
method |
A character string "acmcp". |
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 test set forecasts generated using all available observations.
Wang, X., and Hyndman, R. J. (2024). "Online conformal inference for multi-step time series forecasting", arXiv preprint arXiv:2410.13115.
pid
# 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)
# AcMCP setup
Tg <- 200; delta <- 0.01
Csat <- 2 / pi * (ceiling(log(Tg) * delta) - 1 / log(Tg))
KI <- 2
lr <- 0.1
# AcMCP with integrator and scorecaster
acmcpfc <- acmcp(fc, ncal = 50, rolling = TRUE,
integrate = TRUE, scorecast = TRUE,
lr = lr, KI = KI, Csat = Csat)
print(acmcpfc)
summary(acmcpfc)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.