Regresión lineal
Supondremos que la fecundidad es una función lineal de la tasa de analfabetismo femenino. Es decir, \(f = a i + b\), donde \(a\) es la pendiente y \(b\) es la intersección (ordenada en el origen). Podemos interpretar la intersección como la tasa mínima de fecundidad, probablemente entre uno y dos. La pendiente indica cómo varía la fecundidad con el analfabetismo. Podemos encontrar la recta de mejor ajuste con np.polyfit().
Traza los datos y la recta de mejor ajuste. Imprime la pendiente y la intersección. (Piensa: ¿cuáles son sus unidades?)
Este ejercicio forma parte del curso
Pensamiento estadístico en Python (Parte 2)
Instrucciones del ejercicio
- Calcula la pendiente y la intersección de la recta de regresión usando
np.polyfit(). Recuerda,fertilityva en el eje y eilliteracyen el eje x. - Imprime la pendiente y la intersección de la regresión lineal.
- Para trazar la recta de mejor ajuste, crea un array
xque contenga 0 y 100 usandonp.array(). Luego, calcula los valores teóricos deysegún tus parámetros de regresión, es decir,y = a * x + b. - Dibuja los datos y la recta de regresión en la misma figura. Asegúrate de etiquetar los ejes.
- Pulsa Enviar para mostrar tu gráfico.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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()