Esercizio - Eseguire la regressione lineare con Numpy
I grafici a dispersione permettono di visualizzare i dati in modo pratico, ma si potrebbe voler sovrapporre al grafico una linea di tendenza per mostrare l’andamento dei dati nel tempo. Un modo per calcolare tali linee di tendenza è la regressione lineare. In questo esercizio si userà NumPy per eseguire una regressione lineare e Matplotlib per tracciare una linea di tendenza dei dati.
Posizionare il cursore nella cella vuota nella parte inferiore del notebook. Modificare il tipo di cella in Markdown e immettere "Esegui regressione lineare" come testo.
Aggiungere una cella Code e incollare il codice seguente. Dedicare alcuni secondi alla lettura dei commenti (le righe che iniziano con il segno #) per comprendere le operazioni eseguite dal codice.
# Creates a linear regression from the data points m,b = np.polyfit(yearsBase, meanBase, 1) # This is a simple y = mx + b line function def f(x): return m*x + b # This generates the same scatter plot as before, but adds a line plot using the function above plt.scatter(yearsBase, meanBase) plt.plot(yearsBase, f(yearsBase)) plt.title('scatter plot of mean temp difference vs year') plt.xlabel('years', fontsize=12) plt.ylabel('mean temp difference', fontsize=12) plt.show() # Prints text to the screen showing the computed values of m and b print(' y = {0} * x + {1}'.format(m, b)) plt.show()Eseguire ora la cella per visualizzare un grafico a dispersione con una linea di regressione.
Grafico a dispersione con linea di regressione
Dalla linea di regressione si può notare che la differenza tra le temperature medie su 30 anni e le temperature medie su 5 anni aumenta nel tempo. La maggior parte delle operazioni di calcolo necessarie per generare la linea di regressione è stata eseguita dalla funzione polyfit di NumPy, che ha calcolato i valori di m e b nell'equazione y = mx + b.