Comment trouver des solutions de moindres carrés à l'aide de l'algèbre linéaire?

Les observations de la vie réelle donnent presque toujours des solutions incohérentes à l'équation
Cependant, les observations de la vie réelle donnent presque toujours des solutions incohérentes à l'équation matricielle où s'appelle le vecteur d'observation, s'appelle la matrice de conception, et nous recherchons les valeurs du vecteur de paramètre.

Dans l'analyse des données, l'objectif est souvent de trouver des corrélations pour les données observées, appelées courbes de tendance. Cependant, les observations réelles donnent presque toujours des solutions incohérentes à l'équation matricielle Xβ=y,{\displaystyle X{\boldsymbol {\beta }}=\mathbf {y},} y{\displaystyle \mathbf {y} } est appelé vecteur d'observation, X{\displaystyle X} est appelé la matrice de conception m×n{\displaystyle m\times n} , et nous recherchons les valeurs de β,{\displaystyle {\boldsymbol {\beta }},} le vecteur de paramètre. Intuitivement, c'est facile à voir - aucune ligne de tendance, sauf dans des cas très particuliers, ne peut croiser chaque point des données.

Reliez la solution des moindres carrés à la matrice de conception
Reliez la solution des moindres carrés à la matrice de conception et au vecteur d'observation.

Pour de nombreuses applications, la solution consiste à trouver un ^{\displaystyle {\hat {\boldsymbol {\beta }}}} qui se rapproche le mieux de l'équation susmentionnée. Cela peut être écrit en termes d'inégalité ||y−Xβ^||2≤||y−Xβ||2,{\displaystyle ||\mathbf {y} -X{\hat {\boldsymbol {\beta } }}||^{2}\leq ||\mathbf {y} -X{\boldsymbol {\beta }}||^{2},} où nous minimisons la distance entre y{\displaystyle \mathbf {y } } et Xβ.{\displaystyle X{\boldsymbol {\ beta }}.} Parce que la quantité ||y−Xβ||2{\displaystyle ||\mathbf {y} -X{\boldsymbol {\beta }} ||^{2}} est une somme de carrés, le problème de trouver β^{\displaystyle {\hat {\boldsymbol {\beta }}}} est appelé problème des moindres carrés.

Puisque nous ajustons une ligne de tendance linéaire
Puisque nous ajustons une ligne de tendance linéaire, nous pouvons utiliser les points de données pour écrire un système d'équations.

Il est recommandé d'avoir des connaissances en algèbre linéaire pour comprendre la dérivation.

