config-i1 / mes

Mixed Exponential Smoothing
0 stars 0 forks source link

Speed up adam with ARIMA #40

Closed config-i1 closed 4 years ago

config-i1 commented 4 years ago

This involves:

  1. Code tuning and optimisation: make sure that there are no duplicates, check C++;
  2. Memory usage: remove redundant variables.
  3. Profiling - see, where the slowest parts are.
config-i1 commented 4 years ago

This comes ultimately to the function polynomialiser(), which creates polynomials based on the provided ARIMA orders and parameters.

A possible solution here is to rewrite the function in C++

config-i1 commented 4 years ago

Having done several tests, the slowest part is the polyprod, which is already extremely fast. The second slowest thing is the eigen(), which cannot be improved. A possible solution for ARIMA is to either use bounds="admissible", which is faster or bounds="none", which is dangerous, but very fast.

Nothing else can be done at the moment.