Algorithme de régression linéaire
Pour bien comprendre la régression linéaire, il est utile de savoir comment l’algorithme fonctionne. Le code de ols() fait plusieurs centaines de lignes, car il doit gérer n’importe quelle formule et n’importe quel jeu de données. Cependant, pour une régression linéaire simple sur un seul jeu de données, vous pouvez implémenter un algorithme de régression en seulement quelques lignes de code.
Le déroulé est le suivant :
- D’abord, écrivez une fonction qui calcule la somme des carrés en utilisant cette syntaxe générale :
def function_name(args):
# some calculations with the args
return outcome
- Ensuite, utilisez la fonction de minimisation de
scipypour trouver les coefficients qui minimisent cette fonction.
Les valeurs explicatives (la colonne n_convenience de taiwan_real_estate) sont disponibles sous x_actual.
Les valeurs de réponse (la colonne price_twd_msq de taiwan_real_estate) sont disponibles sous y_actual.
minimize() est également importée.
Cet exercice fait partie du cours
Régression intermédiaire avec statsmodels en Python
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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]))