Skip to content

Implement forecast decomposition for Prophet #1161

Closed
brsnw250 opened this issue Mar 13, 2023 · 0 comments · Fixed by #1172
Closed

Implement forecast decomposition for Prophet #1161

brsnw250 opened this issue Mar 13, 2023 · 0 comments · Fixed by #1172
Assignees
Labels
enhancement New feature or request

Comments

@brsnw250
Copy link
Collaborator

brsnw250 commented Mar 13, 2023

🚀 Feature Request

Implement forecast decomposition for ProphetModel

Proposal

In _ProphetAdapter implement method

def predict_components(df: pd.DataFrame) -> pd.DataFrame

Details:

  • implement in-sample and out-of-sample decomposition in predict_components
  • obtain trend component
  • obtain holidays component
  • seasonal components should be decomposed down to individual components (e.g. daily, weekly, yearly, custom period)
  • obtain components for each exogenous variable
  • raise error if model contains multiplicative components
  • use target_component_ as prefix for component names

Test cases

For _ProphetAdapter

  • Test components sum up to target for different parameter sets (parameters to test: holidays, growth, *_seasonality, additional_seasonality_params)
  • Test with linear and logistic growth
  • Test with custom seasonalities
  • Test that components for exogenous variables are estimated if such variables are presented at fit stage
  • Test holidays component estimated if holidays data is presented at fit stage
  • Test that the component names are correct for all possible parameters combination
  • Test that model decomposition contains only additive components and raises corresponding error otherwise

Additional context

No response

@brsnw250 brsnw250 added the enhancement New feature or request label Mar 13, 2023
@brsnw250 brsnw250 added this to the Forecasts interpretation milestone Mar 13, 2023
@brsnw250 brsnw250 self-assigned this Mar 15, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

1 participant