Zacznij terazZacznij za darmo

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)

Zobacz kurs

Instrukcje do ćwiczenia

  • Oblicz nachylenie i wyraz wolny linii regresji za pomocą np.polyfit(). Pamiętaj, że fertility jest na osi y, a illiteracy na osi x.
  • Wypisz nachylenie i wyraz wolny uzyskane z regresji liniowej.
  • Aby narysować najlepiej dopasowaną prostą, utwórz tablicę x zawierającą wartości 0 i 100, korzystając z np.array(). Następnie oblicz teoretyczne wartości y na podstawie parametrów regresji, czyli y = 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()
Edytuj i uruchom kod