Régression linéaire multiple en profondeur
Dans l'article précédent, nous avons défini les concepts de base de la régression linéaire, notamment la régression linéaire simple, les fonctions de coût, les mathématiques et l'équation directrice d'une droite. Si vous avez sauté cet article, consultez le lien ci-dessous pour plus d'informations.
Régression linéaire en profondeurDans cet article, nous nous concentrerons sur un autre type de régression linéaire appelé régression linéaire multiple. La régression linéaire multiple est une technique statistique utilisée pour modéliser la relation entre une variable de réponse et plusieurs variables prédictives. La variable de réponse est également appelée variable dépendante et les variables prédictives sont appelées variables indépendantes. La régression linéaire multiple peut être utilisée pour faire des prédictions sur la variable de réponse en fonction des variables prédictives.
Cependant, il est important de noter que les hypothèses de linéarité et d'indépendance des erreurs doivent être satisfaites pour que le modèle soit valide. La régression linéaire multiple est assez similaire à la régression linéaire simple à quelques différences près, dont nous parlerons dans cet article. L'objectif de la régression linéaire multiple est de trouver la ligne la mieux ajustée (ou l'hyperplan en plusieurs dimensions) qui décrit la relation entre la variable de réponse et les variables prédictives. La relation entre la variable de réponse et les variables prédictives peut être décrite comme une équation mathématique :
où:
- y est la réponse ou la variable dépendante,
- x_1, x_2, …, x_n sont le prédicteur ou les variables indépendantes,
- x_0 est l'ordonnée à l'origine ou connue sous le nom de biais,
- et w_1, w_2, …, w_n sont les coefficients de chaque variable prédictive,
- le terme de gauche de l'équation (yhat) représente la valeur que nous prédisons en fonction des variables d'entrée (prédicteur) x.
où:
- w^T est la transposée du vecteur de coefficients w (appelés aussi « poids »),
- x est le vecteur des variables prédictives,
- b est l'ordonnée à l'origine ou connue sous le nom de biais,
- Σ désigne la somme de toutes les observations,
- et le terme de gauche de l'équation (yhat) représente la valeur que nous prédisons en fonction des variables d'entrée (prédicteur) x.
Le processus de régression linéaire multiple consiste à trouver les valeurs de w et b. Afin de trouver les valeurs, nous devons définir la fonction de coût pour la régression linéaire multiple et noter que l'étiquette de la fonction de coût est exprimée par la lettre E. La fonction de coût est définie comme :
Semblable à la régression linéaire simple, nous devons effectuer des dérivations partielles de la fonction de coût pour trouver les valeurs optimales de w et b. Cependant, afin de dériver des expressions pour trouver les valeurs optimales, il nous serait plus facile d'effectuer la dérivation en utilisant des techniques d'optimisation telles que la descente de gradient (GD), la descente de gradient stochastique (SGD) ou la méthode de Newton (NM). Si vous souhaitez en savoir plus sur les techniques d'optimisation, consultez cet article.
La fonction de coût de la descente de gradient pour la régression linéaire multiple est définie comme :
où:
- (y — Xw — b) est un (nx 1) vecteur de résidus,
- (expression)^T désigne la transposition d'un vecteur ou d'une matrice.
Après cette dérivation, nous sommes en mesure de dériver une expression pour trouver les coefficients.
Il est important de noter que pour implémenter cela, il faut l'inverse de la matrice X ^ TX, et si elle n'est pas inversible, on peut utiliser des techniques de régularisation telles que la crête ou le lasso pour surmonter le problème de non-inversibilité. En plus de trouver la valeur optimale des variables w, nous devons trouver une expression pour trouver la valeur optimale du biais. Cependant, la valeur de biais habituelle est de 1. Pour compléter cet article, nous allons effectuer une dérivée partielle de la fonction de coût par rapport au paramètre b pour trouver la valeur optimale.
où:
- (1) est un (D x 1) vecteur de uns,
- D est le nombre de uns dans le vecteur.
import numpy as np
X = [[1, 2, 1], [2, 4, 1], [1, 2, 1], [1, 2, 1], [1, 4, 1]]
Y = [1, 2, 3, 4, 7]
X = np.array(X)
Y = np.array(Y)
w = np.linalg.solve(np.dot(X.T, X), np.dot(X.T, Y))
Yhat = np.dot(X, w)
d1 = Y - Yhat
d2 = Y - Y.mean()
r2 = 1 - d1.dot(d1) / d2.dot(d2)
from sklearn import linear_model
import numpy as np
Y = [1, 2, 3, 4, 7]
X = [[1, 2, 1], [2, 4, 1], [1, 2, 1], [1, 2, 1], [1, 4, 1]]
X = np.array(X)
Y = np.array(Y)
regr = linear_model.LinearRegression()
regr.fit(X, Y)
regr.score(X,Y)
predictedValue = regr.predict([[4, 5, 1]])
Régression logistique
Si vous aimez l'article, assurez-vous de me suivre pour voir mes nouveaux articles.
![Qu'est-ce qu'une liste liée, de toute façon? [Partie 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































