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

[BUG] inconsistent date/time index in plot_windows #4919

Closed
fkiraly opened this issue Jul 20, 2023 · 1 comment · Fixed by #5321
Closed

[BUG] inconsistent date/time index in plot_windows #4919

fkiraly opened this issue Jul 20, 2023 · 1 comment · Fixed by #5321
Labels
bug Something isn't working module:forecasting forecasting module: forecasting, incl probabilistic and hierarchical forecasting module:metrics&benchmarking metrics and benchmarking modules
Projects

Comments

@fkiraly
Copy link
Collaborator

fkiraly commented Jul 20, 2023

reported originally by @jpss95 in #519.

Confirmed by @fkiraly on 0.21.0, current main, windows, python 3.11


Hi all, the same thing is happening to me with the plot_windows method. (sktime==0.18.0)

Here a code to reproduce the bug:

import pandas as pd
import numpy as np
from sktime.utils.plotting import plot_windows
from sktime.forecasting.base import ForecastingHorizon
from sktime.forecasting.model_selection import ExpandingWindowSplitter

forecast_steps= 5
initial_window_size= 40
step_length=1
fh = ForecastingHorizon(np.arange(1,forecast_steps+1))

#create dummy data
dates = pd.date_range(start='2016-01', end='2022-12', freq='M')
df = pd.DataFrame(index=dates)
df['y'] = np.random.rand(len(df))

cv = ExpandingWindowSplitter(fh=fh, initial_window=initial_window_size, step_length=step_length)

print(df)
plot_windows(cv, df)

image

The image clearly has wrong indexes

cc: @fkiraly

Originally posted by @jpss95 in #519 (comment)

@fkiraly
Copy link
Collaborator Author

fkiraly commented Jul 20, 2023

@jpss95, I opened a new issue here, since this concerns a different plotting utility.

Thanks for reporting!

@fkiraly fkiraly added bug Something isn't working module:forecasting forecasting module: forecasting, incl probabilistic and hierarchical forecasting module:metrics&benchmarking metrics and benchmarking modules labels Jul 20, 2023
@fkiraly fkiraly added this to Needs triage & validation in Bugfixing via automation Jul 20, 2023
@fkiraly fkiraly moved this from Needs triage & validation to Reproduced/confirmed in Bugfixing Jul 20, 2023
Bugfixing automation moved this from Reproduced/confirmed to Fixed/resolved Oct 7, 2023
fkiraly pushed a commit that referenced this issue Oct 7, 2023
#### Reference Issues/PRs

Fixes #4919 


