Visualizzare i risultati delle previsioni
Dopo aver definito e addestrato i modelli usando il backtesting, è il momento di visualizzare i risultati. La visualizzazione è un modo rapido ed efficace per valutare le prestazioni dei modelli sulle diverse partizioni.
I DataFrame ts e bkt_df degli esercizi precedenti, insieme alla libreria Plotly, sono già stati precaricati per te. Vediamo quanto bene hanno funzionato i nostri modelli!
Questo esercizio fa parte del corso
Progettare pipeline di forecasting per la produzione
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
partitions_labels = bkt_df["cutoff"].unique()
ts_sub = ts[ts["ds"] > ts["ds"].max() - datetime.timedelta(hours=24 * 7)]
# Create subplots with four rows (one for each partition)
fig = make_subplots(rows=4, cols=1, subplot_titles=["Partitions: " + str(i) for i in partitions_labels])
r = 1
for i in partitions_labels:
if r == 1:
showlegend = True
else:
showlegend = False
bkt_sub = bkt_df[bkt_df["cutoff"] == i]
# Add actual values to the plot
fig.append_trace(go.Scatter(x=ts_sub["ds"], y=ts_sub["y"], legendgroup="actual", showlegend=showlegend,
mode='lines', name='Actual', line=dict(color='#023047', width=2)), row=r, col=1)
# Add k-nearest neighbors predictions
fig.append_trace(go.Scatter(x=bkt_sub["ds"], y=bkt_sub["knn"], mode='lines', name='k-nearest neighbors',
legendgroup="knn", showlegend=showlegend, line=dict(color='#2a9d8f', width=1.5, dash="dash")), row=r, col=1)
# Add Multi-layer Perceptron predictions
fig.append_trace(go.Scatter(x=bkt_sub["ds"], y=bkt_sub["mlp"], mode='lines', name='Multi-layer Perceptron',
legendgroup="mlp", showlegend=showlegend, line=dict(color='#0077b6', width=1.5, dash="dot")), row=r, col=1)
# Add ElasticNet predictions
fig.append_trace(go.Scatter(x=bkt_sub["ds"], y=bkt_sub["enet"], mode='lines', name='ElasticNet',
legendgroup="enet", showlegend=showlegend, line=dict(color='#ffc8dd', width=1.5, dash="dot")), row=r, col=1)
r = r + 1
fig.update_layout(height=500)
fig.show()