Using NHITS I get monthly forecasts like this. As ...
# neural-forecast
m
Using NHITS I get monthly forecasts like this. As you can see there is yearly seasonality, but the minimum point in the forecast is too high. To handle cases like this in models like Prophet I would set the seasonality mode as "multiplicative" with respect to the trend. Do you have any general suggestions on how to set hyperparameters to get better results with NHITS? I have tried adding exogenous variables to indicate the month, but the prediction is even worse. Thanks
k
Hey @Manuel, How are you evaluating the predictions? Or is this a qualitative evaluation? On the side of controlling the seasonality using a multiplicative approach. It should be possible to create a Box-Cox log scaler in the TemporalNorm module. Using a logarithmic transformation (multiplicative deleveling) could reduce the predictions variance. Another idea that has given me good results is to add a
SeasonalNaive
feature to better control the seasonality in the
futr_exog_list
parameter. Let me know your thoughts.
m
@Kin Gtz. Olivares Thanks! Previously I had tried to log transform the data, perform the forecast on the transformed data and then reverse the log transform with exp, but it did not seem to work well (I was getting overly smoothed forecasts). About the last idea, would you use a naive seasonal model to perform a forecast and then use that forecast as an exogenous variable for NHITS?
k
Yes, use Seasonal Naive as a model input. To help it better model the seasonalities. Its almost like modeling the I residuals vs SeasonalNaive, in an AR I MA model.
👍 1