Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add hist_exog_list argument to cross_validation #534

Merged
merged 3 commits into from
Nov 25, 2024
Merged

Conversation

jmoralez
Copy link
Member

@jmoralez jmoralez commented Nov 7, 2024

Fixes #522

Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

Copy link
Contributor

github-actions bot commented Nov 12, 2024

Experiment Results

Experiment 1: air-passengers

Description:

variable experiment
h 12
season_length 12
freq MS
level None
n_windows 1

Results:

metric timegpt-1 timegpt-1-long-horizon SeasonalNaive Naive
mae 12.6793 11.0623 47.8333 76
mape 0.027 0.0232 0.0999 0.1425
mse 213.936 199.132 2571.33 10604.2
total_time 5.7365 2.0311 0.0063 0.0042

Plot:

Experiment 2: air-passengers

Description:

variable experiment
h 24
season_length 12
freq MS
level None
n_windows 1

Results:

metric timegpt-1 timegpt-1-long-horizon SeasonalNaive Naive
mae 58.1031 58.4587 71.25 115.25
mape 0.1257 0.1267 0.1552 0.2358
mse 4040.21 4110.79 5928.17 18859.2
total_time 1.889 0.8625 0.0046 0.0043

Plot:

Experiment 3: electricity-multiple-series

Description:

variable experiment
h 24
season_length 24
freq H
level None
n_windows 1

Results:

metric timegpt-1 timegpt-1-long-horizon SeasonalNaive Naive
mae 178.293 268.13 269.23 1331.02
mape 0.0234 0.0311 0.0304 0.1692
mse 121589 219485 213677 4.68961e+06
total_time 1.2717 2.7297 0.0052 0.005

Plot:

Experiment 4: electricity-multiple-series

Description:

variable experiment
h 168
season_length 24
freq H
level None
n_windows 1

Results:

metric timegpt-1 timegpt-1-long-horizon SeasonalNaive Naive
mae 465.497 346.972 398.956 1119.26
mape 0.062 0.0436 0.0512 0.1583
mse 835021 403760 656723 3.17316e+06
total_time 1.2071 3.5303 0.0058 0.0052

Plot:

Experiment 5: electricity-multiple-series

Description:

variable experiment
h 336
season_length 24
freq H
level None
n_windows 1

Results:

metric timegpt-1 timegpt-1-long-horizon SeasonalNaive Naive
mae 558.673 459.757 602.926 1340.95
mape 0.0697 0.0565 0.0787 0.17
mse 1.22723e+06 739114 1.61572e+06 6.04619e+06
total_time 1.1416 1.1398 0.0061 0.0051

Plot:

@jmoralez jmoralez marked this pull request as ready for review November 12, 2024 20:43
@jmoralez jmoralez requested a review from AzulGarza November 12, 2024 20:43
Comment on lines +2275 to +2293
"for hist_exog_list in [None, [], [x_cols[2], x_cols[1]], x_cols]:\n",
" cv_res = nixtla_client.cross_validation(\n",
" series_with_features,\n",
" n_windows=1,\n",
" h=h,\n",
" freq=freq,\n",
" hist_exog_list=hist_exog_list,\n",
" )\n",
" fcst_res = nixtla_client.forecast(\n",
" train,\n",
" h=h,\n",
" freq=freq,\n",
" hist_exog_list=hist_exog_list,\n",
" X_df=valid,\n",
" )\n",
" np.testing.assert_allclose(\n",
" cv_res['TimeGPT'], fcst_res['TimeGPT'], atol=1e-4, rtol=1e-3\n",
" )"
]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cool

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we add a test to verify that different historical exogenous variables result in different forecasts? wdyt?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added in 91b27ec

@jmoralez jmoralez requested a review from AzulGarza November 13, 2024 18:01
@jmoralez jmoralez merged commit 1794512 into main Nov 25, 2024
12 checks passed
@jmoralez jmoralez deleted the cv-hist-exog branch November 25, 2024 21:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feat: distinguish between historical and future exogenous variables in cross validation
2 participants