Mis a jour le 2024-10-20, 20:16

Régression linéaire

Pour faire une régression linéaire :
On peut avoir un intervalle de confiance des valeurs prédites avec :
Regression linéaire robuste aux valeurs extrèmes (outliers) :
df.corr() : permet d'avoir la matrice de corrélation, ce qui donne les variables fortement corrélées, dont il faut éliminer une partie pour ne garder que les variables non corrélées (sinon, regression est instable).
Détermination des multicolinéarités par le VIF (Variance Inflation Factor) : on peut pour cela utiliser la fonction suivante :
import statsmodels.stats.outliers_influence
df = pandas.DataFrame({'x1': x1, 'x2': x2, 'x3': x3, 'y': y})
for i in range(len(['x1', 'x2', 'x3']))])
  print(statsmodels.stats.outliers_influence.variance_inflation_factor(df.loc[:, ['x1', 'x2', 'x3']].values, i))
  
il faut alors éliminer une par une les variables qui donnent une valeur supérieure à 5 (en commençant par la plus grande, puis on refait tourner, etc ...).

Copyright python-simple.com
programmer en python, tutoriel python, graphes en python, Aymeric Duclert