Utvärdera resultaten
När vi har vår linjära anpassning och våra förutsägelser vill vi undersöka hur träffsäkra de är, för att avgöra om modellen håller måttet. Helst bör man backtesta varje typ av handelsstrategi, men det är en komplex och ofta tidskrävande process.
Ett snabbare sätt att förstå modellens prestanda är att titta på regressionsmått som R\(^2\) och att plotta förutsägelserna mot de faktiska målvärdena. Perfekta förutsägelser skulle bilda en rak diagonal linje i ett sådant diagram, vilket gör det enkelt att med blotta ögat bedöma hur förutsägelserna presterar i olika intervall av prisförändringar. Vi kan använda matplotlib-funktionen .scatter() för att skapa spridningsdiagram över förutsägelserna och de faktiska värdena.
Den här övningen är en del av kursen
Maskininlärning för finans i Python
Övningsinstruktioner
- Visa
test_predictionsmottest_targetsi ett spridningsdiagram med 20 % opacitet för punkterna (använd parameternalphaför att ange opacitet). - Rita den perfekta prediktionslinjen med hjälp av
np.arange()och minimi- och maximivärdena från x-axeln (xmin,xmax). - Visa förklaringen i diagrammet med
plt.legend().
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Scatter the predictions vs the targets with 20% opacity
plt.scatter(train_predictions, train_targets, alpha=0.2, color='b', label='train')
plt.scatter(____, ____, ____, color='r', label='test')
# Plot the perfect prediction line
xmin, xmax = plt.xlim()
plt.plot(np.arange(xmin, xmax, 0.01), np.arange(____, ____, 0.01), c='k')
# Set the axis labels and show the plot
plt.xlabel('predictions')
plt.ylabel('actual')
____ # show the legend
plt.show()