Cholesky sönderdelning med R exempel

metod för sönderdelning av en positiv bestämd matris. En positiv bestämd matris definieras som en symmetrisk matris där för alla möjliga vektorer \(x\), \(x ’ Axe > 0\). Cholesky sönderdelning och andra sönderdelningsmetoder är viktiga eftersom det inte ofta är möjligt att utföra matrisberäkningar uttryckligen.

Cholesky sönderdelning, även känd som Cholesky faktorisering, är enmetod för sönderdelning av en positiv-definitematrix. Apositiv-bestämd matris definieras som en symmetrisk matris där för allamöjliga vektorer \(x\), \(x ’ Ax > 0\). Cholesky sönderdelning och andradekompositionsmetoder är viktiga eftersom det inte ofta är möjligt att utföra matrisberäkningar uttryckligen. Vissa tillämpningar av Choleskydecompositioninclude lösa system av linjära ekvationer, Monte Carlo simulering, ochkalman filter.

Cholesky sönderdelningsfaktorer en positiv bestämd matris \(A\) i:

$$ A = LL^t$$

hur sönderdelas en matris med Kolesky sönderdelning

det finns många metoder för att beräkna en matrisnedbrytning medcholesky-metoden. Detta inlägg tar ett liknande tillvägagångssätt för dettagenomförande.

stegen i factoring matrisen är följande:

  1. beräkna \(L_1 = \sqrt{a_{11}}\)
  2. för \(k = 2, \ dots, n\):

  3. hitta \(L_{k-1} l_k = a_k\) för \(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}

    \)

ett exempel på Cholesky sönderdelning

Tänk på följande matris \(A\).

$ $ A = \ börja{bmatrix} 3 & 4 & 3 \\ 4 & 8 & 6 \\ 3 & 6 & 9\end{bmatrix}$$

matrisen \(A\) ovan är hämtad från övning 2.16 i boken Methods ofMultivariate Analysis av Alvin Rencher.

börja med att hitta \(L_1\).

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

nästa hittar vi \(l_2\)

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

då kan \(l_{22}\) beräknas.

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

vi har nu matrisen \(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}$$

eftersom matrisen är \(3 \gånger 3\), Vi behöver bara en mer iteration.

med\ (L_2\) beräknad, \ (l_3\) kan hittas:

$$ l_3 = \ frac{a_3}{L_2} = a_3 L_2^{-1} = \ begin{bmatrix} 1.732051 & 0 \\ 2.309401 & 1.632993\slut{bmatrix}^{-1} \ börja{bmatrix} 3 \ \ 6 \ slut{bmatrix}$$
$$l_3 = \ begin{bmatrix} 1.7320508 \ \ 1.224745 \ end{bmatrix}$$

\(l_{33}\) hittas sedan:

$$ 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 \ slutet{bmatrix}} = 2.12132 $$

vilket ger oss \(L_3\) matrisen:

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

\(L_3\) matrisen kan sedan tas som lösningen. Transponering thedecomposition ändrar matrisen till en övre triangulär matris.

Cholesky sönderdelning i R

funktionen chol() utför Cholesky sönderdelning på apositiv bestämd matris. Vi definierar matrisen \(A\) enligt följande.

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

faktor sedan matrisen med funktionen 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

funktionen chol() returnerar en övre triangulär matris. Transponeringden sönderdelade matrisen ger en lägre triangulär matris som i vårt resultatovan.

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

vårt resultat ovan matchar utgången från funktionen chol().

vi kan också visa identiteten \(A = LL^T\) med resultatet.

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

sammanfattning

Cholesky sönderdelning används ofta när direktberäkning av en matris inte är optimal. Metoden används i en mängd olikaapplikationer såsom multivariat analys på grund av dess relativteffektiv natur och stabilitet.

(2011). Hämtad frånhttp://www.seas.ucla.edu/~vandenbe/103 / föreläsningar / chol.pdf

algoritm för Kolesky sönderdelning. Hämtad frånhttp://www.math.sjsu.edu/~foster / m143m / cholesky.pdf

Cholesky sönderdelning (2016). På Wikipedia. Hämtad frånhttps: / / sv.wikipedia.org / wiki / Cholesky_dekomposition

Rencher, A. C. (2002). Metoder för multivariat analys. New York: J. Wiley.

  • kvadratisk diskriminantanalys av flera grupper
  • kvadratisk diskriminantanalys av två grupper
  • diskriminantanalys av flera grupper
  • linjär diskriminantanalys för klassificering av flera grupper
  • linjär diskriminantanalys för klassificering av två grupper