multiseries
If forecasting with many series in a loop, these functions and code examples may facilitate setting up the process and getting key information for each model and series.
export_model_summaries()
- scalecast.multiseries.export_model_summaries(f_dict: dict[str, Forecaster], **kwargs: Any) DataFrame
Exports a pandas dataframe with information about each model run on each eries when doing forecasting using many different series.
- Parameters:
f_dict (dict[str,Forecaster]) – Dictionary of forcaster objects.
**kwargs – Passed to the Forecaster.export() function (do not pass dfs arg as that is set automatically to ‘model_summaries’).
- Returns:
(DataFrame) The combined model summaries.
from scalecast.Forecaster import Forecaster
from scalecast import GridGenerator
from scalecast.multiseries import export_model_summaries
import pandas_datareader as pdr
f_dict = {}
models = ('mlr','elasticnet','mlp')
GridGenerator.get_example_grids() # writes the Grids.py file to your working directory
for sym in ('UNRATE','GDP'):
df = pdr.get_data_fred(sym, start = '2000-01-01')
f = Forecaster(
y=df[sym],
current_dates=df.index,
future_dates = 12,
test_length = .1,
validation_length = 12,
)
f.add_ar_terms(12)
f.add_time_trend()
f.tune_test_forecast(models)
f_dict[sym] = f
model_summaries = export_model_summaries(f_dict,determine_best_by='LevelTestSetMAPE')
line_up_dates()
- scalecast.multiseries.line_up_dates(*fs: Unpack[Forecaster]) tuple[Unpack[Forecaster]]
Trims all passed Forecaster objects so they all have the same dates.
- Parameters:
*fs (Forecaster objects) – The objects to check and trim.
- Returns:
Forecaster objects with the same dates.
keep_smallest_first_date()
- scalecast.multiseries.keep_smallest_first_date(*fs: Unpack[Forecaster]) tuple[Unpack[Forecaster]]
Trims all passed Forecaster objects so they all have the same first date.
- Parameters:
*fs (Forecaster objects) – The objects to check and trim.
- Returns:
Forecaster objects with the same first date.