antoinecarme / pyaf

PyAF is an Open Source Python library for Automatic Time Series Forecasting built on top of popular pydata modules.
BSD 3-Clause "New" or "Revised" License
459 stars 72 forks source link

Run some Sanity Checks for PyAF 5.0 #224

Closed antoinecarme closed 1 year ago

antoinecarme commented 1 year ago

Following #45

Need to run some profiling checks to review the current state of PyAF 5.0.

A check for signal transformations stability and invariance is welcome.

To be included in the next PyAF release (5.0, expected on 2023-07-14).

antoinecarme commented 1 year ago

Invariance tests.

  1. Check that for the negative of a signal, PyAF produces the negative of the model given by the original signal. Not always the case, and that's normal.
  2. The same for these signals : -S, S+1, S*2. simple changes in the signal should not alter much the forecasts.
  3. Double check the forecast components: trends, cycles, AR etc.
  4. Double check the performance measures (MAPE(S+1) != MAPE(S)).
antoinecarme commented 1 year ago

For profiling, there are a lot of unnecessary precautions (np.clip(x, 0, None) for log(x), etc). These can sometimes be relaxed.

antoinecarme commented 1 year ago

Computation time for long term models.

antoinecarme commented 1 year ago

Memory footprint for long term models.

antoinecarme commented 1 year ago

Closing.