Övning – Utföra linjär regression med Numpy
Punktdiagram är ett praktiskt sätt att visualisera data, men vi utgår från att du vill täcka över punktdiagrammet med en trendlinje som visar trender för data över tid. Ett sätt att beräkna sådana trendlinjer är linjär regression. I den här övningen ska du använda NumPy för att utföra en linjär regression och Matplotlib för att rita en trendlinje från data.
Placera markören i den tomma cellen längst ned i notebook-filen. Ändra celltypen till Markdown och ange ”Perform linear regression” (Utför linjär regression) som text.
Lägg till en kodcell och klistra in följande kod. Ägna en stund åt att läsa kommentarer (raderna som börjar med #-tecken) för att förstå vad koden gör.
# 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()
Kör nu cellen för att visa ett punktdiagram med en regressionslinje.
Punktdiagram med regressionslinje
Från regressionslinjen kan du se att skillnaden mellan den 30-åriga medeltemperaturen och den 5-åriga medeltemperaturen ökar med tiden. Den största delen av beräkningsarbetet som krävdes för att skapa regressionslinjen gjordes av Numpys polyfit
-funktion, som beräknade värdena för m
och b
i ekvationen y = mx + b.