ComenzarEmpieza gratis

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)

Ver curso

Instrucciones del ejercicio

  • Calcula la pendiente y la intersección de la recta de regresión usando np.polyfit(). Recuerda, fertility va en el eje y e illiteracy en 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 x que contenga 0 y 100 usando np.array(). Luego, calcula los valores teóricos de y segú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()
Editar y ejecutar código