예제 #1
0
# 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"],
                    actual=data["Actual"],
                    title=j + " - " + data_j + " - Forecast: ",
                    save=save_plot)
예제 #2
0
    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)
        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)
예제 #4
0
    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)