forecast 9.0.1
- Performance improvements for ARFIMA model search
-
forecast.mlm()now findsnewdatawhen passed as an argument from another function (#880) -
residuals.tslm()now allowstype = "working"as per CRAN request - Code modernization and performance improvements
forecast 9.0.0
CRAN release: 2026-01-11
-
ets()now allows missing values in the time series (#952) - Added
mean_model()andforecast.mean_model() - Added
rw_model()andforecast.rw_model()(m-muecke, #969) - Added
spline_model()andforecast.spline_model()(#1013) - Added
theta_model()andforecast.theta_model()(#1014) - Added
croston_model()andforecast.croston_model()(#1015) - Added simulated and bootstrapped prediction intervals to more models (#1040)
- Added parallelization for
nnetar()(m-muecke, #346) - More consistent handling of biasadj across models
-
accuracy()rewritten to use S3 methods for models and removeaccuracy.default()(#912) - Bug fixes and performance improvements
- Documentation improvements
forecast 8.21.1
CRAN release: 2023-08-31
-
nnetar()now allows p or P to be 0 - Bug fixes and improved docs
forecast 8.21
CRAN release: 2023-02-27
- Fixed df calculation for Ljung-Box tests in
checkresiduals() - Fixed some broken tests
forecast 8.20
CRAN release: 2023-01-06
- Improvements to unit tests, and migrate to testthat 3e
- Prevent failure in C23 mode
forecast 8.18
CRAN release: 2022-10-02
- Updated RW forecasts to use an unbiased estimate of sigma2
- Bug fixes
forecast 8.17.0
CRAN release: 2022-07-25
- Updated
dm.test()to add alternative variance estimators. (#898) - Added
simulate.tbats()for simulating from TBATS models. - Added dependency on generics for
accuracy()andforecast()(#902) - Bug fixes
forecast 8.16
CRAN release: 2022-01-10
- Fixed
tslm()incorrectly applying Box-Cox transformations when anmtsis provided to thedataargument (#886). - Set D=0 when
auto.arima()applied to series with 2m observations or fewer. - Improved performance of parallel search of ARIMA models (jonlachmann, #891).
- Fixed scoping of functions used in
ggAcf()(#896). - Fixed checks on xreg in
simulate.Arima()(#818) - Improved docs and bug fixes.
forecast 8.14
CRAN release: 2021-03-11
- Changed default
BoxCox(lambda = "auto")lower bound to -0.9. - Use better variance estimates for ets bias adjustments.
- Improved robustness of
autoplot.seas()for non-seasonal decomposition. - Fixed scoping of parameters in
auto.arima(parallel = TRUE)(#874). - Fixed handling of
xregintsCV().
forecast 8.13
CRAN release: 2020-09-12
- Fixed forecasts from
Arima()with drift with initial NAs. - Fixed season colours in
gglagplot()to match y-axis (original data). - Fixed facet order for classical decomposition
autoplot() - Fixed
summary()erroring fortslm()models containing NA values.
forecast 8.12
CRAN release: 2020-03-31
- Fixed bias adjusted forecast mean for ARIMA forecasts.
- Improved naming of
accuracy()generic formals. - Fix seasonal periods for
taylordataset.
forecast 8.11
CRAN release: 2020-02-09
- The axis for
gglagplot()have been reversed for consistency withstats::lag.plot().
forecast 8.6
CRAN release: 2019-04-16
- Reduced conflicts with tidy forecasting packages
- Forecast autoplots now use same colour shading as
autolayer()and geom_forecast - Documentation improvements
- Bug fixes
forecast 8.5
CRAN release: 2019-01-18
- Updated
tsCV()to handle exogenous regressors - Reimplemented lagwalk methods (
naive(),snaive(),rwf()) for speed improvements - Added support for passing arguments to
auto.arima()unit root tests - Improved
auto.arima()stepwise search algorithm - Documentation improvements
- Bug fixes
forecast 8.3
CRAN release: 2018-04-11
- Added
mstl()to handle multiple seasonal decomposition -
stlf(),stlm(),tsoutliers()andtsclean()all now usemstl(). - Updated
tsCV()to handle multiple horizons - Switched unit root tests in
ndiffs()to use urca package - Added
ocsb.test() - Changed method for choosing D in
auto.arima()to a measure of seasonal strength. - Added
baggedModel()function to generalize baggedETS - Added bootstrapped PI to more functions
- Allowed lambda=‘auto’ for all functions with lambda argument.
- Updated author list to include all major contributors
- Documentation improvements
- Bug fixes
forecast 8.2
CRAN release: 2017-09-25
- Added pkgdown site
- Added rolling window option to
tsCV() - Improved robustness to short time series and missing values
- Bug fixes
forecast 8.1
CRAN release: 2017-06-17
- Added
as.character.ets(),as.character.bats(),as.character.tbats() - Made
gghistogram()andcheckresiduals()robust to missing values - All documentation now generated using roxygen
- Improved documentation for many functions
- Added
autoplot.msts()andautolayer.msts() - Added as.character methods for many models to generate model names
- Added
as.ts.forecast() - autoplot method for bats/tbats models
- Better ARIMA trace output
- Made accuracy an S3 method
- Bug fixes
forecast 8.0
CRAN release: 2017-02-23
- Added tips to start up message
- Added pipe operator
- Added
tsCV()andCVar()functions - Added baggedETS
- Added
head.ts()andtail.ts(), so head and tail now work properly on ts objects. - Added
gghistogram()andcheckresiduals() - Added
ggseasonplot()with polar coordinates - Modified defaults for
gglagplot() - Added
autolayer.ts() - Added type argument to
residuals()for different types of residuals - Added support for seas objects from the seasonal package
- Component extraction for seasonal decomposition methods
- Range bars for decomposition autoplots
- Added
autoplot.StructTS() - Added vignette based on 2008 JSS article by Hyndman and Khandakar
- Improved ggplot functions
- mforecast objects re-structured
- Added
as.data.frame.mforecast() -
autoplot()functions now exported - Refit support for
arfima()andstlm() - Better bias adjustment support after Box-Cox transformation
-
print.ARIMA()has better labelling of constants - Bug fixes
- Removed fortify method for forecast objects
forecast 7.3
CRAN release: 2016-10-13
- Added prediction intervals and simulation for
nnetar(). - Documentation improvement
- Bug fixes
forecast 7.2
CRAN release: 2016-09-09
- Faceting for
autoplot.mts() - Box-Cox support for ses, holt, hw
-
ets()now works for tiny time series - Added h-step fitted values in
fitted()function. - seasonal adjustment added to
thetaf() - y now the standard first argument in all modelling functions
- Added truncate argument to
auto.arima() -
seasadj()now an S3 method - series with frequency < 1 and non-integer seasonality now handled better
- ggplot2 theme support
- Added gglagplot, gglagchull
-
Arima()andauto.arima()now allow any argument to be passed tostats::arima(). - Bug fixes and speed improvements
forecast 7.1
CRAN release: 2016-04-14
- Fixed bug in
auto.arima()where the Box-Cox transformation was sometimes applied twice - Improved axes for ggseasonalplot
- Improved
tslm()to avoid some problems finding data -
nnetar()updated to allow subsets - Modified initial values for
ets() - Improved unit tests to avoid deprecated functions and to avoid data from fpp
- Removed fpp from Suggests list
forecast 7.0
CRAN release: 2016-04-04
- Added ggplot2 graphics
- Bias adjustment option added for all functions that allow Box-Cox transformations
- Added
Ccf()function, and rewroteAcf()to handle multivariate series. -
tslm()completely rewritten to be more robust and to handle fourier terms more easily - Support for multivariate linear models added
-
subset.ts()more robust, and captures some errors. - Added xreg argument to
nnetar() - Improved labels in seasonplot
- More unit tests added
- Documentation improvements
- Bug fixes
forecast 6.2
CRAN release: 2015-10-20
- Many unit tests added using testthat.
- Fixed bug in
ets()when very short seasonal series were passed in a data frame. - Fixed bug in
nnetar()where the initial predictor vector was reversed. - Corrected model name returned in
nnetar(). - Fixed bug in
accuracy()when non-integer seasonality used. - Made
auto.arima()robust to non-integer seasonality. - Fixed bug in
auto.arima()where allowmean was ignored when stepwise=FALSE. - Improved robustness of
forecast.ets()for explosive models with multiplicative trends. - Exogenous variables now passed to VAR forecasts
- Increased maximum nmse in
ets()to 30. - Made
tsoutliers()more robust to weak seasonality - Changed
tsoutliers()to use supsmu on non-seasonal and seasonally adjusted data. - Fixed bug in
tbats()when seasonal period 1 is a small multiple of seasonal period 2. - Other bug fixes
forecast 6.0
CRAN release: 2015-05-09
- Modified
dm.test()to give error when variance is zero - Corrected help file for
splinef(). - Fixed typo in accuracy help file regarding RMSE
- Fixed bug in
accuracy()which occurred with Arima and ets objects. - Fixed
arima.errors()to handle Box-Cox transformed models. - Modified
auto.arima()to be stricter on near-unit-roots. - Added allowmean argument in
auto.arima(). - Improved handling of constant series in
Arima()andforecast.Arima(). - Added
plot.Arima()andplot.ar()functions. - Added as.character.Arima
- Captured problem in bats/tbats where data are constant.
- Modified TBATS and BATS estimation to avoid occasional instabilities.
- Fixed bug in forecasts from bats which labelled them as TBATS.
- Added allow.multiplicative.trend argument to
ets(). - Set allow.multiplictive.trend=FALSE in
stlf(),stlm()andforecast.ts(). - Simplified arguments in
stlf(). - Added taperedacf and taperedpacf functions
- Added functions for bootstrapping time series
forecast 5.9
CRAN release: 2015-02-26
- Improved documentation of
accuracy()function. - Fixed occasional bug in
accuracy()when test set is a single observation. - Improved
Acf()to give better handling of horizontal axis for seasonal data or when … is passed. - Removed
print.Arima()andpredict.Arima()and addedprint.ARIMA() - method argument now passed when re-fitting an ARIMA model.
- Fixed error when CH test applied to short series
forecast 5.8
CRAN release: 2015-01-06
- Fixed bug in versions of R before 3.10 when using fourier and fourierf.
- Made
BoxCox.lambda()robust to missing values.
forecast 5.7
CRAN release: 2014-12-17
- Fixed bug in tbats/bats where optional arguments were not being passed to
auto.arima(). - Revised
fourier()andfourierf()to avoid large orders, and to avoid zero columns. - Improved accuracy of
fourier()andfourierf(), while simplifying the code. - Removed duplicate columns returned by fourier/fourierf with multiple seasonal periods.
- Corrected some bugs in
simulate.Arima()for models involving xreg. - Centred simulations from
simulate.Arima()for non-stationary models by conditioning on first observation. - Added
findfrequency()function. - Fixed error in computed residuals from
forecast.stl(). - Improved handling of very short series in
auto.arima(). - Fixed error in forecasting with additive damped models. Damping previously applied only from second forecast horizon.
- Fixed misuse of
abs()in two places in C code. - Added na.action argument to
Acf()and fixed na.action argument intsdisplay().
forecast 5.6
CRAN release: 2014-09-24
- Improved tbats and bats by ensuring ARMA coefficients are not close to the boundary of invertibility and stationarity.
- Improved
nsdiffs()handling of degenerate series (e.g., all zeros). - Improved
forecast.ar()when function buried within other functions. - Improved handling of degenerate ARIMA models when xreg used.
- More robust ets initialization.
- Fixed problem in
na.interp()with seasonal data having frequency <= 5. - Removed undocumented option to use Rmalschains for optimization of ets.
forecast 5.5
CRAN release: 2014-08-12
- Improved documentation for croston
- Added
stlm()andforecast.stlm()functions, and added forecastfunction argument as a way of specifying a forecast method instlf()andforecast.stl(). - Improved
forecast.ar()so that it is more likely to work ifar()andforecast.ar()are embedded within other functions. - Improved handling of ARIMA models with seasonality greater than 48
- Improved handling of some degenerate regression models in nsdiffs
- Changed AIC for poor models from 1e20 to Inf.
- Update
fourier()andfourierf()to work with msts object. - Added a new argument find.frequency to
forecast.ts(). - Added new arguments d and D to
accuracy()for MASE.
- Update
- Corrected bugs in
accuracy(). - Better handling of regression models with perfect fit in
auto.arima(). - Fixed bug in
tbats.components()when there are no seasonal components.
forecast 5.4
CRAN release: 2014-05-08
- Fixed bug in
forecast.tbats()andforecast.bats()when ts.frequency does not match seasonal.periods. - Fixed bug in
getResponse.lm()when there’s a logged dependent variable. - Modified
ets()to avoid problems when data contains large numbers. - Modified
ets()to produce forecasts when the data are constant. - Improved
arima.errors()to find xreg more often, and to return an error if it can’t be found.
forecast 5.3
CRAN release: 2014-03-24
- Unit tests added
- Fixed bug in
zzhw()which reversed the sign of the residuals. - Updated help file for
CV()to specify it is only leave-one-out. - Fixed
guer.cv()to allow non-integer periods without warning. - Added use.initial.values argument in
ets(). - Added
arimaorder()function. - Modified warnings suppression by using
suppressWarnings()throughout.
forecast 5.2
CRAN release: 2014-02-24
- Changed default number of cores to 2 for all functions that use parallel processing.
- Removed remaining call to
bats()from examples that are run.
forecast 5.1
CRAN release: 2014-02-08
- Fixed bug in
tsoutliers()andtsclean()with very short seasonal series. - Fixed bug in
Arima()when seasonal order is specified numerically instead of via a list. - Removed dimension attribution from output of
arima.errors() - Improved handling of “test” in accuracy
- Changed parallel processing to parLapply for
auto.arima() - Added timeDate dependency to avoid errors in
easter()and link to Rcpp >= 0.11.0.
forecast 5.0
CRAN release: 2014-01-17
- Added argument model to
dshw(). - Added
bizdays()andeaster()for calendar variables. - Added arguments max.D and max.d to
auto.arima(),ndiffs()andnsdiffs(). - Made several functions more robust to zoo objects.
- Corrected an error in the calculation of AICc when using
CV(). - Made minimum default p in
nnetar()equal to 1. - Added
tsoutliers()andtsclean()for identifying and replacing outliers - Improved
na.interp()to handle seasonality and added argument lambda tona.interp() - Added robust option to
forecast.ts()to allow outliers and missing values - Improved output from
snaive()andnaive()to better reflect user expectations - Allowed
Acf()to handle missing values by using na.contiguous - Changed default information criterion in
ets()to AICc. - Removed drift term in
Arima()when d+D>1. - Added bootstrap option to
forecast.Arima()
forecast 4.7
CRAN release: 2013-09-27
- Added
forecast.forecast()to simply return the object that is passed. - Removed leading zero in package number. i.e., 4.7 instead of 4.07.
- better handling of nearly constant time series, and nearly linear time series
- improved handling of missing values in
rwf() - corrected fitted values and residuals in
meanf()for time series data -
bats()andtbats()now handle missing values in the same way asets(). i.e., using longest contiguous portion. - better handling of very short time series
- initial states for
ets()modified for very short time series (less than 3 years). - nsdiffs with CH test now handles degenerate cases without returning an error.
- nnetar now handles missing values
- Fixed bug in
forecast.varest()so residuals and fitted values computed correctly. - Added
accuracy()calculation for VAR models - Fixed a bug in
simulate.fracdiff()when future=TRUE. Sometimes the future argument was being ignored.
forecast 4.06
CRAN release: 2013-06-30
-
accuracy()was returning a mape and mpe 100 times too large for in-sample errors.
forecast 4.05
CRAN release: 2013-06-19
- Fixed bug in
hw()so it works when initial=“simple” - Allowed
bats()andtbats()to take non-positive values. -
ets()now calls optim direct via c code makingets()run much faster. - Added Rmalschains as a possible optimizer in
ets(). Not documented. - Modified
forecast.lm()so it is more likely that the original data are stored in the returned object. - Corrected bug in
forecast.Arima()that occurred when a Box-Cox transformation was used with bootstrap=TRUE. -
accuracy()updated so that it gives more information, and returns a matrix of both test and training measures. - Corrected training error measures for
splinef()forecasts.
forecast 4.04
CRAN release: 2013-04-22
- Added ylim argument to
Acf() - Avoided clash with the signal package when using
auto.arima(). - Fixed problem in
plot.forecast()when all historical data are NA or when there is no available historical data. -
forecast.Arima()is now a little more robust if a zoo object is passed instead of a ts object. -
CV()now handles missing values in the residuals. - Fixed bug in
holt()andhw()so that the printed model no longer contains missing values.
forecast 4.03
CRAN release: 2013-03-17
-
forecast.lm()now guesses the variable name if there is only one predictor variable. - Removed error trap in
forecast.lm()when no xreg variables passed as it was catching legitimate calls.
forecast 4.02
CRAN release: 2013-03-06
- Fixed error in the prediction intervals returned by
forecast.ets()when simulation was used and a Box-Cox transformation was specified. - Fixed bug in
accuracy()when a numerical f vector was passed. - Fixed man file for Diebold-Mariano test.
- Corrected references in
nsdiffs()help page. - Added warning to nsdiffs when series too short for seasonal differencing.
- Fixed problem in getResponse.Arima when Arima object created by stats::
arima()from within a function. - Added
tbats.components()and extendedseasadj()to allow tbats objects. - Added undocumented functions for forecasting, printing and plotting output from vars::VAR.
forecast 4.01
CRAN release: 2013-01-22
- Error now trapped when newxreg variables not passed to
forecast.lm() - Corrected help file for
dshw()to remove references to prediction intervals. - Improved help file for
dm.test()to give more information about the alternative hypotheses. - Improved
dm.test()performance for small samples by using a t-distribution instead of normal. - Modified
bats()andtbats()examples to follow CRAN policies on parallel processing. - Moved some packages from Depends to Imports.
- Added
getResponse()function to return the historical time series from various time series model objects. - Modified
accuracy()to usegetResponse(). - Allowed user-generated innovations in
simulate.ets(),simulate.Arima(), etc. - Allowed xreg argument in
forecast.stl()andstlf()when ARIMA model used. - Removed reliance on caret, and associated fitted and residuals functions.
forecast 4.00
CRAN release: 2012-11-27
- More robust handling of degenerate ARIMA models.
- New defaults for shaded colors used for prediction intervals in plots.
-
auto.arima()now remembers the name of the series when a Box-Cox transformation is used. - New function
nnetar()for automatic neural network forecasting of time series. -
arfima()now tries harder to ensure the ARMA part is stationary. - ts control added for forecast of linear models in
forecast.lm(). - Fixed bug in
bats()which caused an error when use.box.cox=FALSE and use.trend=FALSE. - Added residuals and fitted methods for train and avNNet objects from caret package.
-
accuracy()can now figure out overlapping times for x and f. -
rwf()now handles missing values. - Revised
ses(),holt()andhw()so that they can optionally use traditional initialization.
forecast 3.25
CRAN release: 2012-09-11
- Fixed bug in
simulate.Arima(). - Improved handling of short seasonal time series in
auto.arima(). - Added seasonal argument to
auto.arima(). - Fixed bug in
splinef()and added gcv method for estimating smoothing parameter.
forecast 3.24 (23 July 2012
CRAN release: 2012-07-23
- Fixed bug in
auto.arima()introduced in v3.23 which meant a ARIMA(0,0,0) model was returned about half the time.
forecast 3.23
CRAN release: 2012-07-18
- Fixed bug in
arfima()which meant the drange argument was being ignored. - Extended
auto.arima()so it returns something sensible when the data are constant.
forecast 3.22
CRAN release: 2012-06-07
- Increased maximum forecast horizon for ets models from 2000 to unlimited.
- Corrected bug in
Arima(). Previously include.constant=FALSE was ignored. - Some corrections to bats and tbats.
- Modified parallel implementation in
auto.arima()for Windows.
forecast 3.21
CRAN release: 2012-04-30
- Fixed bug in
auto.arima()when lambda is non-zero and stepwise is FALSE. - Fixed bug in
auto.arima()in selecting d when D>0. - Fixed bug in
ets()when seasonal period is less than 1. - Turned off warnings in
auto.arima()andets()when seasonal period is less than 1. - Added plotting methods for bats and tbats objects.
- Changed default forecast horizons for bats and tbats objects.
- Modified bats and tbats so they now use seasonal.periods when ts and msts objects are being modelled.
forecast 3.20
CRAN release: 2012-04-02
- Fixed bugs in
forecast.lm(). - Improved handling of newdata in
forecast.lm()to provide more meaningful error messages. - Fixed bug in
dm.test()that occurred when errors were very small.
forecast 3.19
CRAN release: 2012-02-22
- Improved plotting of forecast objects from lm models
- Added MASE for lm forecasts using insample mean forecasts for scaling.
- Modified definition of MASE for seasonal time series to use seasonal
naive()insample scaling. - Modified
meanf()to allow it to be used with cross-sectional data. - Updated
accuracy()to allow it to be used with cross-sectional data, lm forecasts and lm objects.
forecast 3.18
CRAN release: 2012-02-17
- Added method for plotting non-time-series forecasts to
plot.forecast(). - Removed partial arg matching.
- Cleaned up some code, removing commented out sections, etc.
- Added robust option to
stlf(). - Added
naive()and rwdrift options tostlf()andforecast.stl(). - Improved handling of msts objects in
BoxCox.lambda() - Fixed some minor bugs in
tbats()and bats - Improved speed of
bats()andtbats().
forecast 3.17
CRAN release: 2012-02-02
- Improved
forecast.lm()so it is more likely to find the original data from an lm object. - Parallel processing now available in
auto.arima()when stepwise=FALSE - Default model selection in
auto.arima()changed to AICc rather than AIC. This may affect model selection for very short time series. - max orders in
auto.arima()now restricted to be less than 1/3 of length of data.
forecast 3.16
CRAN release: 2011-12-24
- Corrected problem with AIC computation in bats and tbats
- Fixed handling of non-seasonal data in bats
- Changed dependency to >= R 2.14.0 in order to ensure parallel package available.
forecast 3.15
CRAN release: 2011-12-22
- New functions
tbats()andforecast.tbats()for multiple seasonal time series modelling. -
bats()andtbats()use parallel processing when possible. - Minor improvements to
bats()andforecast.bats(). -
decompose()removed as the function in the stats package has now been fixed.
forecast 3.14
CRAN release: 2011-12-09
- Improved documentation for
forecast.ts() - Corrected bug in
dshw()when applied to a non-ts object. - Added error message when
dshw()applied to data containing zeros or negative values - Added checks when
dshw()applied to time series with non-nested periods. - Added msts object class for multiple seasonal time series
- Made taylor data set an msts object.
- Added
bats()function for multiple seasonal time series modelling - Added
forecast.bats()function for forecasting BATS models - Byte compiling turned on
- Depending on Rcpp and RcppArmadillo to speed some code up.
forecast 3.13
CRAN release: 2011-11-20
- Bug fix for
forecast.StructTS()due to changes in the StructTS object. The default h was being set to 0. Thanks to Tarmo Leinonen for reporting this problem. - Bug fix for
forecast.stl()where h longer than one seasonal period sometimes returned missing forecasts. Thanks to Kevin Burton for reporting this problem. -
forecast.stl()no longer allows a seasonal ETS model to be specified. Thanks to Stefano Birmani for the suggestion.
forecast 3.12
CRAN release: 2011-11-16
- Added option to control ets model in
stlf()andforecast.stl(). Thanks to Stefano Birmani for the suggestion. - Reordered arguments for
forecast.lm()andstlf()to be consistent with other forecast functions. - Modified
tslm()so that it is more likely to find the relevant data when it is not passed as an argument. - Fixed bug in
forecast.ets()which returned all zero forecasts for some models when seasonal period > 24.
forecast 3.10
CRAN release: 2011-10-27
- Added lambda argument to
naive()andsnaive(). - Fixed bug in
ets()with high frequency data. - Fixed bug in
rwf()where incorrect fitted values and residuals were sometimes returned. - Modified number of lags displayed by default in
tsdisplay().
forecast 3.09
CRAN release: 2011-10-18
- Fixed bug causing occasional problems in
simulate.Arima()when MA order greater than 2 and future=TRUE.
forecast 3.08
CRAN release: 2011-10-15
- Bug fix in
forecast.stl()which occurred when forecast horizon is less than seasonal period. - Added lambda argument to
forecast.stl().
forecast 3.07
CRAN release: 2011-10-11
- Bug fix in
ets()concerning non-seasonal models and high-frequency data. It sometimes returned all forecasts equal to zero.
forecast 3.05
CRAN release: 2011-10-03
- Fixed bug in
ets()which prevent non-seasonal models being fitted to high frequency data.
forecast 3.04
CRAN release: 2011-09-23
- Fixed bug when drift and xreg used together in
auto.arima()orArima().
forecast 3.03
CRAN release: 2011-09-02
- Bug fix in
dshw()which was using slightly incorrect seasonal estimates for the forecasts - Bug fix in
forecast.StructTS()due to change in structure of StructTS object. - Better error capture in tslm when seasonal dummies are specified for non-seasonal data.
- Re-formatted some help files to prevent viewing problems with the pdf manual.
forecast 3.00
CRAN release: 2011-08-24
- Added Box-Cox parameter as argument to
Arima(),ets(),arfima(),stlf(),rwf(),meanf(),splinef() - Added Box-Cox parameter as argument to
forecast.Arima(),forecast.ets(),forecast.fracdiff(),forecast.ar(),forecast.StructTS(),forecast.HoltWinters(). - Removed lambda argument from
plot.forecast()andaccuracy(). - Added
BoxCox.lambda()function to allow automatic choice for Box-Cox parameter using Guerrero’s method or the profile log likelihood method. - Modified BoxCox and InvBoxCox to return missing values when lambda < 0 and data < 0.
- Add
nsdiffs()function for selecting the number of seasonal differences. - Modified selection of seasonal differencing in
auto.arima(). - Better error message if seasonal factor used in
tslm()with non-seasonal data. - Added PI argument to
forecast.ets()to allow only point forecasts to be computed. - Added include.constant argument to
Arima(). - Added
subset.ts()function. - Upgraded
seasonplot()function to allow colors and to fix some bugs. - Fixed fitted values returned by
forecast.HoltWinters() - Modified
simulate.Arima()because of undocumented changes infilter()function in stats package. - Changed residuals returned by
splinef()to be ordinary residuals. The standardized residuals are now returned as standardizedresiduals. - Added
dshw()function for double-seasonal Holt-Winters method based on Taylor (2003). - Fixed further bugs in the
decompose()function that caused the results to be incorrect with odd frequencies.
forecast 2.19
CRAN release: 2011-06-04
- Added xreg information to the object returned by
auto.arima(). - Added
Acf(),Pacf(),ma()andCV()functions. - Fixed bugs in re-fitting ARIMA models to new data.
forecast 2.18 (2011-05-19)
- Fixed bug in
seasonplot()where year labels were sometimes incorrect.
forecast 2.17
CRAN release: 2011-04-06
- Modified
simulate.Arima()to handle seasonal ARIMA models. - Modified
ets()to handle missing values. The largest continuous section of data is now modelled. - Improved
plot.forecast()to handle missing values at the end of the observed series. - Added replacement
decompose()to avoid truncation of seasonal term and seasonally adjusted series. - Fixed bug in
seasadj()to handle multiplicative decomposition, and to avoid missing values at ends.
forecast 2.15
CRAN release: 2011-03-05
- Added
fourier(),fourierf(), tslm - Improved
forecast.lm()to allow trend and seasonal terms.
forecast 2.14
CRAN release: 2011-03-04
- Added
forecast.lm() - Modified
accuracy()andprint.forecast()to allow non time series forecasts. - Fixed visibility of
stlf().
forecast 2.13
CRAN release: 2011-02-16
- Fixed bug in
accuracy()when only 1 forecast is specified. - Added
forecast.stl()andstlf()functions - Modified
forecast.ts()to usestlf()if frequency > 12. - Made
BoxCox()andInvBoxCox()robust to negative values - Fixed bug in
simulate.Arima()when future=TRUE. There was a bias in the sample paths.
forecast 2.12
CRAN release: 2011-01-19
- Added
naive()andsnaive()functions. - Improved handling of seasonal data with frequency < 1.
- Added lambda argument to
accuracy().
forecast 2.11
CRAN release: 2010-11-04
- If MLE in
arfima()fails (usually because the series is non-stationary), the LS estimate is now returned.
forecast 2.09
CRAN release: 2010-10-15
- Fixed bug in
forecast.fracdiff()which caused an error when h=1. - Added shadebars to
plot.forecast(). - Fixed bug in
plot.forecast()to allow plotting when h=1.
forecast 2.08
CRAN release: 2010-09-22
- Added pp test option for
auto.arima()andndiffs(). - Fixed bug in
simulate.ets()which was causing problems when forecasting from some ETS models including ETS(M,M,N).
forecast 2.07
CRAN release: 2010-09-09
- Fixed bug in
simulate.Arima(). Previous sample paths when d=2 and future=TRUE were incorrect. - Changed way color is implemented in
plot.forecast()to avoid colour changes when the graphics window is refreshed.
forecast 2.06
CRAN release: 2010-07-29
- Added MLE option for
arfima(). - Added
simulate.Arima(),simulate.ar()andsimulate.fracdiff()
forecast 2.05
CRAN release: 2010-05-11
- Added
arfima()and a forecast method to handle ARFIMA models fromarfima()andfracdiff(). - Added residuals and fitted methods for fracdiff objects.
forecast 2.03
CRAN release: 2009-12-24
- Added an option to
auto.arima()to allow drift terms to be excluded from the models considered.
forecast 2.02
CRAN release: 2009-12-23
- Fixed bug in
auto.arima()that occurred when there was an xreg but no drift, approximation=TRUE and stepwise=FALSE.
forecast 1.26 (29 August 2009)
- Added
as.data.frame.forecast(). This allowswrite.table()to work for forecast objects.
forecast 1.25 (22 July 2009)
- Added argument to
auto.arima()andndiffs()to allow the ADF test to be used instead of the KPSS test in selecting the number of differences. - Added argument to
plot.forecast()to allow different colors and line types when plotting prediction intervals. - Modified
forecast.ts()to give sensible results with a time series containing fewer than four observations.
forecast 1.24 (9 April 2009)
- Fixed bug in
dm.test()to avoid errors when there are missing values in the residuals. - More informative error messages when
auto.arima()fails to find a suitable model.
forecast 1.23 (22 February 2009)
- Fixed bugs that meant xreg terms in
auto.arima()sometimes caused errors when stepwise=FALSE.
forecast 1.22 (30 January 2009)
- Fixed bug that meant regressor variables could not be used with seasonal time series in
auto.arima().
forecast 1.20 (14 December 2008)
- Updated
auto.arima()to allow regression variables. - Fixed a bug in
print.Arima()which caused problems when the data were inside a data.frame. - In
forecast.Arima(), argument h is now set to the length of the xreg argument if it is not null.
forecast 1.19 (7 November 2008)
- Updated
Arima()to allow regression variables when refitting an existing model to new data.
forecast 1.18 (6 November 2008)
- Bug fix in
ets(): models with frequency less than 1 would cause R to hang. - Bug fix in
ets(): models with frequency greater than 12 would not fit due to parameters being out of range. - Default lower and upper bounds on parameters alpha, beta and gamma in
ets()changed to 0.0001 and 0.9999 (instead of 0.01 and 0.99).
forecast 1.17 (10 October 2008)
- Calculation of BIC did not account for reduction in length of series due to differencing. Now fixed in
auto.arima()and inprint.Arima(). -
tsdiag()now works with ets objects.
forecast 1.16 (29 September 2008)
- Another bug fix in
auto.arima(). Occasionally the root checking would cause an error. The condition is now trapped.
forecast 1.15 (16 September 2008)
- Bug fix in
auto.arima(). The series wasn’t always being stored as part of the return object when stepwise=FALSE.
forecast 1.14 (1 August 2008)
- The time series stored in M3 in the Mcomp package did not contain all the components listed in the help file. This problem has now been fixed.
forecast 1.13 (16 June 2008)
- Bug in
plot.ets()fixed so that plots of non-seasonal models for seasonal data now work. - Warning added to
ets()if the time series contains very large numbers (which can cause numerical problems). Anything up to 1,000,000 should be ok, but any larger and it is best to scale the series first. - Fixed problem in
forecast.HoltWinters()where the lower and upper limits were interchanged.
forecast 1.12 (22 April 2008)
- Objects are now coerced to class ts in
ets(). This allows it to work with zoo objects. - A new function
dm.test()has been added. This implements the Diebold-Mariano test for predictive accuracy. - Yet more bug-fixes for
auto.arima().
forecast 1.11 (8 February 2008)
- Modifications to
auto.arima()in the case where ML estimation does not work for the chosen model. Previously this would return no model. Now it returns the model estimated using CSS. - AIC values reported in
auto.arima()when trace=TRUE and approximation=TRUE are now comparable to the final AIC values. - Addition of the expsmooth package.
forecast 1.10 (21 January 2008)
- Fixed bug in
seasadj()so it allows multiple seasonality - Fixed another bug in
print.Arima() - Bug fixes in
auto.arima(). It was sometimes returning a non-optimal model, and occasionally no model at all. Also, additional stationarity and invertibility testing is now done.
forecast 1.09 (11 December 2007)
- A new argument ‘restrict’ has been added to
ets()with default TRUE. If set to FALSE, then the unstable ETS models are also allowed. - A bug in the
print.Arima()function was fixed.
forecast 1.08 (21 November 2007)
- AICc and BIC corrected. Previously I had not taken account of the sigma^2 parameter when computing the number of parameters.
-
arima()function changed toArima()to avoid the clash with thearima()function in the stats package. -
auto.arima()now uses an approximation to the likelihood when selecting a model if the series is more than 100 observations or the seasonal period is greater than 12. This behaviour can be over-ridden via the approximation argument. - A new function
plot.ets()provides a decomposition plot of an ETS model. -
predict()is now an alias forforecast()wherever there is not an existingpredict()method. - The argument conf has been changed to level in all forecasting methods to be consistent with other R functions.
- The functions
gof()andforecasterrors()have been replaced byaccuracy()which handles in-sample and out-of-sample forecast accuracy. - The initialization method used for a non-seasonal ETS model applied to seasonal data was changed slightly.
- The following methods for ets objects were added: summary, coef and logLik.
- The following methods for Arima objects were added: summary.
forecast 1.07 (25 July 2007)
- Bug fix in summary of in-sample errors. For ets models with multiplicative errors, the reported in-sample values of MSE, MAPE, MASE, etc., in
summary()andgof()were incorrect. - ARIMA models with frequency greater than 49 now allowed. But there is no unit-root testing if the frequency is 50 or more, so be careful!
- Improvements in documentation.
forecast 1.06 (15 June 2007)
- Bug fix in
auto.arima(). It would not always respect the stated values of max.p, max.q, max.P and max.Q. - The tseries package is now installed automatically along with the forecasting bundle, whereas previously it was only suggested.
forecast 1.05 (28 May 2007)
- Introduced
auto.arima()to provide a stepwise approach to ARIMA modelling. This is much faster than the oldbest.arima(). - The old grid-search method used by
best.arima()is still available by using stepwise=FALSE when callingauto.arima(). - Automated choice of seasonal differences introduced in
auto.arima(). - Some small changes to the starting values of ets models.
- Fixed a bug in applying
ets()to new data using a previously fitted model.
forecast 1.02 (12 October 2006)
- Added AICc option to
ets()andbest.arima(). - Corrected bug in calculation of fitted values in ets models with multiplicative errors.
forecast 1.01 (25 September 2006)
- Modified
ndiffs()so that the maximum number of differences allowed is 2.
forecast 0.99991 (2 August 2006)
- More bug fixes.
ets()now converges to a good model more often.
forecast 0.9999 (1 August 2006)
- Mostly bug fixes.
- A few data sets have been moved from fma to forecast as they are not used in my book.
-
ets()is now considerably slower but gives better results. Full optimization is now the only option (which is what slows it down). I had too many problems with poor models when partial optimization was used. I’ll work on speeding it up sometime, but this is not a high priority. It is fast enough for most use. If you really need to forecast 1000 series, run it overnight. - In
ets(), I’ve experimented with new starting conditions for optimization and it seems to be fairly robust now. - Multiplicative error models can no longer be applied to series containing zeros or negative values. However, the forecasts from these models are not constrained to be positive.
forecast 0.999 (27 July 2006)
- The package has been turned into three packages forming a bundle. The functions and a few datasets are still in the forecast package. The data from Makridakis, Wheelwright and Hyndman (1998) is now in the fma package. The M-competition data is now in the Mcomp package. Both fma and Mcomp automatically load forecast.
- This is the first version available on all operating systems (not just Windows).
-
pegels()has been replaced byets().ets()only fits the model; it doesn’t produce forecasts. To get forecasts, apply the forecast function to the ets object. -
ets()has been completely rewritten which makes it slower, but much easier to maintain. Different boundary conditions are used and a different optimizer is used, so don’t expect the results to be identical to what was done by the oldpegels()function. To get something like the results from the oldpegels()function, useforecast()onets(). -
simulate.ets()added to simulate from an ets model. - Changed name of cars to auto to avoid clash with the cars data in the datasets package.
- arima2 functionality is now handled by
arima()and pegels2 functionality is now handled byets(). -
best.arima()now allows the option of BIC to be used for model selection. - Croston’s method added in function
croston(). -
ts.display()renamed astsdisplay() -
mean.f()changed tomeanf(),theta.f()changed tothetaf(),rw.f()changed torwf(),seasonaldummy.f()toseasonaldummyf(),sindex.f()tosindexf(), andspline.f()tosplinef(). These changes are to avoid potential problems if anyone introduces an ‘f’ class.
forecast 0.993 (20 July 2004)
- Added forecast function for structural time series models obtained using
StructTS(). - Changed default parameter space for
pegels()to force admissibility. - Added option to
pegels()to allow restriction to models with finite forecast variance. This restriction is imposed by default. - Fixed bug in
arima.errors(). Changes made toarima()meantarima.errors()was often returning an error message. - Added a namespace to the package making fewer functions visible to the user.
forecast 0.99 (21 May 2004)
- Added automatic selection of order of differencing for
best.arima(). - Added possibility of linear trend in arima models.
- In
pegels(), option added to allow parameters of an exponential smoothing model to be in the ‘admissible’ (or invertible) region rather than within the usual (0,1) region. - Fixed some bugs in
pegels(). - Included all M1 and M3 data and some functions to subset and plot them.
- Note: This package will only work in R1.9 or later.
forecast 0.98 (23 August 2003)
- Added facilities in
pegels(). o It is now possible to specify particular values of the smoothing parameters rather than always use the optimized values. If none are specified, the optimal values are still estimated as before. o It is also possible to specify upper and lower bounds for each parameter separately. - New function:
theta.f(). This implements the Theta method which did very well in the M3 competition. - A few minor problems with
pegels()fixed and a bug inforecast.plot()that meant it didn’t work when the series contained missing values.
forecast 0.972 (11 July 2003)
- Small bug fix:
pegels()did not return correct model when model was partially specified.
forecast 0.971 (10 July 2003)
- Minor fixes to make sure the package will work with R v1.6.x. No changes to functionality.
forecast 0.97 (9 July 2003)
- Fully automatic forecasting based on the state space approach to exponential smoothing has now been added. For technical details, see Hyndman, Koehler, Snyder and Grose (2002).
- Local linear forecasting using cubic smoothing splines added. For technical details, see Hyndman, King, Pitrun and Billah (2002).
forecast 0.96 (15 May 2003)
- Many functions rewritten to make use of methods and classes. Consequently several functions have had their names changed and many arguments have been altered. Please see the help files for details.
- Added functions
forecast.Arima()andforecat.ar() - Added functions
gof()andseasadj() - Fixed bug in
plot.forecast(). The starting date for the plot was sometimes incorrect. - Added residuals components to
rw.f()andmean.f(). - Made several changes to ensure compatibility with Rv1.7.0.
- Removed a work-around to fix a bug in
monthplot()command present in R v<=1.6.2. - Fixed the motel data set (columns were swapped)
