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 des centaines de lignes, car il doit fonctionner avec 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 linéaire en seulement quelques lignes de code.
Le déroulement 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 minimize 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 la réponse (la colonne price_twd_msq de taiwan_real_estate) sont disponibles sous y_actual.
minimize() est aussi chargé.
Cette activité fait partie du cours
Régression intermédiaire avec statsmodels en Python
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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]))