ComeçarComece de graça

Regressão linear

Vamos supor que a taxa de fertilidade é uma função linear da taxa de analfabetismo feminino. Ou seja, \(f = a i + b\), em que \(a\) é a inclinação (slope) e \(b\) é a interceptação (intercept). Podemos pensar na interceptação como a taxa mínima de fertilidade, provavelmente entre um e dois. A inclinação nos diz como a taxa de fertilidade varia com o analfabetismo. Podemos encontrar a reta de melhor ajuste usando np.polyfit().

Trace os dados e a reta de melhor ajuste. Imprima a inclinação e a interceptação. (Pense: quais são as unidades?)

Este exercício faz parte do curso

Pensamento Estatístico em Python (Parte 2)

Ver curso

Instruções do exercício

  • Calcule a inclinação e a interceptação da linha de regressão usando np.polyfit(). Lembre-se: fertility está no eixo y e illiteracy no eixo x.
  • Imprima a inclinação e a interceptação da regressão linear.
  • Para traçar a reta de melhor ajuste, crie um array x que contenha 0 e 100 usando np.array(). Depois, calcule os valores teóricos de y com base nos parâmetros da regressão, isto é, y = a * x + b.
  • Plote os dados e a linha de regressão no mesmo gráfico. Não se esqueça de rotular os eixos.
  • Clique em Enviar para exibir seu gráfico.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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 e executar o código