1
$\begingroup$

I want to model time series in Python for air quality prediction. My dataset has two columns: date_time and aqi, and contains hourly measurements of AQI. Data is seasonal but not perfectly seasonal because aqi values are fluctuating. I want to create ARIMA or SARIMA models for predicting future values.

SARIMA would be good choice because data is seasonal, but it has very high seasonality of 8760 so training this model is infeasible. If data is resampled to daily seasonality would still be too high for training SARIMA m=365. If I want to make ARIMA model I need to make data stationary, but it is very complex and I cannot remove seasonality whatever I tried. I tried differencing, multiple differencing (up to 10), seasonal differencing, time series decomposition and removing seasonal component, log transformation, normalization, subtracting from current values mean of values for that week, ... but result is always seasonal. Images below show: timeseries decomposition, daily timeseries and seasonal differenced (result is not stationary).

How to make this timeseries stationary? How to remove seasonality? How to create SARIMA model in Python where data has very high seasonality?

Decomposed timeseries Timeseries and seasonal differenced timeseries

$\endgroup$
1
  • $\begingroup$ I added the multiple-seasonalities tag, which presumably applies to your hourly data: you probably have both intra-daily and intra-yearly patterns. If you aggregate to days, you probably only have "long" seasonality, i.e., yearly. You could search through previous threads with that tag on CV. The tag wiki has pointers to resources for both challenges. This blog post by Rob Hyndman is also helpful. $\endgroup$ Commented Jan 10 at 14:21

0

Your Answer

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