ftsa (version 5.5)

dynupdate: Dynamic updates via BM, OLS, RR and PLS methods

Description

Four methods, namely block moving (BM), ordinary least squares (OLS) regression, ridge regression (RR), penalized least squares (PLS) regression, were proposed to address the problem of dynamic updating, when partial data in the most recent curve are observed.

Usage

dynupdate(data, newdata = NULL, holdoutdata, method = c("ts", "block", 
 "ols", "pls", "ridge"), fmethod = c("arima", "ar", "ets", "ets.na", 
  "rwdrift", "rw"), pcdmethod = c("classical", "M", "rapca"), 
   ngrid = max(1000, ncol(data$y)), order = 6, 
    robust_lambda = 2.33, lambda = 0.01, value = FALSE, 
     interval = FALSE, level = 80, 
      pimethod = c("parametric", "nonparametric"), B = 1000)

Arguments

data

An object of class sfts.

newdata

A data vector of newly arrived observations.

holdoutdata

A data vector of holdout sample to evaluate point forecast accuracy.

method

Forecasting methods. The latter four can dynamically update point forecasts.

fmethod

Univariate time series forecasting methods used in method = "ts" or method = "block".

pcdmethod

Method to use for principal components decomposition. Possibilities are "M", "rapca" and "classical".

ngrid

Number of grid points to use in calculations. Set to maximum of 1000 and ncol(data$y).

order

Number of principal components to fit.

robust_lambda

Tuning parameter in the two-step robust functional principal component analysis, when pcdmethod = "M".

lambda

Penalty parameter used in method = "pls" or method = "ridge".

value

When value = TRUE, returns forecasts or when value = FALSE, returns forecast errors.

interval

When interval = TRUE, produces distributional forecasts.

level

Nominal coverage probability.

pimethod

Parametric or nonparametric method to construct prediction intervals.

B

Number of bootstrap samples.

Value

forecasts

An object of class fts containing the dynamic updated point forecasts.

bootsamp

An object of class fts containing the bootstrapped point forecasts, which are updated by the PLS method.

low

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

up

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

Details

This function is designed to dynamically update point and interval forecasts, when partial data in the most recent curve are observed.

If method = "classical", then standard functional principal component decomposition is used, as described by Ramsay and Dalzell (1991).

If method = "rapca", then the robust principal component algorithm of Hubert, Rousseeuw and Verboven (2002) is used.

If method = "M", then the hybrid algorithm of Hyndman and Ullah (2005) is used.

References

J. O. Ramsay and C. J. Dalzell (1991) "Some tools for functional data analysis (with discussion)", Journal of the Royal Statistical Society: Series B, 53(3), 539-572.

M. Hubert and P. J. Rousseeuw and S. Verboven (2002) "A fast robust method for principal components with applications to chemometrics", Chemometrics and Intelligent Laboratory Systems, 60(1-2), 101-111.

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.

H. Shen and J. Z. Huang (2008) "Interday forecasting and intraday updating of call center arrivals", Manufacturing and Service Operations Management, 10(3), 391-410.

H. Shen (2009) "On modeling and forecasting time series of curves", Technometrics, 51(3), 227-238.

H. L. Shang and R. J. Hyndman (2011) "Nonparametric time series forecasting with dynamic updating", Mathematics and Computers in Simulation, 81(7), 1310-1324.

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

H. L. Shang (2017) "Forecasting Intraday S&P 500 Index Returns: A Functional Time Series Approach", Journal of Forecasting, 36(7), 741-755.

H. L. Shang (2017) "Functional time series forecasting with dynamic updating: An application to intraday particulate matter concentration", Econometrics and Statistics, 1, 184-200.

See Also

ftsm, forecast.ftsm, plot.fm, residuals.fm, summary.fm

Examples

Run this code
# NOT RUN {
# ElNino is an object of sliced functional time series, constructed from a univariate time series. 
# When we observe some newly arrived information in the most recent time period, this function  
# allows us to update the point and interval forecasts for the remaining time period. 
dynupdate(data = ElNino_ERSST_region_1and2, newdata = ElNino_ERSST_region_1and2$y[1:4,69], 
	holdoutdata = ElNino_ERSST_region_1and2$y[5:12,57], method = "block", interval = FALSE) 
# }

Run the code above in your browser using DataCamp Workspace