#### What does this implement/fix? Explain your changes.
This PR 
- fixes the labels of the x-axis ticks of the figure plotted by
`plot_windows` and
- makes `plot_windows` return the `matplotlib.figure.Figure` object such
that the figure can be manipulted by API users on-demand.
yarnabrina added a commit to yarnabrina/sktime-fork that referenced this issue Oct 8, 2023
* origin/main:
  [MNT] skpro as a soft dependency (sktime#5273)
  [DOC] Correct code block formatting for pre-commit install command (sktime#5377)
  [ENH] parallelization backend calls in utility module - part 2, backend parameter passing (sktime#5311)
  [MNT] [Dependabot](deps): Bump stefanzweifel/git-auto-commit-action from 4 to 5 (sktime#5373)
  [MNT] python 3.12 compatibility - replace `distutils` calls with equivalent functionality (sktime#5376)
  [DOC] `sktime` intro notebook (sktime#3793)
  [ENH] Skip unnecessary fit in `ForecastX` if inner `forecaster_y` ignores `X` (sktime#5353)
  [ENH] refactor parallelization backend calls in utility module (sktime#5268)
  [ENH] ARCH model (arch package) Issue sktime#2173 (sktime#5326)
  [ENH] add error message return to `deep_equals` assert in `test_reconstruct_identical`  (sktime#4927)
  [DOC] Added all feature names to docstring for DateTimeFeatures class (sktime#5283)
  [BUG] fix `STLForecaster` tag `ignores-exogenous-X` to be correctly set for composites (sktime#5365)
  [BUG] Fix inconsistent date/time index in `plot_windows` sktime#4919 (sktime#5321)
yarnabrina added a commit to yarnabrina/sktime-fork that referenced this issue Oct 8, 2023
* origin/main: (24 commits)
  [MNT] skpro as a soft dependency (sktime#5273)
  [DOC] Correct code block formatting for pre-commit install command (sktime#5377)
  [ENH] parallelization backend calls in utility module - part 2, backend parameter passing (sktime#5311)
  [MNT] [Dependabot](deps): Bump stefanzweifel/git-auto-commit-action from 4 to 5 (sktime#5373)
  [MNT] python 3.12 compatibility - replace `distutils` calls with equivalent functionality (sktime#5376)
  [DOC] `sktime` intro notebook (sktime#3793)
  [ENH] Skip unnecessary fit in `ForecastX` if inner `forecaster_y` ignores `X` (sktime#5353)
  [ENH] refactor parallelization backend calls in utility module (sktime#5268)
  [ENH] ARCH model (arch package) Issue sktime#2173 (sktime#5326)
  [ENH] add error message return to `deep_equals` assert in `test_reconstruct_identical`  (sktime#4927)
  [DOC] Added all feature names to docstring for DateTimeFeatures class (sktime#5283)
  [BUG] fix `STLForecaster` tag `ignores-exogenous-X` to be correctly set for composites (sktime#5365)
  [BUG] Fix inconsistent date/time index in `plot_windows` sktime#4919 (sktime#5321)
  &benshamza, fkiraly [BUG] Fix `numba` errors when calling `tslearn` `lcss` (sktime#5368)
  [MNT] Dataset file restructure (sktime#5239)
  [BUG] fix `temporal_train_test_split` for hierarchical and panel data in case where `fh` is not passed (sktime#5330)
  [MNT] [Dependabot](deps): Bump styfle/cancel-workflow-action from 0.11.0 to 0.12.0 (sktime#5355)
  [ENH] minor fixes to `NaiveAligner` (sktime#5344)
  [DOC] Improve Readability of Notebook 2 - Classification, Regression & Clustering (sktime#5312)
  [DOC] Documented ax argument and the figure in plot_series (sktime#5325)
  ...
yarnabrina added a commit to yarnabrina/sktime-fork that referenced this issue Oct 8, 2023
…recasting

* origin/split-ci: (25 commits)
  added flags to codecov
  [MNT] skpro as a soft dependency (sktime#5273)
  [DOC] Correct code block formatting for pre-commit install command (sktime#5377)
  [ENH] parallelization backend calls in utility module - part 2, backend parameter passing (sktime#5311)
  [MNT] [Dependabot](deps): Bump stefanzweifel/git-auto-commit-action from 4 to 5 (sktime#5373)
  [MNT] python 3.12 compatibility - replace `distutils` calls with equivalent functionality (sktime#5376)
  [DOC] `sktime` intro notebook (sktime#3793)
  [ENH] Skip unnecessary fit in `ForecastX` if inner `forecaster_y` ignores `X` (sktime#5353)
  [ENH] refactor parallelization backend calls in utility module (sktime#5268)
  [ENH] ARCH model (arch package) Issue sktime#2173 (sktime#5326)
  [ENH] add error message return to `deep_equals` assert in `test_reconstruct_identical`  (sktime#4927)
  [DOC] Added all feature names to docstring for DateTimeFeatures class (sktime#5283)
  [BUG] fix `STLForecaster` tag `ignores-exogenous-X` to be correctly set for composites (sktime#5365)
  [BUG] Fix inconsistent date/time index in `plot_windows` sktime#4919 (sktime#5321)
  &benshamza, fkiraly [BUG] Fix `numba` errors when calling `tslearn` `lcss` (sktime#5368)
  [MNT] Dataset file restructure (sktime#5239)
  [BUG] fix `temporal_train_test_split` for hierarchical and panel data in case where `fh` is not passed (sktime#5330)
  [MNT] [Dependabot](deps): Bump styfle/cancel-workflow-action from 0.11.0 to 0.12.0 (sktime#5355)
  [ENH] minor fixes to `NaiveAligner` (sktime#5344)
  [DOC] Improve Readability of Notebook 2 - Classification, Regression & Clustering (sktime#5312)
  ...
yarnabrina added a commit to yarnabrina/sktime-fork that referenced this issue Oct 8, 2023
* origin/split-ci: (25 commits)
  added flags to codecov
  [MNT] skpro as a soft dependency (sktime#5273)
  [DOC] Correct code block formatting for pre-commit install command (sktime#5377)
  [ENH] parallelization backend calls in utility module - part 2, backend parameter passing (sktime#5311)
  [MNT] [Dependabot](deps): Bump stefanzweifel/git-auto-commit-action from 4 to 5 (sktime#5373)
  [MNT] python 3.12 compatibility - replace `distutils` calls with equivalent functionality (sktime#5376)
  [DOC] `sktime` intro notebook (sktime#3793)
  [ENH] Skip unnecessary fit in `ForecastX` if inner `forecaster_y` ignores `X` (sktime#5353)
  [ENH] refactor parallelization backend calls in utility module (sktime#5268)
  [ENH] ARCH model (arch package) Issue sktime#2173 (sktime#5326)
  [ENH] add error message return to `deep_equals` assert in `test_reconstruct_identical`  (sktime#4927)
  [DOC] Added all feature names to docstring for DateTimeFeatures class (sktime#5283)
  [BUG] fix `STLForecaster` tag `ignores-exogenous-X` to be correctly set for composites (sktime#5365)
  [BUG] Fix inconsistent date/time index in `plot_windows` sktime#4919 (sktime#5321)
  &benshamza, fkiraly [BUG] Fix `numba` errors when calling `tslearn` `lcss` (sktime#5368)
  [MNT] Dataset file restructure (sktime#5239)
  [BUG] fix `temporal_train_test_split` for hierarchical and panel data in case where `fh` is not passed (sktime#5330)
  [MNT] [Dependabot](deps): Bump styfle/cancel-workflow-action from 0.11.0 to 0.12.0 (sktime#5355)
  [ENH] minor fixes to `NaiveAligner` (sktime#5344)
  [DOC] Improve Readability of Notebook 2 - Classification, Regression & Clustering (sktime#5312)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working module:forecasting forecasting module: forecasting, incl probabilistic and hierarchical forecasting module:metrics&benchmarking metrics and benchmarking modules
Projects
Bugfixing
Fixed/resolved
Development

Successfully merging a pull request may close this issue.

1 participant