Exercício – Executar a regressão linear com o NumPy

Concluído

Os gráficos de dispersão oferecem um meio útil para a visualização de dados, mas suponha que você queira sobrepor o gráfico de dispersão com uma linha de tendência que mostra a tendência dos dados ao longo do tempo. Uma maneira de calcular essas linhas de tendência é a regressão linear. Neste exercício, você usará o NumPy para executar uma regressão linear e o Matplotlib para desenhar uma linha de tendência dos dados.

  1. Coloque o cursor na célula vazia na parte inferior do notebook. Altere o tipo de célula para Markdown e insira "Executar regressão linear" como o texto.

  2. Adicione uma célula de Código e cole o código a seguir. Reserve alguns instantes para ler os comentários (as linhas que começam com o sinal #) para entender o que o código está fazendo.

    # Creates a linear regression from the data points
    m,b = np.polyfit(yearsBase, meanBase, 1)
    
    # This is a simple y = mx + b line function
    def f(x):
        return m*x + b
    
    # This generates the same scatter plot as before, but adds a line plot using the function above
    plt.scatter(yearsBase, meanBase)
    plt.plot(yearsBase, f(yearsBase))
    plt.title('scatter plot of mean temp difference vs year')
    plt.xlabel('years', fontsize=12)
    plt.ylabel('mean temp difference', fontsize=12)
    plt.show()
    
    # Prints text to the screen showing the computed values of m and b
    print(' y = {0} * x + {1}'.format(m, b))
    plt.show()
    
  3. Agora, execute a célula para exibir um gráfico de dispersão com uma linha de regressão.

    Scatter plot with regression line.

    Gráfico de dispersão com linha de regressão

Na linha de regressão, você pode ver que a diferença entre as temperaturas médias de 30 anos e as temperaturas médias de 5 anos está aumentando ao longo do tempo. A maior parte do trabalho computacional necessário para gerar a linha de regressão foi feita pela função polyfit do NumPy, que calculou os valores m e b na equação y = mx + b.