forecast: Forecast for iAR, CiAR, and BiAR Classes

forecastR Documentation

Forecast for iAR, CiAR, and BiAR Classes

Description

Generates forecasts for the specified time series model. This method is implemented for: 1. Irregular Autoregressive models ('iAR') 2. Complex Irregular Autoregressive models ('CiAR') 3. Bivariate Autoregressive models ('BiAR')

Usage

forecast(x, ...)

Arguments

x

An object of class iAR, CiAR, or BiAR, containing the model specification and parameters:

  • For iAR:

    • family: The distribution family of the iAR model (one of "norm", "t", or "gamma").

    • series: A numeric vector representing the time series to forecast.

    • coef: The coefficient(s) of the iAR model.

    • zero_mean: Logical, whether the model assumes a zero-mean series.

    • standardized: Logical, whether the model uses standardized data (only for "norm" family).

    • mean: The mean parameter (only for "gamma" family).

    • tAhead: Integer, the number of steps ahead to forecast.

  • For CiAR:

    • coef: The real and imaginary parts of the CiAR model's coefficients.

    • series: A numeric vector representing the time series to forecast.

    • times: A numeric vector specifying the time points of the series.

    • zero_mean: Logical, whether the model assumes a zero-mean series.

    • standardized: Logical, whether the model output should be standardized.

    • tAhead: Integer, the number of steps ahead to forecast.

  • For BiAR:

    • coef: The coefficients of the BiAR model (real and imaginary parts).

    • series: A numeric matrix with two columns representing the bivariate time series to forecast.

    • times: A numeric vector specifying the time points of the series.

    • tAhead: Integer, the number of steps ahead to forecast.

...

Additional arguments (unused).

Details

This method generates forecasts for the specified time series model. Depending on the class of the input object:

  • For iAR, the function supports three distribution families:

  • "norm" for normal distribution.

  • "t" for t-distribution.

  • "gamma" for gamma distribution.

  • For CiAR, the function uses complex autoregressive processes.

  • For BiAR, the function generates forecasts for a bivariate autoregressive process.

All required parameters (e.g., coefficients, time points) must be set before calling this method.

Value

An updated object of class iAR, CiAR, or BiAR, where the forecast property contains the forecasted values.

References

\insertRef

Eyheramendy_2018iAR,\insertRefElorrieta_2019iAR,\insertRefElorrieta_2021iAR

Examples

# Example 1: Forecasting with a normal iAR model
library(iAR)
n=100
set.seed(6714)
o=iAR::utilities()
o<-gentime(o, n=n)
times=o@times
model_norm <- iAR(family = "norm", times = times, coef = 0.9)  
model_norm <- sim(model_norm)
model_norm <- kalman(model_norm) 
model_norm@tAhead=1.3
model_norm <- forecast(model_norm)
plot(times, model_norm@series, type = "l", main = "Original Series with Forecast")
points(max(times)+ model_norm@tAhead, model_norm@forecast, col = "blue", pch = 16)
plot_forecast(model_norm)

# Example 2: Forecasting with a CiAR model
set.seed(6714)
model_CiAR <- CiAR(times = times,coef = c(0.9, 0))
model_CiAR <- sim(model_CiAR)
y=model_CiAR@series
y1=y/sd(y)
model_CiAR@series=y1
model_CiAR@series_esd=rep(0,n)
model_CiAR <- kalman(model_CiAR)
print(model_CiAR@coef)
model_CiAR@tAhead=1.3
model_CiAR <-forecast(model_CiAR)
model_CiAR@forecast

# Example 3: Forecasting with a BiAR model
n=80
set.seed(6714)
o=iAR::utilities()
o<-gentime(o, n=n)
times=o@times
model_BiAR <- BiAR(times = times,coef = c(0.9, 0.3), rho = 0.9)
model_BiAR <- sim(model_BiAR)
y=model_BiAR@series
y1=y/apply(y,2,sd)
model_BiAR@series=y1
model_BiAR@series_esd=matrix(0,n,2)
model_BiAR <- kalman(model_BiAR)
print(model_BiAR@coef)
model_BiAR@tAhead=1.3
model_BiAR <-forecast(model_BiAR)
model_BiAR@forecast


iAR documentation built on April 4, 2025, 2:21 a.m.

Related to forecast in iAR...