CommencezCommencez gratuitement

Régression linéaire

Nous allons supposer que la fécondité est une fonction linéaire du taux d'analphabétisme chez les femmes. Autrement dit, \(f = a i + b\), où \(a\) est la pente et \(b\) l'ordonnée à l'origine. On peut voir l'ordonnée à l'origine comme le taux minimal de fécondité, probablement entre un et deux. La pente indique comment le taux de fécondité varie avec l'analphabétisme. Nous pouvons trouver la meilleure droite d'ajustement à l'aide de np.polyfit().

Tracez les points de données et la droite de meilleur ajustement. Affichez la pente et l'ordonnée à l'origine. (Pensez : quelles sont leurs unités ?)

Cette activité fait partie du cours

Réflexion statistique en Python (partie 2)

Voir le cours

Instructions de l’exercice

  • Calculez la pente et l'ordonnée à l'origine de la droite de régression avec np.polyfit(). Rappelez-vous, fertility est sur l'axe y et illiteracy sur l'axe x.
  • Affichez la pente et l'ordonnée à l'origine issues de la régression linéaire.
  • Pour tracer la droite de meilleur ajustement, créez un tableau x qui contient 0 et 100 avec np.array(). Puis, calculez les valeurs théoriques de y à partir de vos paramètres de régression, c.-à-d. y = a * x + b.
  • Tracez les données et la droite de régression sur le même graphique. N'oubliez pas d'identifier vos axes.
  • Cliquez sur Soumettre la réponse pour afficher votre graphique.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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()
Modifier et exécuter le code