Skip to content

Commit

Permalink
Investigate Large Horizon Models #213. Improved perf logging. Display…
Browse files Browse the repository at this point in the history
… the first and last multistep forecast perfs. Updated these perfs
  • Loading branch information
antoinecarme committed Mar 8, 2023
1 parent 06ed8ef commit 664053c
Show file tree
Hide file tree
Showing 2 changed files with 127 additions and 127 deletions.
56 changes: 28 additions & 28 deletions tests/references/basic_checks/issue_46_negative_horizon.log
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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}}))
Expand Down
Loading

0 comments on commit 664053c

Please sign in to comment.