Cholesky Decomposition with R Example

method of decoposing a positive-Definitive matrix. Positiivis-definiittinen matriisi määritellään symmetriseksi matriisiksi, jossa kaikilla mahdollisilla vektoreilla \(x\), \(x ’ Ax > 0\). Kolesky hajoaminen ja muut hajoamismenetelmät ovat tärkeitä, koska se ei ole usein mahdollista suorittaa matriisilaskennan eksplisiittisesti.

Kolesky-hajoaminen, joka tunnetaan myös nimellä Kolesky factorization, on positiivisen definitematrixin hajottamisen ametodi. Apositiivis-definiittinen matriisi määritellään symmetriseksi matriisiksi, jossa kaikille mahdollisille vektoreille \(x\), \(x ’ Ax > 0\). Cholesky hajoaminen ja muutdecomposition menetelmät ovat tärkeitä, koska se ei ole usein mahdollista toperform matriisi laskelmat nimenomaisesti. Jotkut sovellukset Choleskydecompositioninclude ratkaisujärjestelmät lineaaristen yhtälöiden, Monte Carlo simulointi, andKalman suodattimet.

Kolesky-hajoamistekijät positiivinen-definiittinen matriisi \(a\) osaksi:

$$ A = LL^T$$

miten hajotetaan matriisi Kolesky-hajoamisella

on olemassa monia menetelmiä matriisin hajoamisen laskemiseksi kolesky-lähestymistavalla. Tässä viestissä noudatetaan samantapaista lähestymistapaa tähän täytäntöönpanoon.

matriisin faktoroinnin vaiheet ovat seuraavat:

  1. laske \(L_1 = \sqrt{a_{11}}\)
  2. \ (k = 2, \dots, n\):

  3. Etsi \(l_{K-1} l_k = a_k\) for \(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}}

    \)

esimerkkinä Koleskin hajoamisesta

tarkastellaan seuraavaa matriisia \(A\).

$$a = \begin{bmatrix} 3 & 4 & 3 \\ 4 & 8 & 6 \\ 3 & 6 & 9\loppu{bmatrix}$ $

yllä oleva matriisi \(A\) on otettu harjoituksesta 2.16 Alvin Rencherin kirjassa Methods ofMultivariate Analysis.

aloita etsimällä \(L_1\).

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

seuraavaksi etsitään \(l_2\)

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

silloin \(l_{22}\) voidaan laskea.

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

meillä on nyt \(l_2\) matriisi:

$$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}$$

koska matriisi on \(3 \kertaa 3\), tarvitsemme vain yhden iteraation lisää.

\(L_2\) laskettuna \(l_3\) löytyy:

$$ l_3 = \frac{a_3}{L_2} = a_3 L_2^{-1} = \begin{bmatrix} 1.732051 & 0 \\ 2.309401 & 1.632993\end{bmatrix}^{-1} \begin{bmatrix} 3 \\ 6\end{bmatrix}}$$
$$ l_3 = \begin{bmatrix} 1. 7320508 \\ 1. 224745 \end{bmatrix}}$$

\( l_{33}\) löytyy:

$$ 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 $$

josta saadaan \(L_3\) matriisi:

$$l_3 = \begin{bmatrix} 1.7320508 & 0 & 0 \\ 2.309401 & 1.632993 & 0 \\ 1.7320508 & 1.224745 & 2.12132\loppu{bmatrix}$$

\(L_3\) matriisia voidaan sitten pitää ratkaisuna. Transponointi thedecomposition muuttaa matriisin ylemmäksi kolmiomatriisiksi.

Koleskin hajoaminen in R

funktio chol() suorittaa koleskin hajoamisen apositiivis-definiittisellä matriisilla. Määrittelemme matriisin \(A\) seuraavasti.

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

sitten tekijä matriisi, jolla on chol() funktio.

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

funktio chol() palauttaa ylemmän kolmiomatriisin. Transposoiva hajotettu matriisi tuottaa alemman kolmiomatriisin kuten meidän resultabove.

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

yllä oleva tuloksemme vastaa chol() funktion tulosta.

voidaan myös osoittaa identiteetti \(A = LL^t\) tuloksella.

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

Yhteenveto

Kolesky-hajoamista käytetään usein silloin, kun matriisin suora laskenta ei ole optimaalista. Menetelmää käytetään monenlaisissa sovellutuksissa, kuten monimuuttuja-analyysissä sen suhteellisen tehokkaan luonteen ja stabiiliuden vuoksi.

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

Algorithm for Cholesky decomposition. Retrieved fromhttp://www.math.SJSU.edu/~Foster / m143m / cholesky.pdf

Cholesky decomposition (2016). Wikipediassa. Retrieved fromhttps: / / Fi.wikipedia.org / wiki / Cholesky_decomposition

Rencher, A. C. (2002). Monimuuttuja-analyysin menetelmät. New York: J. Wiley.

  • useiden ryhmien Diskriminanttianalyysi
  • kahden ryhmän Diskriminanttianalyysi
  • useiden ryhmien Diskriminanttianalyysi
  • Lineaarinen Diskriminanttianalyysi useiden ryhmien luokittelua varten
  • Lineaarinen Diskriminanttianalyysi kahden ryhmän luokittelua varten