The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
forecast.mlm() now finds newdata when
passed as an argument from another function (#880)residuals.tslm() now allows
type = "working" as per CRAN requestets() now allows missing values in the time series
(#952)mean_model() and
forecast.mean_model()rw_model() and forecast.rw_model()
(m-muecke, #969)spline_model() and
forecast.spline_model() (#1013)theta_model() and
forecast.theta_model() (#1014)croston_model() and
forecast.croston_model() (#1015)nnetar() (m-muecke,
#346)accuracy() rewritten to use S3 methods for models and
remove accuracy.default() (#912)head.ts() and tail.ts() only defined for R
< 4.5.0 due to new base R functions.hfitted() now much faster for ARIMA models (danigiro,
#949)hfitted() now much faster for ETS models, and produces
fitted values from initial states (#950)nnetar() now allows p or P to be 0checkresiduals()dm.test() to add alternative variance
estimators. (#898)simulate.tbats() for simulating from TBATS
models.accuracy() and
forecast() (#902)tslm() incorrectly applying Box-Cox
transformations when an mts is provided to the
data argument (#886).auto.arima() applied to series with 2m
observations or fewer.ggAcf() (#896).simulate.Arima() (#818)summary() methods to defer console output until
print()s.window values for
mstl(), stlf() and stlm(). The
new defaults are based on extensive empirical testing.BoxCox(lambda = "auto") lower bound to
-0.9.autoplot.seas() for non-seasonal
decomposition.auto.arima(parallel = TRUE) (#874).xreg in tsCV().Arima() with drift with initial
NAs.gglagplot() to match y-axis
(original data).autoplot()summary() erroring for tslm() models
containing NA values.accuracy() generic formals.taylor dataset.gglagplot() have been reversed for
consistency with stats::lag.plot().autolayer() and geom_forecasttsCV() to handle exogenous regressorsnaive(),
snaive(), rwf()) for speed improvementsauto.arima()
unit root testsauto.arima() stepwise search algorithmmodelAR(), generalising nnetar() to
support user-defined functionsets()mstl() to handle multiple seasonal
decompositionstlf(), stlm(), tsoutliers()
and tsclean() all now use mstl().tsCV() to handle multiple horizonsndiffs() to use urca
packageocsb.test()auto.arima() to a
measure of seasonal strength.baggedModel() function to generalize
baggedETStsCV()as.character.ets(),
as.character.bats(), as.character.tbats()gghistogram() and checkresiduals()
robust to missing valuesautoplot.msts() and
autolayer.msts()as.ts.forecast()tsCV() and CVar() functionshead.ts() and tail.ts(), so head and
tail now work properly on ts objects.gghistogram() and
checkresiduals()ggseasonplot() with polar coordinatesgglagplot()autolayer.ts()residuals() for different types
of residualsautoplot.StructTS()as.data.frame.mforecast()autoplot() functions now exportedarfima() and stlm()print.ARIMA() has better labelling of constantsnnetar().autoplot.mts()ets() now works for tiny time seriesfitted() function.thetaf()auto.arima()seasadj() now an S3 methodArima() and auto.arima() now allow any
argument to be passed to stats::arima().auto.arima() where the Box-Cox
transformation was sometimes applied twicetslm() to avoid some problems finding
datannetar() updated to allow subsetsets()Ccf() function, and rewrote Acf() to
handle multivariate series.tslm() completely rewritten to be more robust and to
handle fourier terms more easilysubset.ts() more robust, and captures some errors.nnetar()ets() when very short seasonal series were
passed in a data frame.nnetar() where the initial predictor
vector was reversed.nnetar().accuracy() when non-integer seasonality
used.auto.arima() robust to non-integer
seasonality.auto.arima() where allowmean was ignored
when stepwise=FALSE.forecast.ets() for explosive
models with multiplicative trends.ets() to 30.tsoutliers() more robust to weak seasonalitytsoutliers() to use supsmu on non-seasonal and
seasonally adjusted data.tbats() when seasonal period 1 is a small
multiple of seasonal period 2.auto.arima() more robustdm.test() to give error when variance is
zerosplinef().accuracy() which occurred with Arima and
ets objects.arima.errors() to handle Box-Cox transformed
models.auto.arima() to be stricter on
near-unit-roots.auto.arima().Arima() and
forecast.Arima().plot.Arima() and plot.ar()
functions.ets().stlf(),
stlm() and forecast.ts().stlf().accuracy() function.accuracy() when test set is a
single observation.Acf() to give better handling of horizontal
axis for seasonal data or when … is passed.print.Arima() and predict.Arima()
and added print.ARIMA()BoxCox.lambda() robust to missing values.auto.arima().fourier() and fourierf() to avoid
large orders, and to avoid zero columns.fourier() and
fourierf(), while simplifying the code.simulate.Arima() for models
involving xreg.simulate.Arima() for
non-stationary models by conditioning on first observation.findfrequency() function.forecast.stl().auto.arima().abs() in two places in C code.Acf() and fixed na.action
argument in tsdisplay().nsdiffs() handling of degenerate series (e.g.,
all zeros).forecast.ar() when function buried within
other functions.na.interp() with seasonal data having
frequency <= 5.stlm() and forecast.stlm()
functions, and added forecastfunction argument as a way of specifying a
forecast method in stlf() and
forecast.stl().forecast.ar() so that it is more likely to
work if ar() and forecast.ar() are embedded
within other functions.fourier() and fourierf() to work
with msts object.forecast.ts().accuracy() for
MASE.accuracy().auto.arima().tbats.components() when there are no
seasonal components.forecast.tbats() and
forecast.bats() when ts.frequency does not match
seasonal.periods.getResponse.lm() when there’s a logged
dependent variable.ets() to avoid problems when data contains
large numbers.ets() to produce forecasts when the data are
constant.arima.errors() to find xreg more often, and to
return an error if it can’t be found.zzhw() which reversed the sign of the
residuals.CV() to specify it is only
leave-one-out.guer.cv() to allow non-integer periods without
warning.ets().arimaorder() function.suppressWarnings() throughout.bats() from examples that are
run.tsoutliers() and tsclean()
with very short seasonal series.Arima() when seasonal order is specified
numerically instead of via a list.arima.errors()auto.arima()easter()
and link to Rcpp >= 0.11.0.dshw().bizdays() and easter() for calendar
variables.auto.arima(),
ndiffs() and nsdiffs().CV().nnetar() equal to 1.tsoutliers() and tsclean() for
identifying and replacing outliersna.interp() to handle seasonality and added
argument lambda to na.interp()forecast.ts() to allow outliers
and missing valuessnaive() and naive()
to better reflect user expectationsAcf() to handle missing values by using
na.contiguousets() to
AICc.Arima() when d+D>1.forecast.Arima()rwf() that was introduced in v4.7forecast.forecast() to simply return the object
that is passed.rwf()meanf() for
time series databats() and tbats() now handle missing
values in the same way as ets(). i.e., using longest
contiguous portion.ets() modified for very short time
series (less than 3 years).forecast.varest() so residuals and fitted
values computed correctly.accuracy() calculation for VAR modelssimulate.fracdiff() when future=TRUE.
Sometimes the future argument was being ignored.accuracy() was returning a mape and mpe 100 times too
large for in-sample errors.hw() so it works when
initial=“simple”bats() and tbats() to take
non-positive values.ets() now calls optim direct via c code making
ets() run much faster.ets(). Not
documented.forecast.lm() so it is more likely that the
original data are stored in the returned object.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.splinef()
forecasts.Acf()auto.arima().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.holt() and hw() so that the
printed model no longer contains missing values.forecast.lm() now guesses the variable name if there is
only one predictor variable.forecast.lm() when no xreg
variables passed as it was catching legitimate calls.forecast.ets() when simulation was used and a Box-Cox
transformation was specified.accuracy() when a numerical f vector was
passed.nsdiffs() help page.arima() from within a function.tbats.components() and extended
seasadj() to allow tbats objects.forecast.lm()dshw() to remove references to
prediction intervals.dm.test() to give more
information about the alternative hypotheses.dm.test() performance for small samples by
using a t-distribution instead of normal.bats() and tbats() examples to
follow CRAN policies on parallel processing.getResponse() function to return the historical
time series from various time series model objects.accuracy() to use
getResponse().simulate.ets(),
simulate.Arima(), etc.forecast.stl() and
stlf() when ARIMA model used.auto.arima() now remembers the name of the series when
a Box-Cox transformation is used.nnetar() for automatic neural network
forecasting of time series.arfima() now tries harder to ensure the ARMA part is
stationary.forecast.lm().bats() which caused an error when
use.box.cox=FALSE and use.trend=FALSE.accuracy() can now figure out overlapping times for x
and f.rwf() now handles missing values.ses(), holt() and
hw() so that they can optionally use traditional
initialization.simulate.Arima().auto.arima().auto.arima().splinef() and added gcv method for
estimating smoothing parameter.auto.arima() introduced in v3.23 which
meant a ARIMA(0,0,0) model was returned about half the time.arfima() which meant the drange argument
was being ignored.auto.arima() so it returns something sensible
when the data are constant.Arima(). Previously
include.constant=FALSE was ignored.auto.arima() for
Windows.auto.arima() when lambda is non-zero and
stepwise is FALSE.auto.arima() in selecting d when
D>0.ets() when seasonal period is less than
1.auto.arima() and
ets() when seasonal period is less than 1.forecast.lm().forecast.lm() to
provide more meaningful error messages.dm.test() that occurred when errors were
very small.naive() insample scaling.meanf() to allow it to be used with
cross-sectional data.accuracy() to allow it to be used with
cross-sectional data, lm forecasts and lm objects.plot.forecast().stlf().naive() and rwdrift options to
stlf() and forecast.stl().BoxCox.lambda()tbats() and batsbats() and tbats().forecast.lm() so it is more likely to find the
original data from an lm object.auto.arima() when
stepwise=FALSEauto.arima() changed to AICc
rather than AIC. This may affect model selection for very short time
series.auto.arima() now restricted to be less
than 1/3 of length of data.tbats() and forecast.tbats()
for multiple seasonal time series modelling.bats() and tbats() use parallel processing
when possible.bats() and
forecast.bats().decompose() removed as the function in the stats
package has now been fixed.forecast.ts()dshw() when applied to a non-ts
object.dshw() applied to data
containing zeros or negative valuesdshw() applied to time series with
non-nested periods.bats() function for multiple seasonal time series
modellingforecast.bats() function for forecasting BATS
modelsforecast.StructTS() due to changes in the
StructTS object. The default h was being set to 0. Thanks to Tarmo
Leinonen for reporting this problem.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.stlf() and
forecast.stl(). Thanks to Stefano Birmani for the
suggestion.forecast.lm() and
stlf() to be consistent with other forecast functions.tslm() so that it is more likely to find the
relevant data when it is not passed as an argument.forecast.ets() which returned all zero
forecasts for some models when seasonal period > 24.dshw() when smallest period is oddnaive() and
snaive().ets() with high frequency data.rwf() where incorrect fitted values and
residuals were sometimes returned.tsdisplay().simulate.Arima() when MA order greater than 2 and
future=TRUE.forecast.stl() which occurred when forecast
horizon is less than seasonal period.forecast.stl().ets() concerning non-seasonal models and
high-frequency data. It sometimes returned all forecasts equal to
zero.ets() which prevent non-seasonal models
being fitted to high frequency data.auto.arima() or Arima().dshw() which was using slightly incorrect
seasonal estimates for the forecastsforecast.StructTS() due to change in
structure of StructTS object.Arima(),
ets(), arfima(), stlf(),
rwf(), meanf(), splinef()forecast.Arima(), forecast.ets(),
forecast.fracdiff(), forecast.ar(),
forecast.StructTS(),
forecast.HoltWinters().plot.forecast() and
accuracy().BoxCox.lambda() function to allow automatic
choice for Box-Cox parameter using Guerrero’s method or the profile log
likelihood method.nsdiffs() function for selecting the number of
seasonal differences.auto.arima().tslm()
with non-seasonal data.forecast.ets() to allow only point
forecasts to be computed.Arima().subset.ts() function.seasonplot() function to allow colors and to
fix some bugs.forecast.HoltWinters()simulate.Arima() because of undocumented
changes in filter() function in stats package.splinef() to be ordinary
residuals. The standardized residuals are now returned as
standardizedresiduals.dshw() function for double-seasonal Holt-Winters
method based on Taylor (2003).decompose() function that
caused the results to be incorrect with odd frequencies.auto.arima().Acf(), Pacf(), ma() and
CV() functions.seasonplot() where year labels were
sometimes incorrect.simulate.Arima() to handle seasonal ARIMA
models.ets() to handle missing values. The largest
continuous section of data is now modelled.plot.forecast() to handle missing values at
the end of the observed series.decompose() to avoid truncation of
seasonal term and seasonally adjusted series.seasadj() to handle multiplicative
decomposition, and to avoid missing values at ends.fourier(), fourierf(), tslmforecast.lm() to allow trend and seasonal
terms.forecast.lm()accuracy() and print.forecast()
to allow non time series forecasts.stlf().accuracy() when only 1 forecast is
specified.forecast.stl() and stlf()
functionsforecast.ts() to use stlf() if
frequency > 12.BoxCox() and InvBoxCox() robust to
negative valuessimulate.Arima() when future=TRUE. There
was a bias in the sample paths.naive() and snaive() functions.accuracy().arfima() fails (usually because the series is
non-stationary), the LS estimate is now returned.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 seriesforecast.fracdiff() which caused an error
when h=1.plot.forecast().plot.forecast() to allow plotting when
h=1.auto.arima() and
ndiffs().simulate.ets() which was causing problems
when forecasting from some ETS models including ETS(M,M,N).simulate.Arima(). Previous sample paths
when d=2 and future=TRUE were incorrect.plot.forecast() to
avoid colour changes when the graphics window is refreshed.arfima().simulate.Arima(), simulate.ar() and
simulate.fracdiff()arfima() and a forecast method to handle ARFIMA
models from arfima() and fracdiff().auto.arima() that occurred rarely.auto.arima() to allow drift terms to
be excluded from the models considered.auto.arima() that occurred when there was
an xreg but no drift, approximation=TRUE and stepwise=FALSE.croston() output.croston()
help file.as.data.frame.forecast(). This allows
write.table() to work for forecast objects.auto.arima() and
ndiffs() to allow the ADF test to be used instead of the
KPSS test in selecting the number of differences.plot.forecast() to allow different
colors and line types when plotting prediction intervals.forecast.ts() to give sensible results with a
time series containing fewer than four observations.dm.test() to avoid errors when there are
missing values in the residuals.auto.arima() fails
to find a suitable model.auto.arima()
sometimes caused errors when stepwise=FALSE.auto.arima().auto.arima() to allow regression
variables.print.Arima() which caused problems when
the data were inside a data.frame.forecast.Arima(), argument h is now set to the
length of the xreg argument if it is not null.Arima() to allow regression variables when
refitting an existing model to new data.ets(): models with frequency less than 1
would cause R to hang.ets(): models with frequency greater than 12
would not fit due to parameters being out of range.ets() changed to 0.0001 and 0.9999 (instead of 0.01 and
0.99).auto.arima() and in
print.Arima().tsdiag() now works with ets objects.auto.arima(). Occasionally the root
checking would cause an error. The condition is now trapped.auto.arima(). The series wasn’t always being
stored as part of the return object when stepwise=FALSE.plot.ets() fixed so that plots of non-seasonal
models for seasonal data now work.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.forecast.HoltWinters() where the lower
and upper limits were interchanged.ets(). This
allows it to work with zoo objects.dm.test() has been added. This
implements the Diebold-Mariano test for predictive accuracy.auto.arima().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.auto.arima() when trace=TRUE and
approximation=TRUE are now comparable to the final AIC values.seasadj() so it allows multiple
seasonalityprint.Arima()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.ets() with
default TRUE. If set to FALSE, then the unstable ETS models are also
allowed.print.Arima() function was fixed.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.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.gof() and forecasterrors()
have been replaced by accuracy() which handles in-sample
and out-of-sample forecast accuracy.summary() and gof() were
incorrect.auto.arima(). It would not always respect
the stated values of max.p, max.q, max.P and max.Q.auto.arima() to provide a stepwise approach
to ARIMA modelling. This is much faster than the old
best.arima().best.arima() is
still available by using stepwise=FALSE when calling
auto.arima().auto.arima().ets() to new data using a
previously fitted model.arima()ets()ets() and
best.arima().ndiffs() so that the maximum number of
differences allowed is 2.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.ets() now converges to a good model
more often.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.ets(), I’ve experimented with new starting
conditions for optimization and it seems to be fairly robust now.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.arima() and
pegels2 functionality is now handled by ets().best.arima() now allows the option of BIC to be used
for model selection.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.arima() which caused
predict() to sometimes fail when there was no xreg
term.print.Arima() function for more informative
output.StructTS().pegels() to force
admissibility.pegels() to allow restriction to models
with finite forecast variance. This restriction is imposed by
default.arima.errors(). Changes made to
arima() meant arima.errors() was often
returning an error message.best.arima().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.pegels().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.theta.f(). This implements the Theta
method which did very well in the M3 competition.pegels() fixed and a bug in
forecast.plot() that meant it didn’t work when the series
contained missing values.pegels() did not return correct model
when model was partially specified.forecast.Arima() and
forecat.ar()gof() and seasadj()plot.forecast(). The starting date for the
plot was sometimes incorrect.rw.f() and
mean.f().monthplot()
command present in R v<=1.6.2.These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.