2
$\begingroup$

I am using ARIMA in a Time Series data to predict the next x no. of values.

The data is not seasonal but with increasing mean and constant variance. When lesser number of data points are used to test (let's say 15-16 data points.) there is an issue. I know that Time series requires a good number of data points (with recommendations ranging from 35 to more than 100 in different texts). But in a few cases in this scenario with the given/ availability of data this is unavoidable in this situation.

Hence, the ARIMA algorithm picks up a cyclical pattern where there is not really one (for example if the value is 16.1 in reading #7 and after a couple of ups and downs, reaches value 16.5 in reading #16 again). The values in between range from 15.5 to 16.5. I cannot share the data as it is confidential.enter image description here

So, instead of predicting 16.7 or upwards, it predicts the last value as forecast as the model is (0,0,0). The algorithm works as expected, this is mainly due to the data restriction.

Hence, I was wondering, if it would be a good solution, if I can assign more weight to recent data points making the prediction more aggressive (that is the requirement here.) e.g., The 16.5 in Reading#16 will have more weight and 16.1 in Reading#7 will have less weight. This will make the algorithm to treat the last 16.5 with more weight leading to a high/ aggressive prediction and thus not predict a flat or a start of a down cycle?

One naive solution I found was to generate weights and multiplying them with the data, thus transforming it before forecast and then dividing by the weights from the fore-casted values. Don't know if this makes sense?

Are there any good solutions/ approaches for assigning more weights to recent data points?

Or is there any better solution for this scenario without resorting to weights.

FYI: I am using auto.arima in R.

Edit:
I see that there are up votes on DJohnson's comments asking for periods and wanted to clarify: This is "not a equally spaced in time". So the strict definition of periods do not apply here. This is more like "the batches output" example given in the Box-Jenkins book. Basically these are a series of sensor readings after each iteration of the activity (e..,g let's say after each trip of a car you measure the particular pressure). This is basically a series of readings not defined by weekly or monthly etc.,

During the development I used 100 data points/ periods. But, for a few data sets/ testing scenarios around 50 points will be available. In the example I have given above (which is a rare case) only 16 points are available. But, generally around 50 points will be available.

$\endgroup$
  • 4
    $\begingroup$ It would help if you told us how many periods are available. To the textbook comments of the minimum number of data points required, ARIMA is not an appropriate technique below those minimums if for no other reason than too many observations are used in initializing the model. Revert to simpler methods. By adjusting the parameter in approaches such as exponential smoothing, you can weight more recent information more heavily. $\endgroup$ – DJohnson Nov 24 '15 at 14:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.