WARp {WRI} | R Documentation |
WAR(p) models: estimation and forecast
Description
this function produces an object of the WARp class which includes WAR(p) model parameter estimates and relevant quantities (see output list)
Usage
WARp(quantile, quantile.grid, p)
Arguments
quantile |
A matrix containing all the sample quantile functions. Columns represent time indices and rows represent evaluation grid. |
quantile.grid |
A numeric vector, the grid over which quantile functions are evaluated. |
p |
A positive integer, the order of the fitted WAR(p) model. |
Details
This function takes in a density time series in the form of the corresponding quantile functions as the main input. If the quantile series is not readily available, a general practice is to estimate density functions from samples, then use dens2quantile
from the fdadensity
package to convert density time series to quantile series.
Value
A WARp
object of:
coef |
estimated AR parameters of the fitted WAR(p) model |
coef.cov |
covariance matrix of |
acvf |
Wasserstein autocovariance function values |
Wass.mean |
Wasserstein mean quantile function |
quantile |
a matrix containing all the sample quantile functions (columns represent time indices and rows represent evaluation grid) |
quantile.grid |
quantile function grid that is utilized in calculation |
order |
a positive integer, the order of the fitted WAR(p) model |
References
Wasserstein Autoregressive Models for Density Time Series, Chao Zhang, Piotr Kokoszka, Alexander Petersen, 2022
Examples
# Simulate a density time series represented in quantile functions
# warSimData$sample.ts: A sample TS of quantile functions of length 100, taken from
# the simulation experiments in Section 4 of Zhang et al. 2022.
# warSimData$quantile.grid: The grid over which quantile functions in sample.ts are evaluated.
warSimData <- warSim()
p <- 3
dSup <- seq(-2, 2, 0.02)
expSup <- seq(-2, 2, 0.1)
# Estimation: fit a WAR(3) model
WARp_obj <- WARp(warSimData$sample.ts, warSimData$quantile.grid, p)
# Forecast: one-step-ahead forecast
forecast_1 <- predict(WARp_obj) # dSup and expSup are chosen automatically
forecast_2 <- predict(WARp_obj, dSup, expSup) # dSup and expSup are chosen by user
# Plots
par(mfrow=c(1,2))
plot(forecast_1$dSup, forecast_1$pred.cdf, type="l", xlab="dSup", ylab="cdf")
plot(forecast_1$dSup, forecast_1$pred.pdf, type="l", xlab="dSup", ylab="pdf")
plot(forecast_2$dSup, forecast_2$pred.cdf, type="l", xlab="dSup", ylab="cdf")
plot(forecast_2$dSup, forecast_2$pred.pdf, type="l", xlab="dSup", ylab="pdf")