ÎncepețiÎncepe gratuit

Regresie liniară

Vom presupune că fertilitatea este o funcție liniară a ratei de analfabetism feminin. Adică \(f = a i + b\), unde \(a\) este panta și \(b\) este interceptul. Putem considera interceptul ca rata minimă de fertilitate, probabil undeva între unu și doi. Panta ne arată cum variază rata de fertilitate în funcție de analfabetism. Putem găsi dreapta de regresie care se potrivește cel mai bine folosind np.polyfit().

Reprezintă grafic datele și dreapta de regresie. Afișează panta și interceptul. (Gândește-te: care sunt unitățile lor de măsură?)

Acest exercițiu face parte din cursul

Gândire statistică în Python (Partea 2)

Vezi cursul

Instrucțiuni pentru exercițiu

  • Calculează panta și interceptul dreptei de regresie folosind np.polyfit(). Ține minte că fertility se află pe axa y, iar illiteracy pe axa x.
  • Afișează panta și interceptul obținute din regresia liniară.
  • Pentru a reprezenta dreapta de regresie, creează un array x care conține valorile 0 și 100 folosind np.array(). Apoi calculează valorile teoretice ale lui y pe baza parametrilor de regresie, adică y = a * x + b.
  • Reprezintă datele și dreapta de regresie pe același grafic. Asigură-te că etichetezi axele.
  • Apasă pe Trimite răspunsul pentru a afișa graficul.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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()
Editează și rulează codul