# farforecast: Functional data forecasting through functional principal... In ftsa: Functional Time Series Analysis

## Description

The coefficients from the fitted object are forecasted using a multivariate time-series forecasting method. The forecast coefficients are then multiplied by the functional principal components to obtain a forecast curve.

## Usage

 ```1 2``` ```farforecast(object, h = 10, var_type = "const", Dmax_value, Pmax_value, level = 80, PI = FALSE) ```

## Arguments

 `object` An object of `fds`. `h` Forecast horizon. `var_type` Type of multivariate time series forecasting method; see `VAR` for details. `Dmax_value` Maximum number of components considered. `Pmax_value` Maximum order of VAR model considered. `level` Nominal coverage probability of prediction error bands. `PI` When `PI = TRUE`, a prediction interval will be given along with the point forecast.

## Details

1. Decompose the smooth curves via a functional principal component analysis (FPCA).

2. Fit a multivariate time-series model to the principal component score matrix.

3. Forecast the principal component scores using the fitted multivariate time-series models. The order of VAR is selected optimally via an information criterion.

4. Multiply the forecast principal component scores by estimated principal components to obtain forecasts of f_{n+h}(x).

5. Prediction intervals are constructed by taking quantiles of the one-step-ahead forecast errors.

## Value

 `point_fore` Point forecast `order_select` Selected VAR order and number of components `PI_lb` Lower bound of a prediction interval `PI_ub` Upper bound of a prediction interval

Han Lin Shang

## References

A. Aue, D. D. Norinho and S. Hormann (2015) "On the prediction of stationary functional time series", Journal of the American Statistical Association, 110(509), 378-392.

J. Klepsch, C. Kl\"uppelberg and T. Wei (2017) "Prediction of functional ARMA processes with an application to traffic data", Econometrics and Statistics, 1, 128-149.

`forecast.ftsm`, `forecastfplsr`
 ```1 2 3``` ```sqrt_pm10 = sqrt(pm_10_GR\$y) multi_forecast_sqrt_pm10 = farforecast(object = fts(seq(0, 23.5, by = 0.5), sqrt_pm10), h = 1, Dmax_value = 5, Pmax_value = 3) ```