Hello everyone, I have just started using nixtla ...
# general
a
Hello everyone, I have just started using nixtla for hierarchical timeseries forecasting for a class project. I have been trying to replicate the example on the “TourismSmall” dataset using the ARIMA model and the MinTrace(method=‘mint_cov’) as a reconciler. However, I always get the following exception: Exception: min_trace (mint_cov) needs covariance matrix to be positive definite. I also tried other models (for example, AutoETS), other datasets (for example, Labour) and I also played with the mint_shr_ridge parameter but I still get the same error. Could you let me know how I can overcome this issue? Thank you very much in advance! Asterios
m
Hi! Thanks for your question @Asterios Tsiourvas. Did you try setting the
nonnegative
parameter to true? Here is an example
a
Hi Max! Thank you very much for your response! I worked on the method=‘mint_cov’ instead of the ‘ols’. It seems that when using AutoETS and AutoARIMA the ‘mint_cov’ method works well, while when using ETS and ARIMA I receive the error I mentioned. Is this an expected behavior?
f
hey @Asterios Tsiourvas! Thank you for using hierarchicalforecast. It seems like the issue you’re experiencing is unexpected. xD Typically, the
mint_cov
approach breaks when the model’s residuals have low variance, such as when the residuals are close to a constant. Could you check if that’s the case? (You can check this by computing the difference between the actual values and the fitted values of the models and after that computing the variance for each model) The
mint_cov
function computes the variance-covariance matrix of the residuals, which is a challenging problem. This can result in an ill-conditioned matrix that causes the process to break. To address this, you can use alternative approaches like
wls_var
and
mint_shrink
. These approaches can help to reduce the complexity of the variance-covariance matrix and make it more stable. Hopefully, trying these alternative approaches will help to resolve the issue you’re experiencing.