Learn R Programming

ftsa (version 6.4)

forecast.ftsm: Forecast functional time series

Description

The coefficients from the fitted object are forecasted using either an ARIMA model (method = "arima"), an AR model (method = "ar"), an exponential smoothing method (method = "ets"), a linear exponential smoothing method allowing missing values (method = "ets.na"), or a random walk with drift model (method = "rwdrift"). The forecast coefficients are then multiplied by the principal components to obtain a forecast curve.

Usage

# S3 method for ftsm
forecast(object, h = 10, method = c("ets", "arima", "ar", "ets.na", 
 "rwdrift", "rw", "struct", "arfima"), level = 80, jumpchoice = c("fit", 
  "actual"), pimethod = c("parametric", "nonparametric"), B = 100, 
   usedata = nrow(object$coeff), adjust = TRUE, model = NULL,
    damped = NULL, stationary = FALSE, ...)

Value

List with the following components:

mean

An object of class fts containing point forecasts.

lower

An object of class fts containing lower bound for prediction intervals.

upper

An object of class fts containing upper bound for prediction intervals.

fitted

An object of class fts of one-step-ahead forecasts for historical data.

error

An object of class fts of one-step-ahead errors for historical data.

coeff

List of objects of type forecast containing the coefficients and their forecasts.

coeff.error

One-step-ahead forecast errors for each of the coefficients.

var

List containing the various components of variance: model, error, mean, total and coeff.

model

Fitted ftsm model.

bootsamp

An array of \(dimension = c(p, B, h)\) containing the bootstrapped point forecasts. \(p\) is the number of variables. \(B\) is the number of bootstrap samples. \(h\) is the forecast horizon.

Arguments

object

Output from ftsm.

h

Forecast horizon.

method

Univariate time series forecasting methods. Current possibilities are “ets”, “arima”, “ets.na”, “rwdrift” and “rw”.

level

Coverage probability of prediction intervals.

jumpchoice

Jump-off point for forecasts. Possibilities are “actual” and “fit”. If “actual”, the forecasts are bias-adjusted by the difference between the fit and the last year of observed data. Otherwise, no adjustment is used. See Booth et al. (2006) for the detail on jump-off point.

pimethod

Indicates if parametric method is used to construct prediction intervals.

B

Number of bootstrap samples.

usedata

Number of time periods to use in forecasts. Default is to use all.

adjust

If adjust = TRUE, adjusts the variance so that the one-step forecast variance matches the empirical one-step forecast variance.

model

If the ets method is used, model allows a model specification to be passed to ets().

damped

If the ets method is used, damped allows the damping specification to be passed to ets().

stationary

If stationary = TRUE, method is set to method = "ar" and only stationary AR models are used.

...

Other arguments passed to forecast routine.

Author

Rob J Hyndman

Details

1. Obtain a smooth curve \(f_t(x)\) for each \(t\) using a nonparametric smoothing technique.

2. Decompose the smooth curves via a functional principal component analysis.

3. Fit a univariate time series model to each of the principal component scores.

4. Forecast the principal component scores using the fitted time series models.

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

6. The estimated variances of the error terms (smoothing error and model residual error) are used to compute prediction intervals for the forecasts.

References

H. Booth and R. J. Hyndman and L. Tickle and P. D. Jong (2006) "Lee-Carter mortality forecasting: A multi-country comparison of variants and extensions", Demographic Research, 15, 289-310.

B. Erbas and R. J. Hyndman and D. M. Gertig (2007) "Forecasting age-specific breast cancer mortality using functional data model", Statistics in Medicine, 26(2), 458-470.

R. J. Hyndman and M. S. Ullah (2007) "Robust forecasting of mortality and fertility rates: A functional data approach", Computational Statistics and Data Analysis, 51(10), 4942-4956.

R. J. Hyndman and H. Booth (2008) "Stochastic population forecasts using functional data models for mortality, fertility and migration", International Journal of Forecasting, 24(3), 323-342.

R. J. Hyndman and H. L. Shang (2009) "Forecasting functional time series" (with discussion), Journal of the Korean Statistical Society, 38(3), 199-221.

H. L. Shang (2012) "Functional time series approach for forecasting very short-term electricity demand", Journal of Applied Statistics, 40(1), 152-168.

H. L. Shang (2013) "ftsa: An R package for analyzing functional time series", The R Journal, 5(1), 64-72.

H. L. Shang, A. Wisniowski, J. Bijak, P. W. F. Smith and J. Raymer (2014) "Bayesian functional models for population forecasting", in M. Marsili and G. Capacci (eds), Proceedings of the Sixth Eurostat/UNECE Work Session on Demographic Projections, Istituto nazionale di statistica, Rome, pp. 313-325.

H. L. Shang (2015) "Selection of the optimal Box-Cox transformation parameter for modelling and forecasting age-specific fertility", Journal of Population Research, 32(1), 69-79.

H. L. Shang (2015) "Forecast accuracy comparison of age-specific mortality and life expectancy: Statistical tests of the results", Population Studies, 69(3), 317-335.

H. L. Shang, P. W. F. Smith, J. Bijak, A. Wisniowski (2016) "A multilevel functional data method for forecasting population, with an application to the United Kingdom", International Journal of Forecasting, 32(3), 629-649.

See Also

ftsm, forecastfplsr, plot.ftsf, plot.fm, residuals.fm, summary.fm

Examples

Run this code
# ElNino is an object of class sliced functional time series.
# Via functional principal component decomposition, the dynamic was captured 
# by a few principal components and principal component scores. 
# By using an exponential smoothing method, 
# the principal component scores are forecasted.
# The forecasted curves are constructed by forecasted principal components 
# times fixed principal components plus the mean function.	
forecast(object = ftsm(ElNino_ERSST_region_1and2), h = 10, method = "ets")              
forecast(object = ftsm(ElNino_ERSST_region_1and2, weight = TRUE))

Run the code above in your browser using DataLab