I am trying to forecast data regarding vehicle registrations year-wise using auto.arima
in R. However, one of my variables (which is data for 3-wheeler registrations) gives me the same forecast: I used auto.arima
for it too but the process generated was an ARIMA(0,0,0) process due to which the forecast values were the same throughout. For another similar variable, I got an ARIMA(0,1,0) process and my point forecasts were the same. So my question is, is there any other method of forecasting single variables without using the auto.arima
function? Your responses and help will be much appreciated, thanking you all in anticipation!!
-
3$\begingroup$ What's wrong with a constant forecast? Would you take a nonconstant one even if its accuracy were lower? $\endgroup$– Richard HardyDec 27, 2020 at 15:36
-
$\begingroup$ Simple models in exponential smoothing, which never change, can be the most accurate forecast. $\endgroup$– user54285Dec 28, 2020 at 0:17
-
$\begingroup$ @RichardHardy, nope, absolutely not. But the previous values of the variable weren't constant and in that case, getting a constant forecast for it just seems a bit odd.. hence I'm a bit sceptical of using these forecasts. $\endgroup$– Akshaya BalajiDec 28, 2020 at 18:16
-
$\begingroup$ @user54285, which never change? $\endgroup$– Akshaya BalajiDec 28, 2020 at 18:18
-
$\begingroup$ If the data generating process is a random walk or white noise, previous observations will not be constant, yet an optimal (under symmetric loss) point forecast is a constant. $\endgroup$– Richard HardyDec 28, 2020 at 18:23
1 Answer
What's wrong with a constant forecast? Would you take a nonconstant one even if its accuracy were lower? You responded, no, and I concur. Perhaps your data generating process (DGP) is best approximated by ARIMA(0,1,0) or ARIMA(0,0,0) among the class of models considered, ARIMA(p,d,q). If the DGP is a random walk, i.e. ARIMA(0,1,0), or white noise, i.e. ARIMA(0,0,0), previous observations will not be constant, yet an optimal (under symmetric loss) point forecast will be a constant.
If you were worried about possibly obtaining negative forecasts, you could refer to the thread "How to achieve strictly positive forecasts?". The core idea there is to set lambda=0
when fitting a model with auto.arima
: fit <- auto.arima(x, lambda=0); forecast(fit)
. But your series values and their forecasts appear quite far away from zero, so this is probably not a problem.
If you wanted integer forecasts, Weiss "Integer‐Valued Autoregressive Moving‐Average (INARMA) Models" (2018) could be of interest. But again, this is probably more relevant when the numbers are small, which is not the case in your example.
-
$\begingroup$ A simple model in exponential smoothing will be exactly the same in all future months. Basically a straight line. But in my experience its often right. The best predictor of the future is the most recent point (a simple model is not the most recent value, I think its a weighted average of recent points although I am not sure). $\endgroup$ Dec 29, 2020 at 16:40
-
$\begingroup$ Thanks, @Richard. Will go with these forecasts itself:) $\endgroup$ Jan 2, 2021 at 13:50
-