I’m glad to post that the project I’ve worked on has now reached it first functional testing and it’s passing quite a number of unit tests created to test it against the auto.arima and ets functions of the forecast package in R.
In my last post, I’ve mentioned,
Apart from these, One of my tasks is to figure out a way to connect the various modules and classes, that I have built during the first month, with the ES modules so that they all work together.
Over the last few weeks, I’ve worked on doing these by using the Forecast class wrappers to create a completely automatic workflow for forecasting time series data using SARIMAX and ES models.
The SARIMAX models use the auto_order() function that I have created during my first month of coding and have stood firm against a lot of unit tests against the auto.arima function in R. The SARIMAX is now flexible in terms of selecting model as earlier it was limited to only using the AIC values for model selections, but now it can use all the Information Criteria available in statsmodels. This is a great deal because now the SARIMAX models are very flexible and give our end users some options for model selection.
The ES models use the auto_es() function that I have created during the first half of my second coding phase and are now working fine with a few unit tests against the ets function in R. However, it is limited to only using additive error models and not include the multiplicative error models which are both supported in the forecast package of R. I am working hard with my mentor to check if its possible to add this flexibility to the ES models. Apart from that, The ES models are flexible in terms of using Information Criteria for model selection which is a good sign.
Unlike my last month’s evaluation, This time I have also updated the documentation for all the classes and modules that have been built till now. I have also written quite a few smoke tests and unit tests for them, and I’m willing to write a few more tests to thoroughly test the automatic forecasting model.
The example notebook showing the work is present here in a Github gist:
All my code contributions can be found at the following branch:
or, at the subsequent Pull Request:
Please comment on my work and provide me with feedback on how can I improve my project.