matrix = confusion_matrix(data["Actual"], data["Predict"]) matrix_plot(matrix, title=j + " - " + data_j + " - Accuracy: " + accuracy, save=save_plot) # parity plot else: for j in Y.columns: # training data data_j = "Train" data = predictions.loc[(predictions["Data"] == data_j) & (predictions["Name"] == j)] r2 = str(np.round(r2_score(data["Actual"], data["Predict"]) * 100, 1)) + "%" parity_plot(predict=data["Predict"], actual=data["Actual"], title=j + " - " + data_j + " - R2: " + r2, save=save_plot) # testing data data_j = "Test" data = predictions.loc[(predictions["Data"] == data_j) & (predictions["Name"] == j)] r2 = str(np.round(r2_score(data["Actual"], data["Predict"]) * 100, 1)) + "%" parity_plot(predict=data["Predict"], actual=data["Actual"], title=j + " - " + data_j + " - R2: " + r2, save=save_plot) # series plot series_plot(predict=data["Predict"],
pipeline.fit(X.iloc[train_idx, :], Y.iloc[train_idx, :]) # report forecast y_pred = pred["t1"] y_true = Y.iloc[train_idx[-1], :][0] print('predicted=%f, expected=%f' % (y_pred, y_true)) # compute r2 for the predictions r2 = [] for j in predictions.columns: r2.append(r2_score(actual[j], predictions[j])) # In[2]: Visualize the predictions save_plot = False # choose a time horizon t = 1 # series plot series_plot(predict=predictions.iloc[:, t - 1], actual=actual.iloc[:, t - 1], title="Lasso " + str(t) + "-Step Ahead Rolling Forecast - Test", save=save_plot) # parity plot parity_plot(predict=predictions.iloc[:, t - 1], actual=actual.iloc[:, t - 1], title="Lasso Parity Plot - Test - R2: " + str(r2[t - 1]), save=save_plot)
obs = test[t] history.append(obs) print('predicted=%f, expected=%f' % (yhat, obs)) # collect predictions and actual values predictions = pd.DataFrame({ "Actual": test.flatten(), "Predict": np.array(predictions).flatten() }) predictions.to_csv("exp predictions.csv", index=False) # In[2]: Visualize the predictions save_plot = False # series plot series_plot( predict=predictions["Predict"], actual=predictions["Actual"], title="Exponential Smoothing One-Step Ahead Rolling Forecast - Test", save=save_plot) # parity plot r2 = str( np.round(r2_score(predictions["Actual"], predictions["Predict"]) * 100, 1)) + "%" parity_plot(predict=predictions["Predict"], actual=predictions["Actual"], title="Exponential Smoothing Parity Plot - Test - R2: " + r2, save=save_plot)
predictions.append(yhat) obs = test[t] history.append(obs) print('predicted=%f, expected=%f' % (yhat, obs)) # collect predictions and actual values predictions = pd.DataFrame({ "Actual": test.flatten(), "Predict": np.array(predictions).flatten() }) # predictions.to_csv("holt predictions.csv", index=False) # In[2]: Visualize the predictions save_plot = False # series plot series_plot(predict=predictions["Predict"], actual=predictions["Actual"], title="Holt-Winter's One-Step Ahead Rolling Forecast - Test", save=save_plot) # parity plot r2 = str( np.round(r2_score(predictions["Actual"], predictions["Predict"]) * 100, 1)) + "%" parity_plot(predict=predictions["Predict"], actual=predictions["Actual"], title="Holt-Winter's Parity Plot - Test - R2: " + r2, save=save_plot)
predictions.append(yhat) obs = test[t] history.append(obs) print('predicted=%f, expected=%f' % (yhat, obs)) # collect predictions and actual values predictions = pd.DataFrame({ "Actual": test.flatten(), "Predict": np.array(predictions).flatten() }) predictions.to_csv("arima predictions.csv", index=False) # In[2]: Visualize the predictions save_plot = False # series plot series_plot(predict=predictions["Predict"], actual=predictions["Actual"], title="ARIMA One-Step Ahead Rolling Forecast - Test", save=save_plot) # parity plot r2 = str( np.round(r2_score(predictions["Actual"], predictions["Predict"]) * 100, 1)) + "%" parity_plot(predict=predictions["Predict"], actual=predictions["Actual"], title="ARIMA Parity Plot - Test - R2: " + r2, save=save_plot)