Hi all, looking for any recommendarions and sugges...
# general
j
Hi all, looking for any recommendarions and suggestions for limiting model forecast change coming off of seasonal periods. I have a global ML tree model (lgb, xbf, catboost) at the weekly level which correctly models seasonality patterns, but when i run a model right after the seasonal spike, vs 2 months later when in the seasonal valley, the Level drastically changes. My assumption is due to the recent lags are high after the spike, and low during the valley What happens is the long term volume changes by 30% or more just bc of the last 2 months of data. I already use fourier features for week and month I do 4 week recursive forecast with lags starting at 4 Weekly forecasts with 2 year horizon I do lags, rolling MA, diffs I have tried doing longer recursive windows of 13 and 26. I also tried adjusting l1 and l2 Impacts boosted algos most, random forecast isn't impacted as much I have tried de-weighting the most recent values, which actually worked but there's no justification to de-weight your most recent data Curious if others have this issue
👍 1
j
Hey. Have you looked at the feature importance? Sometimes the lags take the most importance and thus drive the forecast and not using them improves it
j
@José Morales thank you for the feedback! what if the 'accuracy' is better with lags, but it causes more model change cycle over cycle, any recommendations on how to limit model change with new data? (Ensembling, hyperparameter tuning are some options, just wondering what else others have done or what is best practice)
v
Hi @Jeff Tackes, since you mentioned weekly data. Have you tried including lag52 and also including numerical value for the week of the year?
j
Hi @Vidar Ingason,good suggestions. I do have both calendar week, and a lag 52 feature in the model. Also do sin/cos of week_num as well. 😕 Its capturing the seasonality 'pattern'. Just the 'level' or 'mean' of our forecast changes drastically from high point to low point..
v
Interesting. I have experiences similar (not using nixtla though) but then I was using default hyperparameters of the boosted tree. It was much better when I tuned the hyperparameters. I just mention this as you didn't say anything about having tuned the hyperparameters. This might not be the solution for you, just something I encountered once.
j
another good suggestion, we have not tuned these parameters. using all default. I have in my pipeline to use bayesian opt to get better HP, but glad to hear that might help with stability!