AI

# 8 Strategies to Mannequin Seasonality | by Vitor Cerqueira | Jul, 2023

## Easy methods to deal with seasonality for forecasting This text is a follow-up to a previous post. There, we recognized 3 varieties of seasonal patterns.

Right here, we’ll:

• Learn to describe the seasonality of a time sequence.
• Go over 8 approaches you should utilize to mannequin seasonality.

Seasonality refers to repeatable patterns that recur over some interval. It is a vital supply of variation that’s necessary to mannequin. A time sequence and its seasonally-adjusted model. The information supply is within the subsequent part. Picture by writer.

There are a number of methods of dealing with seasonality. Some approaches take away the seasonal element earlier than modeling. Seasonally-adjusted information (a time sequence minus the seasonal element) highlights long-term effects such as trends or business cycles. Different approaches add further variables that seize the cyclical nature of seasonality.

Earlier than going over totally different strategies, let’s create a time sequence and describe its seasonal patterns.

## Evaluation instance

We’ll use the identical course of we did within the previous article (see additionally reference ):

`interval = 12 # month-to-month sequencemeasurement = 120beta1 = np.linspace(-.6, .3, num=measurement)beta2 = np.linspace(.6, -.3, num=measurement)sin1 = np.asarray([np.sin(2 * np.pi * i / 12) for i in np.arange(1, size + 1)])cos1 = np.asarray([np.cos(2 * np.pi * i / 12) for i in np.arange(1, size + 1)])xt = np.cumsum(np.random.regular(scale=0.1, measurement=measurement))yt = xt + beta1 * sin1 + beta2 * cos1 + np.random.regular(scale=0.1, measurement=measurement)yt = pd.Collection(yt)`

Right here’s what this sequence appear to be: Synthetic time sequence with a stochastic stationary seasonality. Picture by writer.

We will begin by describing the seasonal sample by its energy:

`# https://github.com/vcerqueira/weblog/tree/predominant/srcfrom src.seasonality import seasonal_strengthseasonal_strength(yt, interval=12)# 0.90`