Time series and forecasting in R 1 Time series and forecasting in R 2 Outline Time series and forecasting in R 1 Time series objects 2 Basic time series functionality 3 The forecast package 4 Exponential smoothing 5 ARIMA modelling 6 More from the forecast package 7 Time series packages on CRAN Rob J Hyndman 29 June 2008 Time series and forecasting in R Time series objects 4 Time series and forecasting in R Australian GDP Time series objects 5 Australian GDP Time series and forecasting in R Time series objects > plot(ausgdp) 6500 6000 4500 5000 5500 ausgdp 7000 7500 ausgdp <- ts(scan("gdp.dat"),frequency=4, start=1971+2/4) Class: ts Print and plotting methods available. > ausgdp Qtr1 Qtr2 Qtr3 Qtr4 1971 4612 4651 1972 4645 4615 4645 4722 1973 4780 4830 4887 4933 1974 4921 4875 4867 4905 1975 4938 4934 4942 4979 1976 5028 5079 5112 5127 1977 5130 5101 5072 5069 1978 5100 5166 5244 5312 1979 5349 5370 5388 5396 1980 5388 5403 5442 5482 1975 1980 1985 1990 1995 Time 6 Time series and forecasting in R 7 Australian beer production Apr 144 150 154 126 127 May 155 129 137 131 151 Jun 125 131 129 125 130 Jul 153 145 128 127 119 Aug 146 137 140 143 153 Sep 138 138 143 143 Oct 190 168 151 160 Nov 192 176 177 190 Dec 192 188 184 182 beer Mar 152 163 150 164 152 140 Feb 148 133 143 134 136 120 > beer Jan 1991 164 1992 147 1993 139 1994 151 1995 138 160 180 Australian beer production Time series objects > plot(beer) 1991 1992 1993 1994 1995 Time Time series and forecasting in R Basic time series functionality Lag plots 9 Time series and forecasting in R Basic time series functionality Lag plots > lag.plot(beer,lags=12) 200 100 12 47 11 24 36 48 35 23 4 10 11 12 47 24 36 23 35 22 39 1 15 46 528 3 373416 227 13 26 45 4 33 25 2129 9 49 38 50 14 17 41 30 40 52 35 7 19 18 42 44 32 20 31 8 43 6 15 39 1 49 46 5 3 28 16 8 32 4 29 41 17 40 lag 6 2335 46 5 7 37 13 8 19 26 45 4433 329 21 25 2920 38 14 18 3041 17 31 43 642 34 15 39 27 28 3 16 2 4 8 45 33444 19 32 21 20 beer 1 5 37 2 13 26 9 29 18 41 17 43 6 37 26 25 38 14 lag 10 100 120 140 38 14 lag 9 10 11 35 1 28 4 lag 11 160 12 24 36 23 22 39 15 5 73 27 34 216 8 19 33 26 45 44 32 29 20 921 38 14 4130 18 17 31 43 40 6 42 3 2 27 13 30 6 36 46 30 31 42 40 28 7 4 4419 25 41 17 18 40 42 11 12 24 10 23 34 16 3 27 5 34 16 8 33 45 32 2192920 31 43 40 36 7 28 39 151 46 lag 8 12 24 35 23 22 39 15 22 1 22 1 lag 7 11 10 10 47 3 11 12 10 47 24 36 22 37 27 2 13 19 26 44 25 2021 949 38 14 18 30 31 43 42 6 15 39 5 7 28 16 272 8 19 13 4 45 33 4426 25 32 20 21 9 29 50 14 38 18 17 30 41 31 40 43 6 42 35 23 347 beer 46 34 37 10 12 11 24 36 48 47 39 15 beer 180 160 beer 46 lag 5 12 1 120 10 48 23 5 283 51 7 34 16 27 13 8 2 19 4 26 33 45 44 32 25 50 38499 2021 29 14 41 17 18 30 43 31 40 426 22 33 45 lag 3 11 12 24 36 48 35 23 37 lag 4 11 10 47 24 48 36 3523 39 15 1 46 5 7 328 51 37 53 16 34 27 13 2 8 19 4 26 45 33 44 32 25 49 21 9 29 20 50 38 14 18 41 30 31 43 52 40 17 6 42 22 beer beer 36 48 51 11 200 36 37 13 25 180 35 22 39 115 160 120 39 1 15 46 5 28 7 51 3 37 34 16 27 2 13 8 19 26 44 33 45 32 25 49 9 20 21 1830 1454 17 31 43 426 29 50 38 41 40 52 lag 2 12 47 24 180 12 180 53 9 160 10 24 48 23 22 285 3 37 7 16 3427 2 19 2681333 4 44 32 29 92021 25 38 14 18 41 31 17 43 30 40 6 42 140 140 34 lag 1 140 35 160 46 5 28 37 51 5337 16 227 1319 8 33 4 45 44 26 32 21 29 49 20 25 50 38 14 18 3143 52 6 55 54 413017 4240 140 1147 140 115 beer 160 beer 39 120 10 22 120 11 10 3523 120 180 47 22 180 180 36 beer 160 12 24 48 beer 140 beer 120 beer 100 lag 12 200 > lag.plot(beer,lags=12,do.lines=FALSE) 100 120 140 160 180 200 100 120 140 160 180 200 lag.plot(x, lags = 1, layout = NULL, set.lags = 1:lags, main = NULL, asp = 1, diag = TRUE, diag.col = "gray", type = "p", oma = NULL, ask = NULL, do.lines = (n <= 150), labels = do.lines, ...) 10 Time series and forecasting in R Basic time series functionality 11 Time series and forecasting in R 12 0.4 PACF 1.0 ACF Basic time series functionality > pacf(beer) 0.2 0.0 Partial ACF 0.4 0.2 −0.4 −0.2 −0.2 0.0 ACF 0.6 0.8 > acf(beer) 0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 0.2 0.4 0.6 Lag 0.8 1.0 1.2 1.4 Lag Time series and forecasting in R Basic time series functionality 13 Time series and forecasting in R Basic time series functionality 14 Spectrum Raw periodogram 500.0 ACF/PACF 100.0 20.0 0.2 0.5 2.0 ARMAacf(ar = numeric(0), ma = numeric(0), lag.max = r, pacf = FALSE) spectrum pacf(x, lag.max, plot, na.action, ...) 5.0 acf(x, lag.max = NULL, type = c("correlation", "covariance", "partial"), plot = TRUE, na.action = na.fail, demean = TRUE, ...) > spectrum(beer) 0 1 2 3 4 5 6 frequency Time series and forecasting in R Basic time series functionality 15 Time series and forecasting in R Spectrum Basic time series functionality 16 Spectrum 500 1000 AR(12) spectrum > spectrum(beer,method="ar") spectrum(x, ..., method = c("pgram", "ar")) 100 50 spec.ar(x, n.freq, order = NULL, plot = TRUE, na.action = na.fail, method = "yule-walker", ...) 10 20 spectrum 200 spec.pgram(x, spans = NULL, kernel, taper = 0.1, pad = 0, fast = TRUE, demean = FALSE, detrend = TRUE, plot = TRUE, na.action = na.fail, ...) 0 1 2 3 4 5 6 frequency Time series and forecasting in R Basic time series functionality 17 Time series and forecasting in R Classical decomposition STL decomposition 160 20 0 −20 152 1991 1992 1993 1994 Time 1995 15 −15 −5 5 remainder 0 10 −20 146 0 20 trend 158 40 146 150 154 seasonal 130 120 160 data 190 plot(stl(beer,s.window="periodic")) −20 seasonal trend observed decompose(beer) Decomposition of additive time series random Basic time series functionality 1991 1992 1993 1994 time 1995 18 Time series and forecasting in R Basic time series functionality 19 Time series and forecasting in R Decomposition 21 forecast package > forecast(beer) Point Forecast Sep 1995 138.5042 Oct 1995 169.1987 Nov 1995 181.6725 Dec 1995 178.5394 Jan 1996 144.0816 Feb 1996 135.7967 Mar 1996 151.4813 Apr 1996 138.9345 May 1996 138.5279 Jun 1996 127.0269 Jul 1996 134.9452 Aug 1996 145.3088 Sep 1996 139.7348 Oct 1996 170.6709 Nov 1996 183.2204 Dec 1996 180.0290 Jan 1997 145.2589 Feb 1997 136.8833 Mar 1997 152.6684 Apr 1997 140.0008 May 1997 139.5691 Time series and forecasting in R Jun 1997 127.9620 Jul 1997 135.9181 Aug 1997 146.3349 decompose(x, type = c("additive", "multiplicative"), filter = NULL) stl(x, s.window, s.degree = 0, t.window = NULL, t.degree = 1, l.window = nextodd(period), l.degree = t.degree, s.jump = ceiling(s.window/10), t.jump = ceiling(t.window/10), l.jump = ceiling(l.window/10), robust = FALSE, inner = if(robust) 1 else 2, outer = if(robust) 15 else 0, na.action = na.fail) Time series and forecasting in R The forecast package 22 forecast package Lo 80 128.2452 156.6506 168.1640 165.2049 133.2492 125.4937 139.8517 128.1106 127.5448 116.7486 123.7716 132.9658 127.4679 155.2397 166.1298 162.6798 130.7803 122.7595 136.3514 124.4953 123.5476 112.7364 119.1567 127.6354 forecast package Forecasts from ETS(M,Ad,M) Hi 80 148.7632 181.7468 195.1810 191.8738 154.9140 146.0996 163.1110 149.7584 149.5110 137.3052 146.1187 157.6518 152.0018 186.1020 200.3110 197.3783 159.7374 151.0071 168.9854 155.5064 155.5906 143.1876 152.6795 165.0344 Lo 95 122.8145 150.0081 161.0131 158.1461 127.5148 120.0396 133.6953 122.3808 121.7307 111.3076 117.8567 126.4318 120.9741 147.0709 157.0826 153.4957 123.1159 115.2828 127.7137 116.2871 115.0663 104.6764 110.2837 117.7365 Hi 95 154.1940 188.3894 202.3320 198.9327 160.6483 151.5537 169.2673 155.4882 155.3250 142.7462 152.0337 164.1858 158.4955 194.2708 209.3582 206.5624 167.4019 158.4838 177.6231 163.7145 164.0719 The forecast package 151.2476 161.5525 174.9332 23 > summary(forecast(beer)) > plot(forecast(beer)) Forecast method: ETS(M,Ad,M) Smoothing alpha = beta = gamma = phi = 140 160 180 200 The forecast package parameters: 0.0267 0.0232 0.025 0.98 100 120 Initial states: l = 162.5752 b = -0.1598 s = 1.1979 1.2246 1.1452 0.9354 0.9754 0.9068 0.8523 0.9296 0.9342 1.0160 0.9131 0.9696 1991 1992 1993 1994 1995 1996 sigma: 1997 0.0578 AIC AICc BIC 499.0295 515.1347 533.4604 Time series and forecasting in R The forecast package In-sample error measures: ME RMSE MAE MPE 0.07741197 8.41555052 7.03312900 -0.29149125 24 Time series and forecasting in R forecast package Exponential smoothing Classic Reference Makridakis, Wheelwright and Hyndman (1998) Forecasting: methods and applications, 3rd ed., Wiley: NY. Exponential smoothing Until recently, there has been no stochastic modelling framework incorporating likelihood calculation, prediction intervals, etc. Ord, Koehler & Snyder (JASA, 1997) and Hyndman, Koehler, Snyder and Grose (IJF, 2002) showed that all ES methods (including non-linear methods) are optimal forecasts from innovation state space models. Hyndman et al. (2008) provides a comprehensive and up-to-date survey of the area. The forecast package implements the framework of HKSO. Rob J. Hyndman · Anne B. Koehler · J. Keith Ord · Ralph D. Snyder Forecasting with Exponential Smoothing Exponential smoothing methods have been around since the 1950s, and are the most popular forecasting methods used in business and industry. Recently, exponential smoothing has been revolutionized with the introduction of a complete modeling framework incorporating inno-vations state space models, likelihood calculation, prediction intervals and procedures for model selection. In this book, all of the important results for this framework are brought together in a coherent manner with consistent notation. In addition, many new results and extensions are introduced and several application areas are examined in detail. J. Keith Ord is a Professor in the McDonough School of Business, Georgetown University, Washington DC. He has authored over 100 research papers in statistics and forecasting, and is a co-author of Kendall's Advanced Theory of Statistics. Ralph D. Snyder is an Associate Professor in the Department of Econometrics and Business Statistics at Monash University, Australia. He has extensive publications on business forecasting and inventory management. He has played a leading role in the establishment of the class of innovations state space models for exponential smoothing. ISBN 9-783-540-71916-8 Springer Series in Statistics Rob J. Hyndman · Anne B. Koehler J. Keith Ord · Ralph D. Snyder 1 Rob J. Hyndman is a Professor of Statistics and Director of the Business and Economic Forecasting Unit at Monash University, Australia. He is Editor-in-Chief of the International Journal of Forecasting, author of over 100 research papers in statistical science, and received the 2007 Moran medal from the Australian Academy of Science for his contributions to statistical research. Anne B. Koehler is a Professor of Decision Sciences and the Panuska Professor of Business Administration at Miami University, Ohio. She has numerous publications, many of which are on forecasting models for seasonal time series and exponential smoothing methods. Current Reference Hyndman, Koehler, Ord and Snyder (2008) Forecasting with Forecasting with Exponential exponential smoothing: the state Smoothing space approach, Springer-Verlag: Berlin. Hyndman · Koehler · Ord · Snyder Exponential smoothing Springer Series in Statistics Forecasting with Exponential Smoothing Automatic exponential smoothing state space modelling. Automatic ARIMA modelling Forecasting intermittent demand data using Croston’s method Forecasting using Theta method Forecasting methods for most time series modelling functions including arima(), ar(), StructTS(), ets(), and others. Part of the forecasting bundle along with fma, expsmooth and Mcomp. Time series and forecasting in R MAPE MASE Exponential smoothing 26 4.78826138 0.43512047 The State Space Approach 13 27 Time series and forecasting in R Exponential smoothing Exponential smoothing N (None) Trend Component Seasonal Component A M (Additive) (Multiplicative) N (None) N,N N,A N,M A (Additive) A,N A,A A,M Ad M (Additive damped) Ad ,N (Multiplicative) M,N Ad ,A M,A Ad ,M M,M Md (Multiplicative damped) Md ,N Md ,A Md ,M General notation ETS(Error,Trend,Seasonal) ExponenTial Smoothing ETS(A,N,N): ETS(A,A,N): ETS(A,A,A): Simple exponential smoothing with additive errors Holt’s linear method with additive errors Additive Holt-Winters’ method with 28 Time series and forecasting in R Exponential smoothing 29 Time series and forecasting in R Exponential smoothing Innovations state space models Innovation state space models No trend or seasonality and multiplicative errors Example: ETS(M,N,N) Let xt = (`t , bt , st , st−1 , . . . , st−m+1 ) and εt ∼ N(0, σ 2 ). iid Example: Holt-Winters’ multiplicative seasonal method Example: ETS(M,A,M) yt = `t−1 (1 + εt ) `t = αyt + (1 − α)`t−1 = `t−1 (1 + αεt ) 0≤α≤1 εt is white noise with mean zero. Yt `t bt st All exponential smoothing models can be written using analogous state space equations. where 0 ≤ α ≤ 1, 0 ≤ β ≤ α, 0 ≤ γ ≤ 1 − α and m is the period of seasonality. Time series and forecasting in R Exponential smoothing 31 = (`t−1 + bt−1 )st−m (1 + εt ) = α(yt /st−m ) + (1 − α)(`t−1 + bt−1 ) = β(`t − `t−1 ) + (1 − β)bt−1 = γ(yt /(`t−1 + bt−1 )) + (1 − γ)st−m Time series and forecasting in R Exponential smoothing Exponential smoothing Exponential smoothing From Hyndman et al. (2008): Apply each of 30 methods that are appropriate to the data. Optimize parameters and initial values using MLE (or some other criterion). Select best method using AIC: fit <- ets(beer) fit2 <- ets(beer,model="MNM",damped=FALSE) fcast1 <- forecast(fit, h=24) fcast2 <- forecast(fit2, h=24) AIC = −2 log(Likelihood) + 2p Exponential smoothing 33 Exponential smoothing Exponential smoothing 34 Exponential smoothing 36 > fit2 ETS(M,N,M) parameters: 0.0267 0.0232 0.025 0.98 Smoothing parameters: alpha = 0.247 gamma = 0.01 Initial states: l = 168.1208 s = 1.2417 1.2148 1.1388 0.9217 0.9667 0.8934 0.8506 0.9182 0.9262 1.049 0.9047 0.9743 Initial states: l = 162.5752 b = -0.1598 s = 1.1979 1.2246 1.1452 0.9354 0.9754 0.9068 0.8523 0.9296 0.9342 1.016 0.9131 0.9696 sigma: Time series and forecasting in R Exponential smoothing > fit ETS(M,Ad,M) Smoothing alpha = beta = gamma = phi = 32 ets(y, model="ZZZ", damped=NULL, alpha=NULL, beta=NULL, gamma=NULL, phi=NULL, additive.only=FALSE, lower=c(rep(0.01,3), 0.8), upper=c(rep(0.99,3),0.98), opt.crit=c("lik","amse","mse","sigma"), nmse=3, bounds=c("both","usual","admissible"), ic=c("aic","aicc","bic"), restrict=TRUE) where p = # parameters. Produce forecasts using best method. Obtain prediction intervals using underlying state space model. Method performed very well in M3 competition. Time series and forecasting in R 30 sigma: 0.0578 0.0604 AIC AICc BIC 500.0439 510.2878 528.3988 AIC AICc BIC 499.0295 515.1347 533.4604 Time series and forecasting in R Exponential smoothing 35 Time series and forecasting in R Exponential smoothing Exponential smoothing ets() function Automatically chooses a model by default using the AIC Can handle any combination of trend, seasonality and damping Produces prediction intervals for every model Ensures the parameters are admissible (equivalent to invertible) Produces an object of class ets. ets objects Methods: coef(), plot(), summary(), residuals(), fitted(), simulate() and forecast() plot() function shows time plots of the original time series along with the extracted components (level, growth and seasonal). Time series and forecasting in R Exponential smoothing 37 Exponential smoothing Time series and forecasting in R Exponential smoothing 38 Goodness-of-fit 160 155 120 > accuracy(fit) ME RMSE 0.0774 8.4156 0.0 MAE MPE 7.0331 -0.2915 MAPE 4.7883 MASE 0.4351 > accuracy(fit2) ME RMSE MAE MPE -1.3884 9.0015 7.3303 -1.1945 MAPE 5.0237 MASE 0.4535 1.1 0.9 season −1.0 slope 0.5 145 level observed plot(fit) Decomposition by ETS(M,Ad,M) method 1991 1992 1993 1994 1995 Time Time series and forecasting in R Exponential smoothing 39 Forecast intervals Time series and forecasting in R Exponential smoothing 40 Exponential smoothing 200 Forecasts from ETS(M,Ad,M) 160 180 ets() function also allows refitting model to new data set. 140 > usfit <- ets(usnetelec[1:45]) > test <- ets(usnetelec[46:55], model = usfit) 100 120 > accuracy(test) ME RMSE MAE MPE -4.3057 58.1668 43.5241 -0.1023 1992 1993 1994 1995 1996 MASE 0.5206 > accuracy(forecast(usfit,10), usnetelec[46:55]) ME RMSE MAE MPE MAPE MASE ACF1 Theil’s U 46.36580 65.55163 49.83883 1.25087 1.35781 0.72895 0.08899 0.73725 > plot(forecast(fit,level=c(50,80,95))) 1991 MAPE 1.1758 1997 180 200 Forecasts from ETS(M,Ad,M) Time series and forecasting in R Exponential smoothing 41 42 forecast class contains Original series Point forecasts Prediction intervals Forecasting method used Forecasting model information Residuals One-step forecasts for observed data 100 120 140 forecast() function Takes either a time series as its main argument, or a time series model. > Methods plot(forecast(fit,fan=TRUE)) for objects of class ts, ets, 1991 1992 1993 1994 1995 1996 1997 arima, HoltWinters, StructTS, ar and others. If argument is ts, it uses ets model. Calls predict() when appropriate. Output as class forecast. Time series and forecasting in R Exponential smoothing forecast package 160 forecast package Time series and forecasting in R ARIMA modelling ARIMA modelling The arima() function in the stats package provides seasonal and non-seasonal ARIMA model estimation including covariates. However, it does not allow a constant unless the model is stationary It does not return everything required for forecast() It does not allow re-fitting a model to new data. So I prefer the Arima() function in the forecast package which acts as a wrapper to arima(). Even better, the auto.arima() function in the forecast package. Methods applying to the forecast class: print plot summary 44 Time series and forecasting in R ARIMA modelling ARIMA modelling > fit <- auto.arima(beer) > fit Series: beer ARIMA(0,0,0)(1,0,0)[12] with non-zero mean Coefficients: sar1 intercept 0.8431 152.1132 s.e. 0.0590 5.1921 sigma^2 estimated as 122.1: log likelihood = -221.44 AIC = 448.88 AICc = 449.34 BIC = 454.95 45 Time series and forecasting in R ARIMA modelling 46 How does auto.arima() work? ARIMA modelling 47 How does auto.arima() work? AIC = −2 log(L) + 2(p + q + P + Q + k) where L is the maximised likelihood fitted to the differenced data, k = 1 if c 6= 0 and k = 0 otherwise. A seasonal ARIMA process Φ(B m )φ(B)(1 − B m )D (1 − B)d yt = c + Θ(B m )θ(B)εt Step 1: Select current model (with smallest AIC) from: ARIMA(2, d, 2)(1, D, 1)m ARIMA(0, d, 0)(0, D, 0)m ARIMA(1, d, 0)(1, D, 0)m if seasonal ARIMA(0, d, 1)(0, D, 1)m Step 2: Consider variations of current model: • vary one of p, q, P, Q from current model by ±1 • p, q both vary from current model by ±1. • P, Q both vary from current model by ±1. • Include/exclude c from current model Model with lowest AIC becomes current model. Repeat Step 2 until no lower AIC can be found. Need to select appropriate orders: p, q, P, Q, D, d Use Hyndman and Khandakar (JSS, 2008) algorithm: Select no. differences d and D via unit root tests. Select p, q, P, Q by minimising AIC. Use stepwise search to traverse model space. Time series and forecasting in R Time series and forecasting in R ARIMA modelling 48 ARIMA modelling Time series and forecasting in R ARIMA modelling 49 ARIMA vs ETS Forecasts from ARIMA(0,0,0)(1,0,0)[12] with non−zero mean Myth that ARIMA models more general than exponential smoothing. Linear exponential smoothing models all special cases of ARIMA models. Non-linear exponential smoothing models have no equivalent ARIMA counterparts. Many ARIMA models which have no exponential smoothing counterparts. ETS models all non-stationary. Models with seasonality or non-damped trend (or both) have two unit roots; all other models—that is, non-seasonal models with either no trend or damped trend—have one unit root. 100 120 140 160 180 200 > plot(forecast(fit)) 1991 1992 1993 1994 1995 1996 1997 Forecasts from ETS(M,Ad,M) 180 200 > plot(forecast(beer)) Time series and forecasting in R More from the forecast package 51 More from the forecast package 52 Other plotting functions 160 Other forecasting functions Time series and forecasting in R 120 140 croston() implements Croston’s (1972) method for intermittent demand forecasting. theta() provides forecasts from the Theta method. splinef() gives cubic-spline forecasts, based on 1991 1992 1995 1996 1997 fitting1993 a cubic1994 spline to the historical data and extrapolating it linearly. meanf() returns forecasts based on the historical mean. rwf() gives “naı̈ve” forecasts equal to the most recent observation assuming a random walk model. 100 tsdisplay() provides a time plot along with an ACF and PACF. seasonplot() produces a seasonal plot. Time series and forecasting in R More from the forecast package tsdisplay 53 Time series and forecasting in R More from the forecast package seasonplot > tsdisplay(beer) ● > seasonplot(beer) ● ● ● 180 ● ● ● ● ● ● ● ● 180 ● ● ● ● ● ● ● ● ● ● ● ● 140 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 120 ● ● ● ● ● ● ● ● ● ● ● ● ● 160 160 ● ● ● ● ● 1991 1992 1993 1994 1995 ● ● ● ● ● ● 10 Lag 15 ● ● ● ● ● ● ● ● ● ● ● Feb Mar Apr May Jun Jul Month 5 ● ● 120 −0.4 15 ● ● ● ● 0.4 PACF 0.0 −0.4 10 Lag ● ● ● Jan 5 ● ● ● ● ● ● ● ● 0.0 0.4 140 ● ACF ● ● ● ● Aug Sep Oct Nov Dec 54 Time series and forecasting in R Time series packages on CRAN 56 Time series packages on CRAN 58 Forecasting and univariate modelling Methods for linear time series analysis Bayesian analysis of Dynamic Linear Models. Time series analysis and control ARMA Modelling ARCH/GARCH modelling Bias-corrected forecasting and bootstrap prediction intervals for autoregressive time series gsarima Generalized SARIMA time series simulation bayesGARCH Bayesian Estimation of the GARCH(1,1) Model with t innovations Time series packages on CRAN 60 nlts R functions for (non)linear time series analysis tseriesChaos Nonlinear time series analysis RTisean Algorithms for time series analysis from nonlinear dynamical systems theory. tsDyn Time series analysis based on dynamical systems theory BAYSTAR Bayesian analysis of threshold autoregressive models fNonlinear Nonlinear and Chaotic Time Series Modelling bentcableAR Bent-Cable autoregression 59 Time series and forecasting in R Time series packages on CRAN 61 Unit roots and cointegration robfilter Robust time series filters mFilter Miscellaneous time series filters useful for smoothing and extracting trend and cyclical components. ArDec Autoregressive decomposition wmtsa Wavelet methods for time series analysis based on Percival and Walden (2000) wavelets Computing wavelet filters, wavelet transforms and multiresolution analyses signalextraction Real-time signal extraction (direct filter approach) bspec Bayesian inference on the discrete power spectrum of time series Nonlinear time series analysis Time series packages on CRAN boot Bootstrapping, including the block bootstrap with several variants. meboot Maximum Entropy Bootstrap for Time Series Decomposition and filtering Time series packages on CRAN Time series and forecasting in R Resampling and simulation ltsa dlm timsac fArma fGarch BootPR Time series and forecasting in R 57 forecast Lots of univariate time series methods including automatic ARIMA modelling, exponential smoothing via state space models, and the forecast class for consistent handling of time series forecasts. Part of the forecasting bundle. tseries GARCH models and unit root tests. FitAR Subset AR model fitting partsm Periodic autoregressive time series models pear Periodic autoregressive time series models stats Contains substantial time series capabilities including the ts class for regularly spaced time series. Also ARIMA modelling, structural models, time series plots, acf and pacf graphs, classical decomposition and STL decomposition. Time series and forecasting in R Time series packages on CRAN Forecasting and univariate modelling Basic facilities Time series and forecasting in R Time series and forecasting in R tseries Unit root tests and methods for computational finance. urca Unit root and cointegration tests uroot Unit root tests including methods for seasonal time series 62 Time series and forecasting in R Time series packages on CRAN Dynamic regression models dynlm Dynamic linear models and time series regression dyn Time series regression tpr Regression models with time-varying coefficients. 63 Time series and forecasting in R Time series packages on CRAN 64 Multivariate time series models Time series packages on CRAN 65 far Modelling Functional AutoRegressive processes 66 Continuous time data Time series and forecasting in R Time series packages on CRAN 67 Irregular time series zoo Infrastructure for both regularly and irregularly spaced time series. its Another implementation of irregular time series. fCalendar Chronological and Calendarical Objects fSeries Financial Time Series Objects xts Provides for uniform handling of R’s different time-based data classes cts Continuous time autoregressive models sde Simulation and inference for stochastic differential equations. Time series and forecasting in R Time series packages on CRAN Functional data mAr Multivariate AutoRegressive analysis vars VAR and VEC models MSBVAR Markov-Switching Bayesian Vector Autoregression Models tsfa Time series factor analysis dse Dynamic system equations including multivariate ARMA and state space models. brainwaver Wavelet analysis of multivariate time series Time series and forecasting in R Time series and forecasting in R Time series packages on CRAN Time series data fma Data from Makridakis, Wheelwright and Hyndman (1998) Forecasting: methods and applications. Part of the forecasting bundle. expsmooth Data from Hyndman, Koehler, Ord and Snyder (2008) Forecasting with exponential smoothing. Part of the forecasting bundle. Mcomp Data from the M-competition and M3-competition. Part of the forecasting bundle. FinTS R companion to Tsay (2005) Analysis of financial time series containing data sets, functions and script files required to work some of the examples. TSA R functions and datasets from Cryer and Chan (2008) Time series analysis with applications in R TSdbi Common interface to time series databases fame Interface for FAME time series databases fEcofin Ecofin - Economic and Financial Data Sets 68 Time series and forecasting in R Time series packages on CRAN Miscellaneous hydrosanity Graphical user interface for exploring hydrological time series pastecs Regulation, decomposition and analysis of space-time series. RSEIS Seismic time series analysis tools paleoTS Modeling evolution in paleontological time-series GeneTS Microarray Time Series and Network Analysis fractal Fractal Time Series Modeling and Analysis 69