Some techniques for time series analysis (prediction) require that the time series not have seasonality. It seems that without seasonality, a time series is essentially random, in which case predicting values is a lost cause. What am I missing?
There are different kinds of non-seasonal randomness, with different optimal forecasts. A key part of forecasting is finding out which kind we are dealing with and choosing the corresponding optimal forecast.
Here are two examples of non-seasonal randomness.
- White noise is essentially unstructured noise, where each data point is identically distributed. The (provably) best forecast is the overall mean of the historical observations.
- In a random walk, it's the increments over the previous realization that are iid. If your previous observation is 5, then the next one will be nearer to 5 than to 0. In this case the (provably) best forecast is the last observation.
And of course, there are many other kinds of non-seasonal randomness, or of drivers. Trends, moving averages, autoregression, integration, causal drivers and so forth.
set.seed(1) white_noise <- ts(rnorm(100)) random_walk <- ts(cumsum(rnorm(100))) par(mfrow=c(1,2)) plot(white_noise,xlab="",ylab="",main="White noise") plot(random_walk,xlab="",ylab="",main="Random walk")
Many time series methods consider the time series to have 4 components. Seasonality and error (which should be random) you mentioned are two of those four, but also the level and the trend. So it would not be reduced to just randomness.
That being said, there are some methods that want your time series to be "stationary", which would mean it only has a level and random error. The seasonality and/or trend would be removed through transformation. That doesn't mean it does not have seasonality, it just means that the time series is to undergo a transformation before modeling (there are many types of transformations, google "Box-Cox transformations").
With exponential smoothing there are some methods that are used for series that do not have seasonality (eg, simple exponential smoothing). Exponential smoothing can handle seasonality: it just would not be that specification.
seasonality is just 1 aspect of an arima model .... there can be short-term autoprojective structure such as an autoregressive model of order 1 where the previous value is weighted to obtain a forecast . Additionally there can be deterministic structure such as level shifts or time trends which might be useful in characterizing a series.
For more see: ARIMA model identification should follow the following paradigm https://autobox.com/pdfs/ARIMA%20FLOW%20CHART.pdf culminating in a useful SARiMAX Model How to predict the next number in a series while having additional series of data that might affect it? which might include latent deterministic structure ( the I's )