I have a complex time series dataset that I'm exploring (https://archive.ics.uci.edu/dataset/501/beijing+multi+site+air+quality+data) and I've detected some regular hourly seasonality in the data (not unexpected since it's air quality data). In particular, there's seasonality in the variable that I'm looking to predict, which in this case is PM2.5 values. The dataset also has many other covariates that I'd like to feed in as well (temp, wind, CO2/NO2, etc). What I would like to be able to do is to feed forecasted covariates to my model along with historical values for my predicted variable (e.g. PM2.5) to get predictions.

Here's an image of a small section of hourly readings of the PM2.5 from one site (300 of 36000 records):

enter image description here

I could remove the seasonality from the forecasted variable, but then I'm not sure what to do with the rest of the data in the covariates. Would I attempt to remove seasonality from those covariates as well? In a multivariate time series scenario, couldn't the seasonality be a potentially valuable covariate for the model to learn? Are there ways to establish when the seasonality does need to be removed?

  • $\begingroup$ What exactly are you trying to accomplish? Are you trying to forecast this particular time series, or is this time series being used as a covariate for another time series? Are you trying to understand the dynamics of this time series in particular, maybe to decompose it? Adding more details about what the actual goal of this analysis is may elicit more helpful responses. $\endgroup$
    – aranglol
    Jan 1 at 23:17
  • $\begingroup$ Thank you for the feedback. Added some more detail in there, hopefully more helpful now. $\endgroup$ Jan 3 at 2:45

1 Answer 1


No, do not remove the seasonality anywhere. The only reason you would want to remove the seasonality before training the model is if you expect the seasonal effect to end in real life. Theoretically, if you believe that there might be some special event that would stop the trend, a model trained without the seasonal effect will be more accurate. However, if you believe that the seasonal effect will continue to exist, the models trained with the seasonal effect will be more accurate.

Before jumping into using complicated models like a multivariate LSTM, I would suggest looking into ARIMA and SARIMA to get a sense of how seasonality affects time series predictions. You can play around and make a simple SARIMA univariate model to predict your PM2.5. Then you can remove the seasonality effect and run a ARIMA model. You will notice the difference between the models. This difference will occur with multivariate time series models.

  • 1
    $\begingroup$ Thank you, this was my initial thought as well but I was curious about confirmation of it. I did ARIMA/SARIMA the univariate data for a point of comparison before diving into modeling with multivariate NNs. The results were interesting to me, a Temporal Fusion Transformer wound up being the strongest performer out of 10 different models. $\endgroup$ Jan 4 at 16:39
  • $\begingroup$ This sounds really interesting, I am happy to hear you are trying such models! If you have any questions or you want to share something feel free to text $\endgroup$ Jan 5 at 11:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.