diff --git a/tests/basic_checks/hierarchy_checks.py b/tests/basic_checks/hierarchy_checks.py index 26abad72f..23e246c76 100644 --- a/tests/basic_checks/hierarchy_checks.py +++ b/tests/basic_checks/hierarchy_checks.py @@ -34,6 +34,7 @@ def train_and_force_fail(b , error_message): df1 = b1.mHierarchy['Data'] print(df1.tail()) cols = df1.columns -b1.mHierarchy['Data'] = df1.append(pd.DataFrame([['Unknown' , 'Other_State' , 'Australia']], columns=cols)).reset_index(drop=True); +b1.mHierarchy['Data'] = pd.concat((df1, pd.DataFrame([['Unknown' , 'Other_State' , 'Australia']], columns=cols))).reset_index(drop=True); +# b1.mHierarchy['Data'] = df1.append(pd.DataFrame([['Unknown' , 'Other_State' , 'Australia']], columns=cols)).reset_index(drop=True); print(b1.mHierarchy['Data'].tail()) train_and_force_fail(b1 , "PYAF_ERROR_HIERARCHY_BASE_COLUMN_NOT_FOUND Unknown") diff --git a/tests/basic_checks/hierarchy_checks_non_existant_base_column.py b/tests/basic_checks/hierarchy_checks_non_existant_base_column.py index 26abad72f..23e246c76 100644 --- a/tests/basic_checks/hierarchy_checks_non_existant_base_column.py +++ b/tests/basic_checks/hierarchy_checks_non_existant_base_column.py @@ -34,6 +34,7 @@ def train_and_force_fail(b , error_message): df1 = b1.mHierarchy['Data'] print(df1.tail()) cols = df1.columns -b1.mHierarchy['Data'] = df1.append(pd.DataFrame([['Unknown' , 'Other_State' , 'Australia']], columns=cols)).reset_index(drop=True); +b1.mHierarchy['Data'] = pd.concat((df1, pd.DataFrame([['Unknown' , 'Other_State' , 'Australia']], columns=cols))).reset_index(drop=True); +# b1.mHierarchy['Data'] = df1.append(pd.DataFrame([['Unknown' , 'Other_State' , 'Australia']], columns=cols)).reset_index(drop=True); print(b1.mHierarchy['Data'].tail()) train_and_force_fail(b1 , "PYAF_ERROR_HIERARCHY_BASE_COLUMN_NOT_FOUND Unknown") diff --git a/tests/basic_checks/hierarchy_checks_unkonwn_base_column.py b/tests/basic_checks/hierarchy_checks_unkonwn_base_column.py index 26abad72f..fa4cf5464 100644 --- a/tests/basic_checks/hierarchy_checks_unkonwn_base_column.py +++ b/tests/basic_checks/hierarchy_checks_unkonwn_base_column.py @@ -34,6 +34,6 @@ def train_and_force_fail(b , error_message): df1 = b1.mHierarchy['Data'] print(df1.tail()) cols = df1.columns -b1.mHierarchy['Data'] = df1.append(pd.DataFrame([['Unknown' , 'Other_State' , 'Australia']], columns=cols)).reset_index(drop=True); +b1.mHierarchy['Data'] = pd.concat((df1, pd.DataFrame([['Unknown' , 'Other_State' , 'Australia']], columns=cols))).reset_index(drop=True); print(b1.mHierarchy['Data'].tail()) train_and_force_fail(b1 , "PYAF_ERROR_HIERARCHY_BASE_COLUMN_NOT_FOUND Unknown") diff --git a/tests/hierarchical/test_grouped_signals_AllMethods_Exogenous_all_nodes.py b/tests/hierarchical/test_grouped_signals_AllMethods_Exogenous_all_nodes.py index 451921c0c..9d5772941 100644 --- a/tests/hierarchical/test_grouped_signals_AllMethods_Exogenous_all_nodes.py +++ b/tests/hierarchical/test_grouped_signals_AllMethods_Exogenous_all_nodes.py @@ -14,7 +14,7 @@ def create_exog_data(b1): # fake exog data based on date variable lDate1 = b1.mPastData['Index'] lDate2 = b1.mFutureData['Index'] # not needed. exogenous data are missing when not available. - lDate = lDate1.append(lDate2) + lDate = pd.concat((lDate1, lDate2), axis = 0) lExogenousDataFrame = pd.DataFrame() lExogenousDataFrame['Index'] = lDate lExogenousDataFrame['Index_ex1'] = lDate * lDate diff --git a/tests/hierarchical/test_grouped_signals_AllMethods_Exogenous_per_node.py b/tests/hierarchical/test_grouped_signals_AllMethods_Exogenous_per_node.py index e0e0ec8a4..1bc64eaa4 100644 --- a/tests/hierarchical/test_grouped_signals_AllMethods_Exogenous_per_node.py +++ b/tests/hierarchical/test_grouped_signals_AllMethods_Exogenous_per_node.py @@ -14,7 +14,7 @@ def create_exog_data(b1): # fake exog data based on date variable lDate1 = b1.mPastData['Index'] lDate2 = b1.mFutureData['Index'] # not needed. exogenous data are missing when not available. - lDate = lDate1.append(lDate2) + lDate = pd.concat((lDate1, lDate2), axis = 0) lExogenousDataFrame = pd.DataFrame() lExogenousDataFrame['Index'] = lDate lExogenousDataFrame['Index_ex1'] = lDate * lDate diff --git a/tests/hierarchical/test_hierarchy_AU_AllMethods_Exogenous_all_nodes.py b/tests/hierarchical/test_hierarchy_AU_AllMethods_Exogenous_all_nodes.py index 854d089ae..60987fe11 100644 --- a/tests/hierarchical/test_hierarchy_AU_AllMethods_Exogenous_all_nodes.py +++ b/tests/hierarchical/test_hierarchy_AU_AllMethods_Exogenous_all_nodes.py @@ -11,7 +11,7 @@ def create_exog_data(b1): # fake exog data based on date variable lDate1 = b1.mPastData['Date'] lDate2 = b1.mFutureData['Date'] # not needed. exogfenous data are missing when not available. - lDate = lDate1.append(lDate2) + lDate = pd.concat((lDate1, lDate2), axis = 0) lExogenousDataFrame = pd.DataFrame() lExogenousDataFrame['Date'] = lDate lExogenousDataFrame['Date_second'] = lDate.dt.second diff --git a/tests/hierarchical/test_hierarchy_AU_AllMethods_Exogenous_per_node.py b/tests/hierarchical/test_hierarchy_AU_AllMethods_Exogenous_per_node.py index 236e694ab..d11eef16a 100644 --- a/tests/hierarchical/test_hierarchy_AU_AllMethods_Exogenous_per_node.py +++ b/tests/hierarchical/test_hierarchy_AU_AllMethods_Exogenous_per_node.py @@ -11,7 +11,7 @@ def create_exog_data(b1): # fake exog data based on date variable lDate1 = b1.mPastData['Date'] lDate2 = b1.mFutureData['Date'] # not needed. exogfenous data are missing when not available. - lDate = lDate1.append(lDate2) + lDate = pd.concat((lDate1, lDate2), axis = 0) lExogenousDataFrame = pd.DataFrame() lExogenousDataFrame['Date'] = lDate lExogenousDataFrame['Date_second'] = lDate.dt.second diff --git a/tests/references/bugs/issue_76/test_ozone_unicode.log b/tests/references/bugs/issue_76/test_ozone_unicode.log deleted file mode 100644 index 5224afe29..000000000 --- a/tests/references/bugs/issue_76/test_ozone_unicode.log +++ /dev/null @@ -1,219 +0,0 @@ -INFO:pyaf.timing:('OPERATION_START', ('SIGNAL_TRAINING', {'Signals': ['臭氧'], 'Transformations': [('臭氧', 'None', '_', 'T+S+R'), ('臭氧', 'None', 'Diff_', 'T+S+R'), ('臭氧', 'None', 'RelDiff_', 'T+S+R'), ('臭氧', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) - Month Ozone Time -0 1955-01 2.7 1955-01-01 -1 1955-02 2.0 1955-02-01 -2 1955-03 3.6 1955-03-01 -3 1955-04 5.0 1955-04-01 -4 1955-05 6.5 1955-05-01 -INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': '臭氧', 'Transformation': '_臭氧'})) -INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': '臭氧', 'Transformation': 'Diff_臭氧'})) -INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': '臭氧', 'Transformation': 'CumSum_臭氧'})) -INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': '臭氧', 'Transformation': 'RelDiff_臭氧'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 2.155, ('SIGNAL_TRAINING', {'Signals': ['臭氧'], 'Transformations': [('臭氧', 'None', '_', 'T+S+R'), ('臭氧', 'None', 'Diff_', 'T+S+R'), ('臭氧', 'None', 'RelDiff_', 'T+S+R'), ('臭氧', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4})) -INFO:pyaf.timing:('OPERATION_START', ('FINALIZE_TRAINING', {'Signals': ['臭氧'], 'Transformations': [('臭氧', [('臭氧', 'None', 'CumSum_', 'T+S+R'), ('臭氧', 'None', 'Diff_', 'T+S+R'), ('臭氧', 'None', 'RelDiff_', 'T+S+R'), ('臭氧', 'None', '_', 'T+S+R')])], 'Cores': 1})) -INFO:pyaf.timing:('OPERATION_START', ('MODEL_SELECTION', {'Signal': '臭氧', 'Transformations': [('臭氧', 'None', 'CumSum_', 'T+S+R'), ('臭氧', 'None', 'Diff_', 'T+S+R'), ('臭氧', 'None', 'RelDiff_', 'T+S+R'), ('臭氧', 'None', '_', 'T+S+R')]})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.011, ('MODEL_SELECTION', {'Signal': '臭氧', 'Transformations': [('臭氧', 'None', 'CumSum_', 'T+S+R'), ('臭氧', 'None', 'Diff_', 'T+S+R'), ('臭氧', 'None', 'RelDiff_', 'T+S+R'), ('臭氧', 'None', '_', 'T+S+R')]})) -INFO:pyaf.timing:('OPERATION_START', ('UPDATE_BEST_MODEL_PERFS', {'Signal': '臭氧', 'Model': '_臭氧_LinearTrend_residue_bestCycle_byMAPE_residue_AR(51)'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.046, ('UPDATE_BEST_MODEL_PERFS', {'Signal': '臭氧', 'Model': '_臭氧_LinearTrend_residue_bestCycle_byMAPE_residue_AR(51)'})) -INFO:pyaf.timing:('OPERATION_START', ('COMPUTE_PREDICTION_INTERVALS', {'Signal': '臭氧'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.34, ('COMPUTE_PREDICTION_INTERVALS', {'Signal': '臭氧'})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.398, ('FINALIZE_TRAINING', {'Signals': ['臭氧'], 'Transformations': [('臭氧', [('臭氧', 'None', 'CumSum_', 'T+S+R'), ('臭氧', 'None', 'Diff_', 'T+S+R'), ('臭氧', 'None', 'RelDiff_', 'T+S+R'), ('臭氧', 'None', '_', 'T+S+R')])], 'Cores': 1})) -INFO:pyaf.std:TIME_DETAIL TimeVariable='月' TimeMin=1955-01-01T00:00:00.000000 TimeMax=1967-09-01T00:00:00.000000 TimeDelta= Horizon=12 -INFO:pyaf.std:SIGNAL_DETAIL_ORIG SignalVariable='臭氧' Length=204 Min=1.2 Max=8.7 Mean=3.8357843137254894 StdDev=1.491559215940118 -INFO:pyaf.std:SIGNAL_DETAIL_TRANSFORMED TransformedSignalVariable='_臭氧' Min=0.0 Max=1.0 Mean=0.35143790849673195 StdDev=0.19887456212534912 -INFO:pyaf.std:DECOMPOSITION_TYPE 'T+S+R' -INFO:pyaf.std:BEST_TRANSOFORMATION_TYPE '_' -INFO:pyaf.std:BEST_DECOMPOSITION '_臭氧_LinearTrend_residue_bestCycle_byMAPE_residue_AR(51)' [LinearTrend + Cycle_None + AR] -INFO:pyaf.std:TREND_DETAIL '_臭氧_LinearTrend' [LinearTrend] -INFO:pyaf.std:CYCLE_DETAIL '_臭氧_LinearTrend_residue_bestCycle_byMAPE' [Cycle_None] -INFO:pyaf.std:AUTOREG_DETAIL '_臭氧_LinearTrend_residue_bestCycle_byMAPE_residue_AR(51)' [AR] -INFO:pyaf.std:MODEL_MAPE MAPE_Fit=0.1668 MAPE_Forecast=0.1479 MAPE_Test=0.1426 -INFO:pyaf.std:MODEL_SMAPE SMAPE_Fit=0.1565 SMAPE_Forecast=0.1637 SMAPE_Test=0.1527 -INFO:pyaf.std:MODEL_MASE MASE_Fit=0.7155 MASE_Forecast=0.6304 MASE_Test=0.7351 -INFO:pyaf.std:MODEL_CRPS CRPS_Fit=0.3393520318874522 CRPS_Forecast=0.26586525836868236 CRPS_Test=0.28274618156625175 -INFO:pyaf.std:MODEL_L1 L1_Fit=0.6289210242456797 L1_Forecast=0.4893586521049049 L1_Test=0.3475195870267343 -INFO:pyaf.std:MODEL_L2 L2_Fit=0.83001742194125 L2_Forecast=0.6681008123392113 L2_Test=0.430119338678025 -INFO:pyaf.std:MODEL_LnQ LnQ_Fit=6.4891787083547765 LnQ_Forecast=1.7465131682383166 LnQ_Test=0.5857060588437405 -INFO:pyaf.std:MODEL_MEDIAN_AE MedAE_Fit=0.5336042100469847 MedAE_Forecast=0.40725700645438323 MedAE_Test=0.254203897678674 -INFO:pyaf.std:MODEL_COMPLEXITY 39.0 -INFO:pyaf.std:SIGNAL_TRANSFORMATION_DETAIL_START -INFO:pyaf.std:SIGNAL_TRANSFORMATION_MODEL_VALUES NoTransf None -INFO:pyaf.std:SIGNAL_TRANSFORMATION_DETAIL_END -INFO:pyaf.std:TREND_DETAIL_START -INFO:pyaf.std:LINEAR_RIDGE_TREND LinearTrend (0.5096770848334515, array([-0.24361723])) -INFO:pyaf.std:TREND_DETAIL_END -INFO:pyaf.std:CYCLE_MODEL_DETAIL_START -INFO:pyaf.std:BEST_CYCLE_LENGTH_VALUES _臭氧_LinearTrend_residue_bestCycle_byMAPE None 0.0017292167436161465 {} -INFO:pyaf.std:CYCLE_MODEL_DETAIL_END -INFO:pyaf.std:AR_MODEL_DETAIL_START -INFO:pyaf.std:AR_MODEL_COEFF 1 _臭氧_LinearTrend_residue_bestCycle_byMAPE_residue_Lag1 0.30762281924009016 -INFO:pyaf.std:AR_MODEL_COEFF 2 _臭氧_LinearTrend_residue_bestCycle_byMAPE_residue_Lag10 0.1213136856083433 -INFO:pyaf.std:AR_MODEL_COEFF 3 _臭氧_LinearTrend_residue_bestCycle_byMAPE_residue_Lag12 0.10400676909979994 -INFO:pyaf.std:AR_MODEL_COEFF 4 _臭氧_LinearTrend_residue_bestCycle_byMAPE_residue_Lag7 -0.09688575415966352 -INFO:pyaf.std:AR_MODEL_COEFF 5 _臭氧_LinearTrend_residue_bestCycle_byMAPE_residue_Lag51 -0.09495506389386082 -INFO:pyaf.std:AR_MODEL_COEFF 6 _臭氧_LinearTrend_residue_bestCycle_byMAPE_residue_Lag39 -0.0885583981213019 -INFO:pyaf.std:AR_MODEL_COEFF 7 _臭氧_LinearTrend_residue_bestCycle_byMAPE_residue_Lag2 0.08801971122367247 -INFO:pyaf.std:AR_MODEL_COEFF 8 _臭氧_LinearTrend_residue_bestCycle_byMAPE_residue_Lag32 -0.08586346601403547 -INFO:pyaf.std:AR_MODEL_COEFF 9 _臭氧_LinearTrend_residue_bestCycle_byMAPE_residue_Lag22 0.0808380322725846 -INFO:pyaf.std:AR_MODEL_COEFF 10 _臭氧_LinearTrend_residue_bestCycle_byMAPE_residue_Lag29 -0.07393479517786575 -INFO:pyaf.std:AR_MODEL_DETAIL_END -INFO:pyaf.timing:('OPERATION_START', ('PLOTTING', {'Signals': ['臭氧']})) -/home/antoine/dev/python/packages/timeseries/pyaf/pyaf/TS/Plots.py:80: UserWarning: Glyph 26376 (\N{CJK UNIFIED IDEOGRAPH-6708}) missing from current font. - fig.savefig(name + '_decomp_output.' + format) -/home/antoine/dev/python/packages/timeseries/pyaf/pyaf/TS/Plots.py:80: UserWarning: Glyph 33261 (\N{CJK UNIFIED IDEOGRAPH-81ED}) missing from current font. - fig.savefig(name + '_decomp_output.' + format) -/home/antoine/dev/python/packages/timeseries/pyaf/pyaf/TS/Plots.py:80: UserWarning: Glyph 27687 (\N{CJK UNIFIED IDEOGRAPH-6C27}) missing from current font. - fig.savefig(name + '_decomp_output.' + format) -/home/antoine/dev/python/packages/timeseries/pyaf/pyaf/TS/Plots.py:80: UserWarning: Glyph 26376 (\N{CJK UNIFIED IDEOGRAPH-6708}) missing from current font. - fig.savefig(name + '_decomp_output.' + format) -/home/antoine/dev/python/packages/timeseries/pyaf/pyaf/TS/Plots.py:80: UserWarning: Glyph 33261 (\N{CJK UNIFIED IDEOGRAPH-81ED}) missing from current font. - fig.savefig(name + '_decomp_output.' + format) -/home/antoine/dev/python/packages/timeseries/pyaf/pyaf/TS/Plots.py:80: UserWarning: Glyph 27687 (\N{CJK UNIFIED IDEOGRAPH-6C27}) missing from current font. - fig.savefig(name + '_decomp_output.' + format) -/home/antoine/dev/python/packages/timeseries/pyaf/pyaf/TS/Plots.py:80: UserWarning: Glyph 26376 (\N{CJK UNIFIED IDEOGRAPH-6708}) missing from current font. - fig.savefig(name + '_decomp_output.' + format) -/home/antoine/dev/python/packages/timeseries/pyaf/pyaf/TS/Plots.py:80: UserWarning: Glyph 33261 (\N{CJK UNIFIED IDEOGRAPH-81ED}) missing from current font. - fig.savefig(name + '_decomp_output.' + format) -/home/antoine/dev/python/packages/timeseries/pyaf/pyaf/TS/Plots.py:80: UserWarning: Glyph 27687 (\N{CJK UNIFIED IDEOGRAPH-6C27}) missing from current font. - fig.savefig(name + '_decomp_output.' + format) -/home/antoine/dev/python/packages/timeseries/pyaf/pyaf/TS/Plots.py:80: UserWarning: Glyph 26376 (\N{CJK UNIFIED IDEOGRAPH-6708}) missing from current font. - fig.savefig(name + '_decomp_output.' + format) -/home/antoine/dev/python/packages/timeseries/pyaf/pyaf/TS/Plots.py:80: UserWarning: Glyph 33261 (\N{CJK UNIFIED IDEOGRAPH-81ED}) missing from current font. - fig.savefig(name + '_decomp_output.' + format) -/home/antoine/dev/python/packages/timeseries/pyaf/pyaf/TS/Plots.py:80: UserWarning: Glyph 27687 (\N{CJK UNIFIED IDEOGRAPH-6C27}) missing from current font. - fig.savefig(name + '_decomp_output.' + format) -/home/antoine/dev/python/packages/timeseries/pyaf/pyaf/TS/Plots.py:80: UserWarning: Glyph 26376 (\N{CJK UNIFIED IDEOGRAPH-6708}) missing from current font. - fig.savefig(name + '_decomp_output.' + format) -/home/antoine/dev/python/packages/timeseries/pyaf/pyaf/TS/Plots.py:80: UserWarning: Glyph 33261 (\N{CJK UNIFIED IDEOGRAPH-81ED}) missing from current font. - fig.savefig(name + '_decomp_output.' + format) -/home/antoine/dev/python/packages/timeseries/pyaf/pyaf/TS/Plots.py:80: UserWarning: Glyph 27687 (\N{CJK UNIFIED IDEOGRAPH-6C27}) missing from current font. - fig.savefig(name + '_decomp_output.' + format) -/home/antoine/dev/python/packages/timeseries/pyaf/pyaf/TS/Plots.py:141: UserWarning: Glyph 26376 (\N{CJK UNIFIED IDEOGRAPH-6708}) missing from current font. - fig.savefig(name + '_prediction_intervals_output.' + format) -/home/antoine/dev/python/packages/timeseries/pyaf/pyaf/TS/Plots.py:141: UserWarning: Glyph 33261 (\N{CJK UNIFIED IDEOGRAPH-81ED}) missing from current font. - fig.savefig(name + '_prediction_intervals_output.' + format) -/home/antoine/dev/python/packages/timeseries/pyaf/pyaf/TS/Plots.py:141: UserWarning: Glyph 27687 (\N{CJK UNIFIED IDEOGRAPH-6C27}) missing from current font. - fig.savefig(name + '_prediction_intervals_output.' + format) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 6.989, ('PLOTTING', {'Signals': ['臭氧']})) -INFO:pyaf.timing:('OPERATION_START', ('FORECASTING', {'Signals': ['臭氧'], 'Horizon': 12})) -INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.417, ('FORECASTING', {'Signals': ['臭氧'], 'Horizon': 12})) - Split Transformation DecompositionType ... FitMAPE ForecastMAPE TestMAPE -0 None _臭氧 T+S+R ... 0.1668 0.1479 0.1426 -1 None _臭氧 T+S+R ... 0.1668 0.1479 0.1426 -2 None _臭氧 T+S+R ... 0.1658 0.1670 0.3696 -3 None _臭氧 T+S+R ... 0.1658 0.1670 0.3696 -4 None _臭氧 T+S+R ... 0.1761 0.1765 0.2209 - -[5 rows x 10 columns] -Forecast Columns Index(['月', '臭氧', 'row_number', '月_Normalized', '_臭氧', '_臭氧_LinearTrend', - '_臭氧_LinearTrend_residue', '_臭氧_LinearTrend_residue_bestCycle_byMAPE', - '_臭氧_LinearTrend_residue_bestCycle_byMAPE_residue', - '_臭氧_LinearTrend_residue_bestCycle_byMAPE_residue_AR(51)', - '_臭氧_LinearTrend_residue_bestCycle_byMAPE_residue_AR(51)_residue', - '_臭氧_Trend', '_臭氧_Trend_residue', '_臭氧_Cycle', '_臭氧_Cycle_residue', - '_臭氧_AR', '_臭氧_AR_residue', '_臭氧_TransformedForecast', '臭氧_Forecast', - '_臭氧_TransformedResidue', '臭氧_Residue', '臭氧_Forecast_Lower_Bound', - '臭氧_Forecast_Upper_Bound', '臭氧_Forecast_Quantile_2', - '臭氧_Forecast_Quantile_18', '臭氧_Forecast_Quantile_34', - '臭氧_Forecast_Quantile_50', '臭氧_Forecast_Quantile_66', - '臭氧_Forecast_Quantile_82', '臭氧_Forecast_Quantile_98'], - dtype='object') - 月 臭氧 ... 臭氧_Forecast_Quantile_82 臭氧_Forecast_Quantile_98 -192 1971-01-01 1.8 ... NaN NaN -193 1971-02-01 2.0 ... NaN NaN -194 1971-03-01 2.2 ... NaN NaN -195 1971-04-01 3.0 ... NaN NaN -196 1971-05-01 2.4 ... NaN NaN -197 1971-06-01 3.5 ... NaN NaN -198 1971-07-01 3.5 ... NaN NaN -199 1971-08-01 3.3 ... NaN NaN -200 1971-09-01 2.7 ... NaN NaN -201 1971-10-01 2.5 ... NaN NaN -202 1971-11-01 1.6 ... NaN NaN -203 1971-12-01 1.2 ... NaN NaN -204 1972-01-01 NaN ... 0.934776 1.432435 -205 1972-02-01 NaN ... 1.556926 2.185541 -206 1972-03-01 NaN ... 1.942575 2.554100 -207 1972-04-01 NaN ... 2.377020 2.909007 -208 1972-05-01 NaN ... 2.894054 3.509196 -209 1972-06-01 NaN ... 3.283882 4.099459 -210 1972-07-01 NaN ... 3.369782 4.347842 -211 1972-08-01 NaN ... 3.314773 4.321900 -212 1972-09-01 NaN ... 3.490938 3.946380 -213 1972-10-01 NaN ... 2.932184 3.476133 -214 1972-11-01 NaN ... 2.618322 3.260101 -215 1972-12-01 NaN ... 2.332702 3.295795 - -[24 rows x 30 columns] - -RangeIndex: 216 entries, 0 to 215 -Data columns (total 3 columns): - # Column Non-Null Count Dtype ---- ------ -------------- ----- - 0 月 216 non-null datetime64[ns] - 1 臭氧 204 non-null float64 - 2 臭氧_Forecast 216 non-null float64 -dtypes: datetime64[ns](1), float64(2) -memory usage: 5.2 KB -None -Forecasts - 月 臭氧 臭氧_Forecast -204 1972-01-01 NaN 0.790646 -205 1972-02-01 NaN 1.466073 -206 1972-03-01 NaN 1.933247 -207 1972-04-01 NaN 2.309504 -208 1972-05-01 NaN 2.794422 -209 1972-06-01 NaN 3.210292 -210 1972-07-01 NaN 3.333413 -211 1972-08-01 NaN 3.260173 -212 1972-09-01 NaN 2.958357 -213 1972-10-01 NaN 2.121112 -214 1972-11-01 NaN 1.424287 -215 1972-12-01 NaN 0.941604 - - - -{ - "\u81ed\u6c27": { - "Dataset": { - "Signal": "\u81ed\u6c27", - "Time": { - "Horizon": 12, - "TimeMinMax": [ - "1955-01-01 00:00:00", - "1971-12-01 00:00:00" - ], - "TimeVariable": "\u6708" - }, - "Training_Signal_Length": 204 - }, - "Model": { - "AR_Model": "AR", - "Best_Decomposition": "_\u81ed\u6c27_LinearTrend_residue_bestCycle_byMAPE_residue_AR(51)", - "Cycle": "Cycle_None", - "Signal_Decomposition_Type": "T+S+R", - "Signal_Transoformation": "NoTransf", - "Trend": "LinearTrend" - }, - "Model_Performance": { - "COMPLEXITY": 39.0, - "CRPS": 0.26586525836868236, - "LnQ": 1.7465131682383166, - "MAE": 0.4893586521049049, - "MAPE": 0.1479, - "MASE": 0.6304, - "MedAE": 0.40725700645438323, - "RMSE": 0.6681008123392113 - } - } -} - - - - - - -{"\u6708":{"192":"1971-01-01T00:00:00.000Z","193":"1971-02-01T00:00:00.000Z","194":"1971-03-01T00:00:00.000Z","195":"1971-04-01T00:00:00.000Z","196":"1971-05-01T00:00:00.000Z","197":"1971-06-01T00:00:00.000Z","198":"1971-07-01T00:00:00.000Z","199":"1971-08-01T00:00:00.000Z","200":"1971-09-01T00:00:00.000Z","201":"1971-10-01T00:00:00.000Z","202":"1971-11-01T00:00:00.000Z","203":"1971-12-01T00:00:00.000Z","204":"1972-01-01T00:00:00.000Z","205":"1972-02-01T00:00:00.000Z","206":"1972-03-01T00:00:00.000Z","207":"1972-04-01T00:00:00.000Z","208":"1972-05-01T00:00:00.000Z","209":"1972-06-01T00:00:00.000Z","210":"1972-07-01T00:00:00.000Z","211":"1972-08-01T00:00:00.000Z","212":"1972-09-01T00:00:00.000Z","213":"1972-10-01T00:00:00.000Z","214":"1972-11-01T00:00:00.000Z","215":"1972-12-01T00:00:00.000Z"},"\u81ed\u6c27":{"192":1.8,"193":2.0,"194":2.2,"195":3.0,"196":2.4,"197":3.5,"198":3.5,"199":3.3,"200":2.7,"201":2.5,"202":1.6,"203":1.2,"204":null,"205":null,"206":null,"207":null,"208":null,"209":null,"210":null,"211":null,"212":null,"213":null,"214":null,"215":null},"\u81ed\u6c27_Forecast":{"192":0.9642403944,"193":1.8623459645,"194":2.4241581176,"195":2.3107847584,"196":3.091476365,"197":3.2319828486,"198":3.9958610904,"199":3.540390644,"200":2.9872555413,"201":2.3149992773,"202":1.6458725287,"203":1.1304259993,"204":0.7906459324,"205":1.466073195,"206":1.9332471532,"207":2.3095041443,"208":2.7944215122,"209":3.210291642,"210":3.3334133564,"211":3.2601729212,"212":2.9583571313,"213":2.121111729,"214":1.4242867992,"215":0.9416036576}} - - -