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

Greykite suitable for pure linear increasing series? #18

Closed
akthammomani opened this issue Jun 6, 2021 · 6 comments
Closed

Greykite suitable for pure linear increasing series? #18

akthammomani opened this issue Jun 6, 2021 · 6 comments

Comments

@akthammomani
Copy link

akthammomani commented Jun 6, 2021

Hello

I'm working in some house price time series using Greykite but for some reason, the forecast I got is just a median price between upper and lower (ARIMA), so is this known issue with Greykite when we have a pure linear increasing series?

Thank you
Aktham Momani
greykite_forecast

@Reza1317
Copy link
Contributor

Reza1317 commented Jun 8, 2021

Hi,

Could you provide more details?
What is the data frequency? daily?

Also can you provide the code you used to fir the model?

Thanks
Reza

@akthammomani
Copy link
Author

akthammomani commented Jun 12, 2021

Data frequency is monthly so I used freq="MS" as showing below:

Please let me know if additional information is needed.

metadata = MetadataParam(
time_col="ts",
value_col="y",
freq="MS"
)

forecaster = Forecaster()
result = forecaster.run_forecast_config(
df=df,
config=ForecastConfig(
model_template=ModelTemplateEnum.SILVERKITE.name,
forecast_horizon=12,
coverage=0.95,
metadata_param=metadata
)
)

snapshot of the data used:

ts datetime64[ns]
y float64

ts	                  y

0 2012-02-01 390000.0
1 2012-03-01 400000.0
2 2012-04-01 410000.0
3 2012-05-01 438000.0
4 2012-06-01 470000.0
... ... ...
106 2020-12-01 1030000.0
107 2021-01-01 1050000.0
108 2021-02-01 1085000.0
109 2021-03-01 1095000.0
110 2021-04-01 1125000.0

Regards,
Aktham

@sayanpatra
Copy link
Contributor

@akthammomani Silverkite tries to automatically introduce some amount of seasonality to the model. However, it is probably redundant for your use case. You can try to:

  1. Tune the seasonality (maybe even turn those off). Example here: https://github.com/linkedin/greykite/blob/master/docs/nbpages/tutorials/0100_forecast_tutorial.py (line 446)
  2. Use a different template e.g. SILVERKITE_WEEKLY. It was tuned for weekly data, however might produce a better model than SILVERKITE. More details here: https://github.com/linkedin/greykite/blob/master/docs/pages/stepbystep/0200_choose_template.rst

@akthammomani
Copy link
Author

akthammomani commented Jun 22, 2021

Thank you for the recommendations.

Both of the suggestions, produced same initial forecast, as shown below when seasonality is off:

seasonality_off

@sayanpatra
Copy link
Contributor

@akthammomani Can you try using SILVERKITE_EMPTY template with C(month) as a regressor, ct1 as growth, and autoregression with "auto" or lag 1

@KaixuYang
Copy link
Contributor

Close this issue as this thread has been inactive for many days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants