Algoritmo de regressão linear
Para entender de verdade a regressão linear, ajuda saber como o algoritmo funciona. O código de ols() tem centenas de linhas porque precisa funcionar com qualquer fórmula e qualquer conjunto de dados. Porém, no caso de uma regressão linear simples para um único conjunto de dados, você pode implementar um algoritmo de regressão linear em apenas algumas linhas de código.
O fluxo de trabalho é:
- Primeiro, escreva uma função para calcular a soma dos quadrados usando esta sintaxe geral:
def function_name(args):
# some calculations with the args
return outcome
- Segundo, use a função de minimização do
scipypara encontrar os coeficientes que minimizam essa função.
Os valores explicativos (a coluna n_convenience de taiwan_real_estate) estão disponíveis como x_actual.
Os valores da variável resposta (a coluna price_twd_msq de taiwan_real_estate) estão disponíveis como y_actual.
minimize() também já está carregada.
Este exercicio faz parte do curso
Regressão Intermediária com statsmodels em Python
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# Complete the function
def calc_sum_of_squares(coeffs):
# Unpack coeffs
____, ____ = ____
# Calculate predicted y-values
y_pred = ____ + ____ * ____
# Calculate differences between y_pred and y_actual
y_diff = ____ - ____
# Calculate sum of squares
sum_sq = ____
# Return sum of squares
return sum_sq
# Test the function with intercept 10 and slope 1
print(calc_sum_of_squares([10, 1]))