I’m building a workflow using the ARIMA model for which I mostly use group loops.
For now, I build the entire workflow, but I encountered some problems.
I cannot use the basic ARIMA model nodes, since I have to set different values in the model for the different groups. This is why I’m trying to use the Auto ARIMA Learner node, and the nodes related to this node. This is where my questions come into place.
My first question is that ARIMA assumes the stationarity of the data, but is this checked in one of the nodes?
My second questions involves my main problem. The ARIMA predictor, that has to be used with the Auto ARIMA Learner node, gives an error for some applications when I perform the group loop. The error is: ValueError: could not broadcast input array from shape (0) into shape (2). I suspect this is due to the fact that it is not possible to predict an ARIMA model for these certain groups. But this also means that the group loop stops running. How can I adjust my workflow so that the group loop keeps running, and just skips, or assigns a certain value to, the groups for which the model is unable to predict the ARIMA model. The problem takes place in the python predictor for in-sample prediction.
I was wondering if I could get any help with my problem.
Thank you in advance
Hi @Vermeulen, welcome to the forum. Glad to see you’re making use of the components!
I’ll try to answer your questions:
The only component with an explicit test for stationarity is the analyze ARIMA residual. So Far we’ve been suggesting the Inspect Seasonality component for this task as you can review the ACF and PACF plots in it.
That being said I can see how that not ideal in your use case. I’ll look into adding a flow variable output from the inspect seasonality node to help with looping situations like this for the next release.
I’m not exactly sure what’s causing that error message, but I think that’s a good place to start looking. Could you share some more info about the data that’s causing it to break? I’ll play around with it a bit an try to implement a fix as well (most likely a more concise error message).
To the second part of that question about continuing the loop after a failed interaction you can do that with the Try and Catch nodes. They form a block just like the loop start and loop end nodes do in knime . This would allow you to attempt the ARIMA, if it fails output missing values, and empty table, or whatever else you choose.
Here’s an, admittedly unrelated, example of the Try Catch block from the hub to get you started. Feel free to ask more questions on that though
This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.