rmse = np.sqrt(metrics.mean_squared_error(test, fcst_pred_v)) df3 = {'smoothing parameter':i, 'RMSE': rmse} temp_df = temp_df.append(df3, ignore_index=True) temp_df.sort_values(by=['RMSE']).head(3) #anche questo è un risultato strano #using values from grid search to fit the model fitSES = SimpleExpSmoothing(np.asarray(train)).fit( smoothing_level = 0, optimized= False) fcst_gs_pred = fitSES.forecast(3000) timeseries_evaluation_metrics_func(test,fcst_gs_pred) #Automated smoothing_level fitSESauto = SimpleExpSmoothing(np.asarray(train)).fit( optimized= True, use_brute = True) fcst_auto_pred = fitSESauto.forecast(3000) timeseries_evaluation_metrics_func(test,fcst_auto_pred) fitSESauto.summary() #plotting...non fatto per ora df_fcst_gs_pred = pd.DataFrame(fcst_gs_pred, columns=['Close_grid_Search']) df_fcst_gs_pred["new_index"] = range(1229 , 1259) df_fcst_gs_pred = df_fcst_gs_pred.set_index("new_index") df_fcst_auto_pred = pd.DataFrame(fcst_auto_pred, columns=['Close_auto_search']) df_fcst_auto_pred["new_index"] = range(1229 , 1259) df_fcst_auto_pred = df_fcst_auto_pred.set_index("new_index") import matplotlib.pyplot as plt %matplotlib inline plt.rcParams["figure.figsize"] = [16,9] plt.plot( train, label='Train') plt.plot(test, label='Test')
66.834358381339, 40.8711884667851, 51.8285357927739, 57.4919099342262, 65.2514698518726, 43.0612082202828, 54.7607571288007, 59.8344749355003, 73.2570274672009, 47.6966237298, 61.0977680206996, 66.0557612187001 ] ### mdlFit = SimpleExpSmoothing(oildata, initialization_method="estimated").fit() simple_res = mdlFit.forecast(steps=5) print(simple_res.tolist()) ### mdlFit = Holt(air, initialization_method="estimated").fit() holt_res = mdlFit.forecast(steps=5) print(holt_res.tolist()) ### mdlFit = Holt(air, initialization_method="estimated", damped_trend=True).fit() holt_res_damp = mdlFit.forecast(steps=5) print(mdlFit.summary()) print(holt_res_damp.tolist()) ### mdlFit = ExponentialSmoothing(aust, initialization_method="estimated", seasonal_periods=4, seasonal="add", trend="add").fit() hw_res = mdlFit.forecast(steps=5) print(mdlFit.summary()) print(hw_res)