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)
Instructions de l’exercice
- Calculez la pente et l'ordonnée à l'origine de la droite de régression avec
np.polyfit(). Rappelez-vous,fertilityest sur l'axe y etilliteracysur 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
xqui contient 0 et 100 avecnp.array(). Puis, calculez les valeurs théoriques deyà 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()