Partie 1 sur 2: dérivation de la solution générale des moindres carrés

  1. 1
    Rappelons la définition d'une projection. Considérons un espace vectoriel couvert par l'espace colonne de X{\displaystyle X} (Col⁡X∈Rm){\displaystyle (\operatorname {Col} X\in \mathbb {R} ^{m})} et un y observable .{\displaystyle \mathbf {y}.} Parce que y{\displaystyle \mathbf {y} } en général n'est pas dans Col⁡X,{\displaystyle \operatorname {Col} X,} nous souhaitons trouver la meilleure approximation y ^{\displaystyle {\hat {\mathbf {y} }}} à y,{\displaystyle \mathbf {y},} qui est dans Col⁡X,{\displaystyle \operatorname {Col} X,} appelé la projection de y.{\displaystyle \mathbf {y}.} En d'autres termes, nous souhaitons trouver y^{\displaystyle {\hat {\mathbf {y} }}} qui minimise la distance entre l'espace vectoriel Span⁡{Col⁡X}{\displaystyle \operatorname {Span} \{\operatorname {Col} X\}} et y.{\displaystyle \mathbf {y}.}
    • y^=ProjCol⁡X⁡y{\displaystyle {\hat {\mathbf {y} }}=\operatorname {Proj} _{\operatorname {Col} X}\mathbf {y} }
    • Si on laisse X=(x1x2.. 0,10),{\displaystyle X={\begin{pmatrix}\mathbf {x} _{1}&\mathbf {x} _{2}&...&\ mathbf {x} _{p}\end{pmatrix}},} alors nous pouvons écrire la projection comme suit, où les crochets angulaires signifient le produit scalaire.
      • ProjCol⁡X⁡y=⟨y,x1⟩⟨x1,x1⟩x1+...+⟨y,10⟩⟨10,xp⟩10{\displaystyle \operatorname {Proj} _{\operatorname {Col} X}\ mathbf {y} ={\frac {\langle \mathbf {y},\mathbf {x} _{1}\rangle }{\langle \mathbf {x} _{1},\mathbf {x} _{1 }\rangle }}\mathbf {x} _{1}+\,...\,+{\frac {\langle \mathbf {y},\mathbf {x} _{p}\rangle }{\langle \mathbf {x} _{p},\mathbf {x} _{p}\rangle }}\mathbf {x} _{p}}
    • Évidemment, ce n'est pas quelque chose que nous voulons évaluer.
  2. 2
    Réécrivez l'équation matricielle avec des projections. Maintenant que nous avons un vecteur qui est dans Col⁡X,{\displaystyle \operatorname {Col} X,} nous pouvons commencer à trouver un β^{\displaystyle {\hat {\boldsymbol {\beta }}}} qui donne une solution cohérente pour l'équation matricielle ci-dessous, où β^∈Rn.{\displaystyle {\hat {\boldsymbol {\beta }}}\in \mathbb {R} ^{n}.}
    • Xβ^=y^{\displaystyle X{\hat {\boldsymbol {\beta }}}={\hat {\mathbf {y} }}}
  3. 3
    Reliez l'espace nul de x{\displaystyle x} avec y^{\displaystyle {\hat {\mathbf {y} }}} . On peut relier y{\displaystyle \mathbf {y} } et sa projection via z=y−y^,{\displaystyle \mathbf {z} =\mathbf {y} -{\hat {\mathbf {y} }},} z{\displaystyle \mathbf {z} } est le composant de y{\displaystyle \mathbf {y} } orthogonal à Col⁡X.{\displaystyle \operatorname {Col} X.}
    • y−y^=Col⁡(X)⊥{\displaystyle \mathbf {y} -{\hat {\mathbf {y} }}=\operatorname {Col} (X)^{\perp }}
    • Un théorème en algèbre linéaire est que si β{\displaystyle {\boldsymbol {\beta }}} est dans l'espace nul de X,{\displaystyle X,} alors β{\displaystyle {\boldsymbol {\beta }}} est orthogonal à l'espace des lignes de X.{\displaystyle X.} Cela a du sens, car faire la multiplication matricielle pour n'importe quelle ligne devrait envoyer le résultat à 0, comme l'exige un vecteur dans l'espace nul de X.{\displaystyle X. }
      • Ligne⁡(X)⊥=Nul⁡X{\displaystyle \operatorname {Row} (X)^{\perp }=\operatorname {Nul} X}
    • Puisque nous pouvons facilement transposer X,{\displaystyle X,} nous pouvons dire que Col⁡(X)⊥=Nul⁡XT.{\displaystyle \operatorname {Col} (X)^{\perp }=\operatorname {Nul} X^{T}.} Par conséquent, y−y^=Nul⁡XT,{\displaystyle \mathbf {y} -{\hat {\mathbf {y} }}=\operatorname {Nul} X^{T}, } nous menant à la conclusion ci-dessous.
      • XT(y−y^)=0{\displaystyle X^{T}(\mathbf {y} -{\hat {\mathbf {y} }})=0}
  4. 4
    Remplacez xβ^{\displaystyle x{\hat {\boldsymbol {\beta }}}} par y^{\displaystyle {\hat {\mathbf {y} }}} et simplifiez. Puisque nous ne cherchons pas y^,{\displaystyle {\hat {\mathbf {y} }},} mais β^,{\displaystyle {\hat {\boldsymbol {\beta }}},} nous le substituons dans l'équation homogène.
    • XT(y−Xβ^)=0XTy−XTXβ^=0{\displaystyle {\begin{aligned}X^{T}(\mathbf {y} -X{\hat {\boldsymbol {\beta }}})& =0\\X^{T}\mathbf {y} -X^{T}X{\hat {\boldsymbol {\beta }}}&=0\end{aligned}}}
  5. 5
    Résolvez pour β^{\displaystyle {\hat {\boldsymbol {\beta }}}} . Maintenant que nous avons exprimé β^{\displaystyle {\hat {\boldsymbol {\beta }}}} dans les quantités que nous voulons, nous pouvons évaluer cette équation.
    • β^=(XTX)−1XTy{\displaystyle {\hat {\boldsymbol {\beta }}}=(X^{T}X)^{-1}X^{T}\mathbf {y} }
    • Attention, pour que cette équation soit valide, XTX{\displaystyle X^{T}X} doit être inversible. S'il y a des variables libres dans cette expression, alors il y aura un nombre infini de courbes de tendance valides.
