Décomposition de Cholesky avec Exemple R

méthode de décomposition d’une matrice définie positive. Une matrice définie positive est définie comme une matrice symétrique où pour tous les vecteurs possibles \(x\), \(x’Ax > 0\). La décomposition de Cholesky et d’autres méthodes de décomposition sont importantes car il n’est pas souvent possible d’effectuer des calculs matriciels explicitement.

La décomposition de Cholesky, également connue sous le nom de factorisation de Cholesky, est une méthode de décomposition d’une matrice à définition positive. La matrice apositive définie est définie comme une matrice symétrique où pour tous les vecteurs possibles \(x\), \(x’Ax > 0\). La décomposition de Cholesky et d’autres méthodes de décomposition sont importantes car il n’est pas souvent possible de réaliser explicitement des calculs matriciels. Certaines applications de la composition Choleskydecomposition Incluent la résolution de systèmes d’équations linéaires, la simulation de Monte Carlo et les filtres de Kalman.

La décomposition de Cholesky factorise une matrice définie positive \(A\) en:

AA = LL^ T$$

Comment Décomposer une matrice avec la décomposition de Cholesky

Il existe de nombreuses méthodes pour calculer une décomposition de matrice avec l’approche de Cholesky. Cet article adopte une approche similaire à cette mise en œuvre.

Les étapes de factorisation de la matrice sont les suivantes:

  1. Calcul \(L_1= \sqrt {a_{11}}\)
  2. Pour \(k = 2, \points, n\):

  3. Trouver \(L_{k-1} l_k = a_k\) pour \(l_k\)

  4. \( l_{kk} = \sqrt{a_{kk} – l_k^T l_k}\)
  5. \( L_k=
    \begin{bmatrix} L_{k-1} & 0\\l_k^T & l_{kk}\end {bmatrix}

    \)

Un exemple de décomposition de Cholesky

Considérons la matrice suivante \(A\).

AA=\begin {bmatrix} 3 & 4 & 3 \\ 4 & 8 & 6 \\ 3 & 6 & 9\ end {bmatrix}$$

La matrice \(A\) ci-dessus est tirée de l’exercice 2.16 du livre Methods ofMultivariate Analysis d’Alvin Rencher.

Commencez par trouver \(L_1\).

$$L_1= \sqrt{a_{11}} = \sqrt{3} = 1.732051 $$

Ensuite, nous trouvons \(l_2\)

$$ l_2 = \frac{a_{21}} {L_1} = \frac{4}{\sqrt{3}} = 2.309401 $$

Alors \(l_{22}\) peut être calculé.

$$l_{22} = \sqrt{a_{22} – l_2^T l_2} = \sqrt{8 – 2.309401^2} = 1.632993 $$

Nous avons maintenant la matrice \(L_2\):

$$L_2 = \begin{bmatrix} L_1 & 0\\l_2^T & l_{22}\end{bmatrix} = \begin{bmatrix} 1.732051 & 0 \\ 2.309401 & 1.632993\end {bmatrix}$$

Puisque la matrice est \(3\ fois 3\), nous n’avons besoin que d’une itération de plus.

Avec \(L_2\) calculé, \(l_3\) peut être trouvé:

$$l_3= \frac{a_3}{L_2} = a_3 L_2^{-1} = \begin{bmatrix} 1.732051 & 0 \\ 2.309401 & 1.632993\ fin {bmatrix} ^{-1} \ début {bmatrix} 3\\6\ fin {bmatrix}$$
$$ l_3 = \begin {bmatrix} 1.7320508\\1.224745\end {bmatrix}$$

\( l_{33}\) est alors trouvé:

$$l_{33} = \sqrt{a_{33}-l_3^T l_3} = \sqrt{9-\begin{bmatrix} 1.7320508 & 1.224745\end{bmatrix}\begin{bmatrix} 1.7320508\\1.224745\end {bmatrix}} = 2.12132 $$

Ce qui nous donne la matrice \(L_3\) :

$$L_3=\begin {bmatrix} 1.7320508 & 0 & 0 \\ 2.309401 & 1.632993 & 0 \\ 1.7320508 & 1.224745 & 2.12132\ end {bmatrix}$$

La matrice \(L_3\) peut alors être prise comme solution. Transposer la decomposition change la matrice en une matrice triangulaire supérieure.

Décomposition de Cholesky dans R

La fonction chol() effectue une décomposition de Cholesky sur une matrice définie apositive. Nous définissons la matrice \(A\) comme suit.

A = as.matrix(data.frame(c(3,4,3),c(4,8,6),c(3,6,9)))colnames(A) <- NULLA
## ## 3 4 3## 4 8 6## 3 6 9

Factorisez ensuite la matrice avec la fonction chol().

A.chol <- chol(A)A.chol
## ## 1.732051 2.309401 1.732051## 0.000000 1.632993 1.224745## 0.000000 0.000000 2.121320

La fonction chol() renvoie une matrice triangulaire supérieure. La transposition de la matrice décomposée donne une matrice triangulaire inférieure comme dans notre résultat ci-dessus.

t(A.chol)
## ## 1.732051 0.000000 0.00000## 2.309401 1.632993 0.00000## 1.732051 1.224745 2.12132

Notre résultat ci-dessus correspond à la sortie de la fonction chol().

Nous pouvons également montrer l’identité \(A = LL ^ T \) avec le résultat.

t(A.chol) %*% A.chol
## ## 3 4 3## 4 8 6## 3 6 9

Résumé

La décomposition de Cholesky est fréquemment utilisée lorsque le calcul direct d’une matrice n’est pas optimal. La méthode est utilisée dans une variété d’applications telles que l’analyse multivariée en raison de sa nature et de sa stabilité relativement efficaces.

(2011). Extrait dehttp://www.seas.ucla.edu/~vandenbe/103/lectures/chol.pdf

Algorithme de décomposition de Cholesky. Extrait dehttp://www.math.sjsu.edu/~foster/m143m/cholesky.pdf

Décomposition de Cholesky (2016). Dans Wikipedia. Extrait dehttps: //en.Wikipedia.org/wiki/Cholesky_decomposition

Rencher, A. C. (2002). Méthodes d’analyse multivariée. Il s’agit de l’un des plus grands noms de la littérature française.

  • Analyse Discriminante Quadratique de Plusieurs Groupes
  • Analyse Discriminante Quadratique de Deux Groupes
  • Analyse Discriminante de Plusieurs Groupes
  • Analyse Discriminante Linéaire pour la Classification de Plusieurs Groupes
  • Analyse Discriminante Linéaire pour la Classification de Deux Groupes