facebook / facebook/prophet

Hyperparameter Tuning for additional_seasonality

Open
#2,060 2 comments 0 reactions 0 assignees View on GitHub
question
Dominant language
Python
Stars
20.4k
Forks
4.6k
Avg merge
19h 52m
Merged PRs (30d)
1

Description

I have a feeling this is more of a basic python question, but I'm struggling to find an answer on how to reference these additive regression components.

The FB Prophet documentation says to build a parameter grid with all of the setting configurations that you want to pass iteratively into the model to determine the combination that generates the lowest amount of error, which I have done (partially):

```
param_grid = {
'changepoint_prior_scale': [[0.005, .01, 0.05, 0.5, 1, 5, 10, 20, 30, 40, 50, 60, 70, 80 ,90, 100],
'changepoint_range': [0.8, 0.9],
'holidays_prior_scale':[[0.005, .01, 0.05, 0.5, 1, 5, 10, 20, 30, 40, 50, 60, 70, 80 ,90, 100]],
'seasonality_mode': ['multiplicative', 'additive'],
'growth': ['linear', 'logistic'],
}
```

The documentation only explains how to hyperparameter tune the standard python model features, there are no examples for how to pass iterative parameters for "added" regression features that the Prophet model supports.

Here's an example of my relevant code:

```
M = Prophet(
growth='linear',
#interval_width=0.80,
seasonality_mode= 'multiplicative',
daily_seasonality=False,
weekly_seasonality=False,
yearly_seasonality=False,
holidays=Holidays
).add_seasonality(
name='monthly',
period=30.5,
fourier_order=50,#25
prior_scale=20
).add_seasonality(
name='daily',
period=1,
fourier_order=70,#25
prior_scale=20
).add_seasonality(
name='weekly',
period=7,
fourier_order=50,
prior_scale=60
).add_seasonality(
name='yearly',
period=365.25,
fourier_order= 30)
```

I'm wondering how to appropriately refer to something like "Monthly Fourier_Order" and "Monthly Prior_Scale" in my parameter grid. I tried Monthly.fourier_order and it didn't work.

Any help would be appreciated.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.