Nous pouvons ajuster des lignes de tendance des moindres carrés qui peuvent être décrites
Étant donné un ensemble de données, nous pouvons ajuster des lignes de tendance des moindres carrés qui peuvent être décrites par des combinaisons linéaires de fonctions connues.

Partie 2 sur 2: exemple pour des données données

  1. 1
    Considérez les points de données suivants. Nous voulons leur ajuster une ligne de tendance linéaire des moindres carrés y=β0x+β1{\displaystyle y=\beta _{0}x+\beta _{1}} .
    • (03),(14),(25),(37){\style d'affichage (03),\,(14),\,(25),\,(37)}
    • Puisque nous ajustons une ligne de tendance linéaire, nous pouvons utiliser les points de données pour écrire un système d'équations.
      • 3= β14=β0+β15=2β0+β17=3β0+β1{\displaystyle {\begin{aligned}3&=\ \ \ \ \ \ \ \ \ \beta _{1}\\4&=\beta _{0 }+\beta _{1}\\5&=2\beta _{0}+\beta _{1}\\7&=3\beta _{0}+\beta _{1}\end{aligned}} }
  2. 2
    Mettre en place le vecteur d'observation et la matrice de conception. Le vecteur d'observation est simplement un vecteur colonne constitué des observations ou des valeurs y. Les éléments de la matrice de conception reposent sur les coefficients de l'équation de la ligne de tendance en ce qui concerne chaque point. Dans notre cas, la première colonne est constituée des coefficients de β0,{\displaystyle \beta _{0},} tandis que la deuxième colonne est constituée des coefficients de β1.{\displaystyle \beta _{1}.}
    • X=(01112131), y=(3457){\displaystyle X={\begin{pmatrix}0&1\\1&1\\2&1\\3&1\end{pmatrix}},\ \mathbf {y} ={\begin{ pmatrix}3\\4\\5\\7\end{pmatrix}}}
  3. 3
    Reliez la solution des moindres carrés à la matrice de conception et au vecteur d'observation.
    • β^=(XTX)−1XTy{\displaystyle {\hat {\boldsymbol {\beta }}}=(X^{T}X)^{-1}X^{T}\mathbf {y} }
  4. 4
    Évaluez le côté droit par tous les moyens possibles.
    • XTX=(14664)(XTX)−1=110(2−3−37)XTy=(3519)(XTX)−1XTy=110(1328){\displaystyle {\begin{aligned}X^{T}X&= {\begin{pmatrix}14&6\\6&4\end{pmatrix}}\\(X^{T}X)^{-1}&={\frac {1}{10}}{\begin{pmatrix}2& -3\\-3&7\end{pmatrix}}\\X^{T}\mathbf {y} &={\begin{pmatrix}35\\19\end{pmatrix}}\\(X^{T} X)^{-1}X^{T}\mathbf {y} &={\frac {1}{10}}{\begin{pmatrix}13\\28\end{pmatrix}}\end{aligned} }}
  5. 5
    Écrivez la courbe de tendance sous forme standard. Il s'agit de la ligne de meilleur ajustement pour les points de données observés. Notre intuition vérifie qu'il s'agit de la bonne réponse, car nous nous attendions à ce que la pente soit légèrement supérieure à 1 et que l'ordonnée à l'origine soit légèrement inférieure à 3, en raison de la valeur aberrante (37).{\displaystyle (37).}
    • y=1310x+2810{\displaystyle y={\frac {13}{10}}x+{\frac {28}{10}}}

Conseils

  • L'exemple que nous avons montré dans la partie 2 traitait de l'ajustement d'une ligne droite à un ensemble d'observations. Cependant, les moindres carrés sont plus puissants que cela. Étant donné un ensemble de données, nous pouvons ajuster des lignes de tendance des moindres carrés qui peuvent être décrites par des combinaisons linéaires de fonctions connues. Par exemple, vous pouvez ajuster des courbes quadratiques, cubiques et même exponentielles sur les données, le cas échéant.

FacebookTwitterInstagramPinterestLinkedInGoogle+YoutubeRedditDribbbleBehanceGithubCodePenWhatsappEmail