tidyverts / fabletools

General fable features useful for extension packages
http://fabletools.tidyverts.org/
89 stars 31 forks source link

Extremely slow augment() in my mable #208

Open edgBR opened 4 years ago

edgBR commented 4 years ago

Dear colleagues,

I have a grouped ts_tibble where I am fitting ETS, TSLM, ARIMA, NNETAR and a combination model using all of this 4:

ts_models <- ts_tibble %>% 
  model(arima = ARIMA(snsr_val_clean),
        nnarx = NNETAR(snsr_val_clean),
        tslm = TSLM(snsr_val_clean ~ trend()),
        ets = ETS(snsr_val_clean),
        ensemble_full =  combination_model(ARIMA(snsr_val_clean),
                                           NNETAR(snsr_val_clean),
                                           TSLM(snsr_val_clean ~ trend()),
                                           ETS(snsr_val_clean)))

The fitting takes 486.989s according to tictoc() and runs in paralell without problems (I am loading purrr+furrr+future). However when trying to inspect the mable object as:

augment(ts_models) It has been running for 1h and a half in single core and I can not access the results.

BR /Edgar

mitchelloharawild commented 4 years ago

I've moved this to fabletools as this is likely due to the combination handling in fabletools. It might also be due to the residuals() and fitted() methods for the fable models, which are due for some performance improvements this week. Can I ask how many series are in your ts_tibble?

edgBR commented 4 years ago

Hi @mitchelloharawild

I have 4273 time series in weekly frequency. However it seemed to me interesting that the fitting was faster than getting the residuals.

BR /Edgar

mitchelloharawild commented 4 years ago

Performance improvements have been made in b6b336c135f5f327ac957b0c5f837c379b9d0ac0, and further improvements are coming.

edgBR commented 4 years ago

Hi @mitchelloharawild thanks for the update.

Is 0.2.0 already in CRAN?

mitchelloharawild commented 4 years ago

Yes it is.

edgBR commented 4 years ago

Still really slow as well as my_models %>% accuracy()