Antoine SCHWARTZ -CROIX-
07/07/2023, 11:32 AMn_freq_downsample
, for annual seasonality in weekly : [52, 26, 1]
or something like that?)
Thank you very much 🙂Ryan Friedrich
07/07/2023, 12:24 PMKin Gtz. Olivares
07/07/2023, 3:09 PMRafael Correia Da Silva
07/07/2023, 3:47 PMcross_validation
method, but sadly don't work at all because it does not retrain the model over several points in time. I resorted to a simple for loop to do that.
2. Short time series: My time series has both short-lived products, and everlasting ones. I gained accuracy when adding past, discontinued products to the model training, and the key was to share product characteristics as static features (such as brand, price range). I have about ~6 years of data with a product cycle of about a year.
3. Co-variables: Price points and discounts have played a role in improving accuracy of some product categories. However, they completely mess up forecasts for some others due to varying elasticity. Solutions I've been testing are: (a) null out prices for known non-elastic products; (b) added a bool variable indicating expected elasticity for each product as static. Having mixed results so far, but with some improvements.
I have not tested NHITS or TFT at all, but they look promising as well!Cristian (Nixtla)
07/07/2023, 4:05 PMn_freq_downsample
for the NHITS.
Regarding tips, the previous answers already have some very good insights. Simulating historic forecasts at different points in time is a very common practice, however with your short data it will further limit the length, specially on the earlier cutoffs. A forecast horizon of 1 year already seems long enough to properly evaluate your models, so one cutoff might be enough. Or use multiple cutoffs but give enough historic data to use at least 1*horizon (52) of input_size
.
For HPO, as Kin mentioned, all models have their auto
version with a default search space. I recommend you to use them initially. Finally, adding exogenous variables can be critical in this case. You can add calendar variables and holiday events as future
variables, and characteristics of products/categories as static
variables.Manuel
07/07/2023, 4:36 PM52
timesteps, and an input_size of 2 years that I define as (2 * 52) + 1
. That + 1
often makes a big difference (the +1 is valid for 1 or 2 years of input_size, if you have a longer input_size you may need to add a larger value of weeks, you have to look at how many weeks there are in n
years).Antoine SCHWARTZ -CROIX-
07/07/2023, 5:01 PMTyler Blume
07/08/2023, 11:48 PMAntoine SCHWARTZ -CROIX-
07/10/2023, 8:05 AMManuel
07/20/2023, 1:24 PMKin Gtz. Olivares
07/20/2023, 1:26 PM