From 664053c5cf37d4670d16856ba74e41476d9a9d45 Mon Sep 17 00:00:00 2001 From: Antoine CARME Date: Wed, 8 Mar 2023 21:36:35 +0100 Subject: [PATCH] Investigate Large Horizon Models #213. Improved perf logging. Display the first and last multistep forecast perfs. Updated these perfs --- .../issue_46_negative_horizon.log | 56 ++--- .../basic_checks/issue_46_one_or_two_rows.log | 198 +++++++++--------- 2 files changed, 127 insertions(+), 127 deletions(-) diff --git a/tests/references/basic_checks/issue_46_negative_horizon.log b/tests/references/basic_checks/issue_46_negative_horizon.log index 832191db6..2f60cc6f4 100644 --- a/tests/references/basic_checks/issue_46_negative_horizon.log +++ b/tests/references/basic_checks/issue_46_negative_horizon.log @@ -1,28 +1,28 @@ INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 0}})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.104, ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 0}})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.004, ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 0}})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 2}})) INFO:pyaf.timing:('OPERATION_START', ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) PYAF_ERROR_NEGATIVE_OR_NULL_HORIZON 0 -INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': '_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.707, ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.002, ('TRAINING', {'Signal': 'signal', 'Transformation': '_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.089, ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.216, ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.394, ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) +INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.159, ('TRAINING', {'Signal': 'signal', 'Transformation': '_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.162, ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.171, ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.207, ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.248, ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) INFO:pyaf.timing:('OPERATION_START', ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) INFO:pyaf.timing:('OPERATION_START', ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.092, ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) -INFO:pyaf.timing:('OPERATION_START', ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': '_signal_ConstantTrend_residue_bestCycle_byMAPE_residue_NoAR'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.211, ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': '_signal_ConstantTrend_residue_bestCycle_byMAPE_residue_NoAR'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.029, ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) +INFO:pyaf.timing:('OPERATION_START', ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': '_signal_ConstantTrend_residue_Cycle_None_residue_NoAR'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.072, ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': '_signal_ConstantTrend_residue_Cycle_None_residue_NoAR'})) INFO:pyaf.timing:('OPERATION_START', ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.3, ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.603, ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.999, ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 2}})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.052, ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.153, ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.402, ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 2}})) INFO:pyaf.timing:('OPERATION_START', ('FORECASTING', {'Signals': ['signal'], 'Horizon': 0})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.09, ('FORECASTING', {'Signals': ['signal'], 'Horizon': 0})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.012, ('FORECASTING', {'Signals': ['signal'], 'Horizon': 0})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 2}})) INFO:pyaf.timing:('OPERATION_START', ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) Transformation DecompositionType ... Voting Complexity @@ -38,24 +38,24 @@ PERFS_MAPE_MASE 0.0 None FORECAST_FAILED INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': '_signal', 'DecompositionType': 'T+S+R'})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.6, ('TRAINING', {'Signal': 'signal', 'Transformation': '_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.899, ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.909, ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.099, ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.297, ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) +INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.157, ('TRAINING', {'Signal': 'signal', 'Transformation': '_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.161, ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.176, ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.199, ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.236, ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) INFO:pyaf.timing:('OPERATION_START', ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) INFO:pyaf.timing:('OPERATION_START', ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.012, ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) -INFO:pyaf.timing:('OPERATION_START', ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': '_signal_ConstantTrend_residue_bestCycle_byMAPE_residue_NoAR'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.293, ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': '_signal_ConstantTrend_residue_bestCycle_byMAPE_residue_NoAR'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.024, ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) +INFO:pyaf.timing:('OPERATION_START', ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': '_signal_ConstantTrend_residue_Cycle_None_residue_NoAR'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.071, ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': '_signal_ConstantTrend_residue_Cycle_None_residue_NoAR'})) INFO:pyaf.timing:('OPERATION_START', ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.201, ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.507, ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.805, ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 2}})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.051, ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.146, ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.384, ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 2}})) INFO:pyaf.timing:('OPERATION_START', ('FORECASTING', {'Signals': ['signal'], 'Horizon': 0})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.089, ('FORECASTING', {'Signals': ['signal'], 'Horizon': 0})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.011, ('FORECASTING', {'Signals': ['signal'], 'Horizon': 0})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': -1}})) INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.0, ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': -1}})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': -2}})) diff --git a/tests/references/basic_checks/issue_46_one_or_two_rows.log b/tests/references/basic_checks/issue_46_one_or_two_rows.log index 182318542..e649a7bd1 100644 --- a/tests/references/basic_checks/issue_46_one_or_two_rows.log +++ b/tests/references/basic_checks/issue_46_one_or_two_rows.log @@ -1,25 +1,25 @@ INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 2}})) INFO:pyaf.timing:('OPERATION_START', ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': '_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.788, ('TRAINING', {'Signal': 'signal', 'Transformation': '_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.98, ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.084, ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.093, ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.201, ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.16, ('TRAINING', {'Signal': 'signal', 'Transformation': '_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.161, ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.178, ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.196, ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.234, ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) INFO:pyaf.timing:('OPERATION_START', ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) INFO:pyaf.timing:('OPERATION_START', ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.014, ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) -INFO:pyaf.timing:('OPERATION_START', ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': '_signal_ConstantTrend_residue_bestCycle_byMAPE_residue_NoAR'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.189, ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': '_signal_ConstantTrend_residue_bestCycle_byMAPE_residue_NoAR'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.029, ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) +INFO:pyaf.timing:('OPERATION_START', ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': '_signal_ConstantTrend_residue_Cycle_None_residue_NoAR'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.072, ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': '_signal_ConstantTrend_residue_Cycle_None_residue_NoAR'})) INFO:pyaf.timing:('OPERATION_START', ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.193, ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.398, ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.777, ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 2}})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.051, ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.153, ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.393, ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 2}})) INFO:pyaf.timing:('OPERATION_START', ('FORECASTING', {'Signals': ['signal'], 'Horizon': 1})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.013, ('FORECASTING', {'Signals': ['signal'], 'Horizon': 1})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.016, ('FORECASTING', {'Signals': ['signal'], 'Horizon': 1})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 1}})) INFO:pyaf.timing:('OPERATION_START', ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) Transformation DecompositionType ... Voting Complexity @@ -41,22 +41,22 @@ INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transfor INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.501, ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.685, ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.69, ('TRAINING', {'Signal': 'signal', 'Transformation': '_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.696, ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.882, ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.114, ('TRAINING', {'Signal': 'signal', 'Transformation': '_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.114, ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.114, ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.152, ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.19, ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) INFO:pyaf.timing:('OPERATION_START', ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) INFO:pyaf.timing:('OPERATION_START', ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.104, ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) -INFO:pyaf.timing:('OPERATION_START', ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': '_signal_ConstantTrend_residue_bestCycle_byMAPE_residue_NoAR'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.195, ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': '_signal_ConstantTrend_residue_bestCycle_byMAPE_residue_NoAR'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.024, ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) +INFO:pyaf.timing:('OPERATION_START', ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': '_signal_ConstantTrend_residue_Cycle_None_residue_NoAR'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.041, ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': '_signal_ConstantTrend_residue_Cycle_None_residue_NoAR'})) INFO:pyaf.timing:('OPERATION_START', ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.104, ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.404, ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.288, ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 1}})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.031, ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.096, ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.287, ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 1}})) INFO:pyaf.timing:('OPERATION_START', ('FORECASTING', {'Signals': ['signal'], 'Horizon': 2})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.101, ('FORECASTING', {'Signals': ['signal'], 'Horizon': 2})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.029, ('FORECASTING', {'Signals': ['signal'], 'Horizon': 2})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 2}})) INFO:pyaf.timing:('OPERATION_START', ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) Transformation DecompositionType ... Voting Complexity @@ -79,22 +79,22 @@ INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transfor INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.589, ('TRAINING', {'Signal': 'signal', 'Transformation': '_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.885, ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.998, ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.998, ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.11, ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.156, ('TRAINING', {'Signal': 'signal', 'Transformation': '_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.16, ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.179, ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.193, ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.23, ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) INFO:pyaf.timing:('OPERATION_START', ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) INFO:pyaf.timing:('OPERATION_START', ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.094, ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) -INFO:pyaf.timing:('OPERATION_START', ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': '_signal_ConstantTrend_residue_bestCycle_byMAPE_residue_NoAR'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.299, ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': '_signal_ConstantTrend_residue_bestCycle_byMAPE_residue_NoAR'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.024, ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) +INFO:pyaf.timing:('OPERATION_START', ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': '_signal_ConstantTrend_residue_Cycle_None_residue_NoAR'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.071, ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': '_signal_ConstantTrend_residue_Cycle_None_residue_NoAR'})) INFO:pyaf.timing:('OPERATION_START', ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.207, ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.6, ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.712, ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 2}})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.051, ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.147, ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.378, ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 2}})) INFO:pyaf.timing:('OPERATION_START', ('FORECASTING', {'Signals': ['signal'], 'Horizon': 10})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.607, ('FORECASTING', {'Signals': ['signal'], 'Horizon': 10})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.126, ('FORECASTING', {'Signals': ['signal'], 'Horizon': 10})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 20}})) INFO:pyaf.timing:('OPERATION_START', ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) Transformation DecompositionType ... Voting Complexity @@ -121,26 +121,26 @@ Forecasts 10 10 NaN ... NaN NaN [10 rows x 6 columns] +INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': '_signal', 'DecompositionType': 'T+S+R'})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': '_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 3.3, ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 3.994, ('TRAINING', {'Signal': 'signal', 'Transformation': '_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 4.498, ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 5.498, ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 5.7, ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.926, ('TRAINING', {'Signal': 'signal', 'Transformation': '_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.97, ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.975, ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.279, ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.32, ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) INFO:pyaf.timing:('OPERATION_START', ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) INFO:pyaf.timing:('OPERATION_START', ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.197, ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) -INFO:pyaf.timing:('OPERATION_START', ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': '_signal_ConstantTrend_residue_bestCycle_byMAPE_residue_NoAR'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 5.4, ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': '_signal_ConstantTrend_residue_bestCycle_byMAPE_residue_NoAR'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.029, ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) +INFO:pyaf.timing:('OPERATION_START', ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': '_signal_ConstantTrend_residue_Cycle_None_residue_NoAR'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.517, ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': '_signal_ConstantTrend_residue_Cycle_None_residue_NoAR'})) INFO:pyaf.timing:('OPERATION_START', ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 5.401, ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 10.999, ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 16.7, ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 20}})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.508, ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.055, ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 2.375, ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 20}})) INFO:pyaf.timing:('OPERATION_START', ('FORECASTING', {'Signals': ['signal'], 'Horizon': 10})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.301, ('FORECASTING', {'Signals': ['signal'], 'Horizon': 10})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.126, ('FORECASTING', {'Signals': ['signal'], 'Horizon': 10})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 1}})) INFO:pyaf.timing:('OPERATION_START', ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) Transformation DecompositionType ... Voting Complexity @@ -171,22 +171,22 @@ INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transfor INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.804, ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 2.399, ('TRAINING', {'Signal': 'signal', 'Transformation': '_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 2.896, ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 3.399, ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 4.008, ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.173, ('TRAINING', {'Signal': 'signal', 'Transformation': '_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.175, ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.192, ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.198, ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.238, ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) INFO:pyaf.timing:('OPERATION_START', ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) INFO:pyaf.timing:('OPERATION_START', ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.199, ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) -INFO:pyaf.timing:('OPERATION_START', ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': 'CumSum_signal_ConstantTrend_residue_bestCycle_byMAPE_residue_NoAR'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.403, ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': 'CumSum_signal_ConstantTrend_residue_bestCycle_byMAPE_residue_NoAR'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.02, ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) +INFO:pyaf.timing:('OPERATION_START', ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': 'CumSum_signal_ConstantTrend_residue_Cycle_None_residue_NoAR'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.038, ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': 'CumSum_signal_ConstantTrend_residue_Cycle_None_residue_NoAR'})) INFO:pyaf.timing:('OPERATION_START', ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.49, ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.093, ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 5.192, ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 1}})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.031, ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.089, ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.329, ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 1}})) INFO:pyaf.timing:('OPERATION_START', ('FORECASTING', {'Signals': ['signal'], 'Horizon': 4})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.005, ('FORECASTING', {'Signals': ['signal'], 'Horizon': 4})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.055, ('FORECASTING', {'Signals': ['signal'], 'Horizon': 4})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 6}})) INFO:pyaf.timing:('OPERATION_START', ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) Transformation DecompositionType ... Voting Complexity @@ -211,22 +211,22 @@ INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transfor INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 4.895, ('TRAINING', {'Signal': 'signal', 'Transformation': '_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 4.997, ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 5.805, ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 6.905, ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 7.496, ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.501, ('TRAINING', {'Signal': 'signal', 'Transformation': '_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.52, ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.533, ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.687, ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.729, ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) INFO:pyaf.timing:('OPERATION_START', ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) INFO:pyaf.timing:('OPERATION_START', ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.21, ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) -INFO:pyaf.timing:('OPERATION_START', ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': 'CumSum_signal_ConstantTrend_residue_bestCycle_byMAPE_residue_NoAR'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.293, ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': 'CumSum_signal_ConstantTrend_residue_bestCycle_byMAPE_residue_NoAR'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.028, ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) +INFO:pyaf.timing:('OPERATION_START', ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': 'CumSum_signal_ConstantTrend_residue_Cycle_None_residue_NoAR'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.181, ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': 'CumSum_signal_ConstantTrend_residue_Cycle_None_residue_NoAR'})) INFO:pyaf.timing:('OPERATION_START', ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.999, ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 2.503, ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 10.0, ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 6}})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.16, ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.369, ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.099, ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 6}})) INFO:pyaf.timing:('OPERATION_START', ('FORECASTING', {'Signals': ['signal'], 'Horizon': 2})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.297, ('FORECASTING', {'Signals': ['signal'], 'Horizon': 2})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.03, ('FORECASTING', {'Signals': ['signal'], 'Horizon': 2})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 6}})) INFO:pyaf.timing:('OPERATION_START', ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) Transformation DecompositionType ... Voting Complexity @@ -246,25 +246,25 @@ Forecasts [2 rows x 6 columns] INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': '_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 3.389, ('TRAINING', {'Signal': 'signal', 'Transformation': '_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 3.712, ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 3.813, ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 4.501, ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 4.897, ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.502, ('TRAINING', {'Signal': 'signal', 'Transformation': '_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.507, ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.519, ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.685, ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.726, ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) INFO:pyaf.timing:('OPERATION_START', ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) INFO:pyaf.timing:('OPERATION_START', ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.108, ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) -INFO:pyaf.timing:('OPERATION_START', ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': 'CumSum_signal_ConstantTrend_residue_bestCycle_byMAPE_residue_NoAR'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.994, ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': 'CumSum_signal_ConstantTrend_residue_bestCycle_byMAPE_residue_NoAR'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.027, ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) +INFO:pyaf.timing:('OPERATION_START', ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': 'CumSum_signal_ConstantTrend_residue_Cycle_None_residue_NoAR'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.179, ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': 'CumSum_signal_ConstantTrend_residue_Cycle_None_residue_NoAR'})) INFO:pyaf.timing:('OPERATION_START', ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.308, ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 2.411, ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 7.309, ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 6}})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.161, ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.368, ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.096, ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 6}})) INFO:pyaf.timing:('OPERATION_START', ('FORECASTING', {'Signals': ['signal'], 'Horizon': 1})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.184, ('FORECASTING', {'Signals': ['signal'], 'Horizon': 1})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.017, ('FORECASTING', {'Signals': ['signal'], 'Horizon': 1})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 1}})) INFO:pyaf.timing:('OPERATION_START', ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) Transformation DecompositionType ... Voting Complexity @@ -286,22 +286,22 @@ INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transfor INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.099, ('TRAINING', {'Signal': 'signal', 'Transformation': '_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.599, ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.504, ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.514, ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 2.098, ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.172, ('TRAINING', {'Signal': 'signal', 'Transformation': 'Diff_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.174, ('TRAINING', {'Signal': 'signal', 'Transformation': '_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.174, ('TRAINING', {'Signal': 'signal', 'Transformation': 'CumSum_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.198, ('TRAINING', {'Signal': 'signal', 'Transformation': 'RelDiff_signal', 'DecompositionType': 'T+S+R'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.238, ('SIGNAL_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', 'None', '_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) INFO:pyaf.timing:('OPERATION_START', ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) INFO:pyaf.timing:('OPERATION_START', ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.105, ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) -INFO:pyaf.timing:('OPERATION_START', ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': 'CumSum_signal_ConstantTrend_residue_bestCycle_byMAPE_residue_NoAR'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.197, ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': 'CumSum_signal_ConstantTrend_residue_bestCycle_byMAPE_residue_NoAR'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.02, ('MODEL_SELECTION', {'Signal': 'signal', 'Transformations': [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')]})) +INFO:pyaf.timing:('OPERATION_START', ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': 'CumSum_signal_ConstantTrend_residue_Cycle_None_residue_NoAR'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.036, ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'signal', 'Model': 'CumSum_signal_ConstantTrend_residue_Cycle_None_residue_NoAR'})) INFO:pyaf.timing:('OPERATION_START', ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.303, ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.691, ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 2.791, ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 1}})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.031, ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'signal'})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.087, ('FINALIZE_TRAINING', {'Signals': ['signal'], 'Transformations': [('signal', [('signal', 'None', 'CumSum_', 'T+S+R'), ('signal', 'None', 'Diff_', 'T+S+R'), ('signal', 'None', 'RelDiff_', 'T+S+R'), ('signal', 'None', '_', 'T+S+R')])], 'Cores': 1})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.327, ('TRAINING', {'Signals': ['signal'], 'Horizons': {'signal': 1}})) INFO:pyaf.timing:('OPERATION_START', ('FORECASTING', {'Signals': ['signal'], 'Horizon': 7})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.805, ('FORECASTING', {'Signals': ['signal'], 'Horizon': 7})) +INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.094, ('FORECASTING', {'Signals': ['signal'], 'Horizon': 7})) Transformation DecompositionType ... Voting Complexity 0 CumSum_signal T+S+R ... 23.0 MSSSS 1 CumSum_signal T+S+R ... 23.0 MSSSS