forecast 9.0.1
- Performance improvements for ARFIMA model search
forecast.mlm() now finds newdata when
passed as an argument from another function (#880)
residuals.tslm() now allows
type = "working" as per CRAN request
- Code modernization and performance improvements
forecast 9.0.0
ets() now allows missing values in the time series
(#952)
- Added
mean_model() and
forecast.mean_model()
- Added
rw_model() and forecast.rw_model()
(m-muecke, #969)
- Added
spline_model() and
forecast.spline_model() (#1013)
- Added
theta_model() and
forecast.theta_model() (#1014)
- Added
croston_model() and
forecast.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
remove accuracy.default() (#912)
- Bug fixes and performance improvements
- Documentation improvements
forecast 8.24.0
- Documentation improvements
- Bug fixes
forecast 8.23.0
- Prevented RNG state changing when the package is attached (#954,
#955).
head.ts() and tail.ts() only defined for R
< 4.5.0 due to new base R functions.
forecast 8.22.0
hfitted() now much faster for ARIMA models (danigiro,
#949)
hfitted() now much faster for ETS models, and produces
fitted values from initial states (#950)
forecast 8.21.1
nnetar() now allows p or P to be 0
- Bug fixes and improved docs
forecast 8.21
- Fixed df calculation for Ljung-Box tests in
checkresiduals()
- Fixed some broken tests
forecast 8.20
- Improvements to unit tests, and migrate to testthat 3e
- Prevent failure in C23 mode
forecast 8.19
forecast 8.18
- Updated RW forecasts to use an unbiased estimate of sigma2
- Bug fixes
forecast 8.17.0
- Updated
dm.test() to add alternative variance
estimators. (#898)
- Added
simulate.tbats() for simulating from TBATS
models.
- Added dependency on generics for
accuracy() and
forecast() (#902)
- Bug fixes
forecast 8.16
- Fixed
tslm() incorrectly applying Box-Cox
transformations when an mts is provided to the
data argument (#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.15
- Changed
summary() methods to defer console output until
print()
- Changed default
s.window values for
mstl(), stlf() and stlm(). The
new defaults are based on extensive empirical testing.
forecast 8.14
- 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
xreg in tsCV().
forecast 8.13
- 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 for tslm() models
containing NA values.
forecast 8.12
- Fixed bias adjusted forecast mean for ARIMA forecasts.
- Improved naming of
accuracy() generic formals.
- Fix seasonal periods for
taylor dataset.
forecast 8.11
- The axis for
gglagplot() have been reversed for
consistency with stats::lag.plot().
forecast 8.10
- Updates to remove new CRAN errors
- Bug fixes
forecast 8.9
- Updates for CRAN policies on Suggests packages
- Bug fixes
forecast 8.8
- Updates for compatibility with fable
- Bug fixes
forecast 8.7
- Documentation improvements
- Bug fixes
forecast 8.6
- 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
- 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.4
- Added
modelAR(), generalising nnetar() to
support user-defined functions
- Added na.action argument to
ets()
- Documentation improvements
- Bug fixes
forecast 8.3
- Added
mstl() to handle multiple seasonal
decomposition
stlf(), stlm(), tsoutliers()
and tsclean() all now use mstl().
- 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
- Added pkgdown site
- Added rolling window option to
tsCV()
- Improved robustness to short time series and missing values
- Bug fixes
forecast 8.1
- Added
as.character.ets(),
as.character.bats(), as.character.tbats()
- Made
gghistogram() and checkresiduals()
robust to missing values
- All documentation now generated using roxygen
- Improved documentation for many functions
- Added
autoplot.msts() and
autolayer.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
- Added tips to start up message
- Added pipe operator
- Added
tsCV() and CVar() functions
- Added baggedETS
- Added
head.ts() and tail.ts(), so head and
tail now work properly on ts objects.
- Added
gghistogram() and
checkresiduals()
- 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() and stlm()
- 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
- Added prediction intervals and simulation for
nnetar().
- Documentation improvement
- Bug fixes
forecast 7.2
- 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() and auto.arima() now allow any
argument to be passed to stats::arima().
- Bug fixes and speed improvements
forecast 7.1
- 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
- Added ggplot2 graphics
- Bias adjustment option added for all functions that allow Box-Cox
transformations
- Added
Ccf() function, and rewrote Acf() 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
- 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.1
- Made
auto.arima() more robust
forecast 6.0
- 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() and
forecast.Arima().
- Added
plot.Arima() and plot.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() and forecast.ts().
- Simplified arguments in
stlf().
- Added taperedacf and taperedpacf functions
- Added functions for bootstrapping time series
forecast 5.9
- 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() and predict.Arima()
and added print.ARIMA()
- method argument now passed when re-fitting an ARIMA model.
- Fixed error when CH test applied to short series
forecast 5.8
- Fixed bug in versions of R before 3.10 when using fourier and
fourierf.
- Made
BoxCox.lambda() robust to missing values.
forecast 5.7
- Fixed bug in tbats/bats where optional arguments were not being
passed to
auto.arima().
- Revised
fourier() and fourierf() to avoid
large orders, and to avoid zero columns.
- Improved accuracy of
fourier() and
fourierf(), 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 in tsdisplay().
forecast 5.6
- 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
- Improved documentation for croston
- Added
stlm() and forecast.stlm()
functions, and added forecastfunction argument as a way of specifying a
forecast method in stlf() and
forecast.stl().
- Improved
forecast.ar() so that it is more likely to
work if ar() and forecast.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() and fourierf() to work
with msts object.
- Added a new argument find.frequency to
forecast.ts().
- Added new arguments d and D to
accuracy() for
MASE.
- 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
- Fixed bug in
forecast.tbats() and
forecast.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
- 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
- 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
- Fixed bug in
tsoutliers() and tsclean()
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
- Added argument model to
dshw().
- Added
bizdays() and easter() for calendar
variables.
- Added arguments max.D and max.d to
auto.arima(),
ndiffs() and nsdiffs().
- 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() and tsclean() for
identifying and replacing outliers
- Improved
na.interp() to handle seasonality and added
argument lambda to na.interp()
- Added robust option to
forecast.ts() to allow outliers
and missing values
- Improved output from
snaive() and naive()
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.8
- Fixed bug in
rwf() that was introduced in v4.7
forecast 4.7
- 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() and tbats() now handle missing
values in the same way as ets(). 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
accuracy() was returning a mape and mpe 100 times too
large for in-sample errors.
forecast 4.05
- Fixed bug in
hw() so it works when
initial=“simple”
- Allowed
bats() and tbats() to take
non-positive values.
ets() now calls optim direct via c code making
ets() 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
- 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() and hw() so that the
printed model no longer contains missing values.
forecast 4.03
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
- 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 extended
seasadj() to allow tbats objects.
- Added undocumented functions for forecasting, printing and plotting
output from vars::VAR.
forecast 4.01
- 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() and tbats() 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 use
getResponse().
- Allowed user-generated innovations in
simulate.ets(),
simulate.Arima(), etc.
- Allowed xreg argument in
forecast.stl() and
stlf() when ARIMA model used.
- Removed reliance on caret, and associated fitted and residuals
functions.
forecast 4.00
- 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() and
hw() so that they can optionally use traditional
initialization.
forecast 3.25
- 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
- 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
- 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
- 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
- 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() and
ets() 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
- 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
- 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
- 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 to
stlf() and forecast.stl().
- Improved handling of msts objects in
BoxCox.lambda()
- Fixed some minor bugs in
tbats() and bats
- Improved speed of
bats() and tbats().
forecast 3.17
- 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
- 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
- New functions
tbats() and forecast.tbats()
for multiple seasonal time series modelling.
bats() and tbats() use parallel processing
when possible.
- Minor improvements to
bats() and
forecast.bats().
decompose() removed as the function in the stats
package has now been fixed.
forecast 3.14
- 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
- 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
- Added option to control ets model in
stlf() and
forecast.stl(). Thanks to Stefano Birmani for the
suggestion.
- Reordered arguments for
forecast.lm() and
stlf() 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.11
- Fixed bug in
dshw() when smallest period is odd
forecast 3.10
- Added lambda argument to
naive() and
snaive().
- 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
- Fixed bug causing occasional problems in
simulate.Arima() when MA order greater than 2 and
future=TRUE.
forecast 3.08
- Bug fix in
forecast.stl() which occurred when forecast
horizon is less than seasonal period.
- Added lambda argument to
forecast.stl().
forecast 3.07
- Bug fix in
ets() concerning non-seasonal models and
high-frequency data. It sometimes returned all forecasts equal to
zero.
forecast 3.06
- Switched to useDynLib in preparation for Rv2.14.0.
forecast 3.05
- Fixed bug in
ets() which prevent non-seasonal models
being fitted to high frequency data.
forecast 3.04
- Fixed bug when drift and xreg used together in
auto.arima() or Arima().
forecast 3.03
- 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.02
forecast 3.00
- 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() and
accuracy().
- 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 in filter() 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
- Added xreg information to the object returned by
auto.arima().
- Added
Acf(), Pacf(), ma() and
CV() 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
- 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.16
- Changed the way missing values are handled in tslm
forecast 2.15
- Added
fourier(), fourierf(), tslm
- Improved
forecast.lm() to allow trend and seasonal
terms.
forecast 2.14
- Added
forecast.lm()
- Modified
accuracy() and print.forecast()
to allow non time series forecasts.
- Fixed visibility of
stlf().
forecast 2.13
- Fixed bug in
accuracy() when only 1 forecast is
specified.
- Added
forecast.stl() and stlf()
functions
- Modified
forecast.ts() to use stlf() if
frequency > 12.
- Made
BoxCox() and InvBoxCox() robust to
negative values
- Fixed bug in
simulate.Arima() when future=TRUE. There
was a bias in the sample paths.
forecast 2.12
- Added
naive() and snaive() functions.
- Improved handling of seasonal data with frequency < 1.
- Added lambda argument to
accuracy().
forecast 2.11
- If MLE in
arfima() fails (usually because the series is
non-stationary), the LS estimate is now returned.
forecast 2.10
- Fixed bug in
arfima() where the MA parameters were of
the wrong sign if estim=“mle” chosen.
arfima() now allowed to have a sequence of missing
values at the start of the series and end of the series
forecast 2.09
- 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
- Added pp test option for
auto.arima() and
ndiffs().
- Fixed bug in
simulate.ets() which was causing problems
when forecasting from some ETS models including ETS(M,M,N).
forecast 2.07
- 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
- Added MLE option for
arfima().
- Added
simulate.Arima(), simulate.ar() and
simulate.fracdiff()
forecast 2.05
- Added
arfima() and a forecast method to handle ARFIMA
models from arfima() and fracdiff().
- Added residuals and fitted methods for fracdiff objects.
forecast 2.04
- Fixed bug in
auto.arima() that occurred rarely.
forecast 2.03
- Added an option to
auto.arima() to allow drift terms to
be excluded from the models considered.
forecast 2.02
- Fixed bug in
auto.arima() that occurred when there was
an xreg but no drift, approximation=TRUE and stepwise=FALSE.
forecast 2.01
- Fixed bug in time index of
croston() output.
- Added further explanation about models to
croston()
help file.
forecast 2.00
- Package removed from forecasting bundle
forecast 1.26 (29 August
2009)
- Added
as.data.frame.forecast(). This allows
write.table() to work for forecast objects.
forecast 1.25 (22 July 2009)
- Added argument to
auto.arima() and
ndiffs() 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.21 (16 December
2008)
- Fixed bugs introduced in v1.20.
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 in
print.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 to Arima() to
avoid the clash with the arima() 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 for forecast()
wherever there is not an existing predict() method.
- The argument conf has been changed to level in all forecasting
methods to be consistent with other R functions.
- The functions
gof() and forecasterrors()
have been replaced by accuracy() 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() and gof() 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 old
best.arima().
- The old grid-search method used by
best.arima() is
still available by using stepwise=FALSE when calling
auto.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.04 (30 January
2007)
- Added include.drift to
arima()
- Fixed bug in seasonal forecasting with
ets()
forecast 1.03 (20 October
2006)
- Fixed some DOS line feed problems that were bothering unix
users.
forecast 1.02 (12 October
2006)
- Added AICc option to
ets() and
best.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 1.0 (31 August 2006)
- Added MASE to
gof().
croston() now returns fitted values and residuals.
arima() no longer allows linear trend + ARMA errors by
default. Also, drift in non-stationary models can be turned off.
- This version is the first to be uploaded to CRAN.
forecast 0.99992 (8 August
2006)
- Corrections to help files. No changes to functionality.
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 by ets().
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 old pegels() function.
To get something like the results from the old pegels()
function, use forecast() on ets().
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 by ets().
best.arima() now allows the option of BIC to be used
for model selection.
- Croston’s method added in function
croston().
ts.display() renamed as tsdisplay()
mean.f() changed to meanf(),
theta.f() changed to thetaf(),
rw.f() changed to rwf(),
seasonaldummy.f() to seasonaldummyf(),
sindex.f() to sindexf(), and
spline.f() to splinef(). These changes are to
avoid potential problems if anyone introduces an ‘f’ class.
forecast 0.994 (4 October
2004)
- Fixed bug in
arima() which caused
predict() to sometimes fail when there was no xreg
term.
- More bug fixes in handling regression terms in arima models.
- New
print.Arima() function for more informative
output.
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 to
arima() meant arima.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 in
forecast.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() and
forecat.ar()
- Added functions
gof() and seasadj()
- Fixed bug in
plot.forecast(). The starting date for the
plot was sometimes incorrect.
- Added residuals components to
rw.f() and
mean.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)