One of the features of the functions in smooth package is the ability to use exogenous (aka “external”) variables. This potentially leads to the increase in the forecasting accuracy (given that you have a good estimate of the future exogenous variable). For example, in retail this can be a binary variable for promotions and we […]

# smooth

# smooth functions in 2017

Over the year 2017 the smooth package has grown from v1.6.0 to v2.3.1. Now it is much more mature and has more downloads. It even now has its own hex (thanks to Fotios Petropoulos): A lot of changes happened in 2017, and it is hard to mention all of them, but the major ones are: […]

# «smooth» package for R. Common ground. Part II. Estimators

A bit about estimates of parameters Hi everyone! Today I want to tell you about parameters estimation of smooth functions. But before going into details, there are several things that I want to note. In this post we will discuss bias, efficiency and consistency of estimates of parameters, so I will use phrases like “efficient […]

# Old dog, new tricks: a modelling view of simple moving averages

Fotios Petropoulos and I have recently written a paper about a statistical model, underlying Simple Moving Average. Although we are usually taught in Forecasting courses, that there is no such thing, we found one. We have submitted this paper to International Journal of Production Research, and it has been recently accepted (took us ~4 months). […]

# smooth v2.0.0. What’s new

Good news, everyone! smooth package has recently received a major update. The version on CRAN is now v2.0.0. I thought that this is a big deal, so I decided to pause for a moment and explain what has happened, and why this new version is interesting. First of all, there is a new function, ves(), […]

# “smooth” package for R. Common ground. Part I. Prediction intervals

We have spent previous six posts discussing basics of es() function (underlying models and their implementation). Now it is time to move forward. Starting from this post we will discuss common parameters, shared by all the forecasting functions implemented in smooth. This means that the topics that we discuss are not only applicable to es(), […]

# “smooth” package for R. es() function. Part VI. Parameters optimisation

Now that we looked into the basics of es() function, we can discuss how the optimisation mechanism works, how the parameters are restricted and what are the initials values for the parameters in the optimisation of the function. This will be fairly technical post for the researchers who are interested in the inner (darker) parts […]

# “smooth” package for R. es() function. Part V. Essential parameters

While the previous posts on es() function contained two parts: theory of ETS and then the implementation – this post will cover only the latter. We won’t discuss anything new, we will mainly look into several parameters that the exponential smoothing function has and what they allow us to do. We start with initialisation of […]

# “smooth” package for R. es() function. Part IV. Model selection and combination of forecasts

Mixed models In the previous posts we have discussed pure additive and pure multiplicative exponential smoothing models. The next logical step would be to discuss mixed models, where some components have additive and the others have multiplicative nature. But we won’t spend much time on them because I personally think that they do not make […]

# “smooth” package for R. es() function. Part III. Multiplicative models

Theoretical stuff Last time we talked about pure additive models, today I want to discuss multiplicative ones. There is a general scepticism about pure multiplicative exponential smoothing models in the forecasters society, because it is not clear why level, trend, seasonality and error term should be multiplied. Well, when it comes to seasonality, then there […]