Regresja liniowa
Przyjmiemy, że dzietność jest liniową funkcją wskaźnika analfabetyzmu kobiet. Czyli \(f = a i + b\), gdzie \(a\) to nachylenie, a \(b\) to wyraz wolny. Wyraz wolny można interpretować jako minimalny poziom dzietności — prawdopodobnie gdzieś między jeden a dwa. Nachylenie mówi nam, jak dzietność zmienia się wraz z analfabetyzmem. Najlepiej dopasowaną prostą możesz wyznaczyć za pomocą np.polyfit().
Narysuj dane oraz linię regresji. Wypisz nachylenie i wyraz wolny. (Zastanów się: jakie mają jednostki?)
To ćwiczenie jest częścią kursu
Myślenie statystyczne w Pythonie (część 2)
Instrukcje do ćwiczenia
- Oblicz nachylenie i wyraz wolny linii regresji za pomocą
np.polyfit(). Pamiętaj, żefertilityjest na osi y, ailliteracyna osi x. - Wypisz nachylenie i wyraz wolny uzyskane z regresji liniowej.
- Aby narysować najlepiej dopasowaną prostą, utwórz tablicę
xzawierającą wartości 0 i 100, korzystając znp.array(). Następnie oblicz teoretyczne wartościyna podstawie parametrów regresji, czyliy = a * x + b. - Narysuj dane i linię regresji na tym samym wykresie. Pamiętaj o opisaniu osi.
- Kliknij Prześlij odpowiedź, aby wyświetlić wykres.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Plot the illiteracy rate versus fertility
_ = plt.plot(illiteracy, fertility, marker='.', linestyle='none')
plt.margins(0.02)
_ = plt.xlabel('percent illiterate')
_ = plt.ylabel('fertility')
# Perform a linear regression using np.polyfit(): a, b
a, b = ____
# Print the results to the screen
print('slope =', a, 'children per woman / percent illiterate')
print('intercept =', b, 'children per woman')
# Make theoretical line to plot
x = ____
y = ____ * ____ + ____
# Add regression line to your plot
_ = plt.plot(____, ____)
# Draw the plot
plt.show()