Объясните, как `eigen` помогает инвертировать матрицу


13

Мой вопрос относится к вычислительной технике, используемой в geoR:::.negloglik.GRFили geoR:::solve.geoR.

В линейной смешанной модели:

Y=Xβ+Zb+e
где β и b - фиксированные и случайные эффекты соответственно. Также Σ=cov(Y)

При оценке последствий, необходимо , чтобы вычислить , которые обычно можно сделать , используя что - то вроде , но иногда ( X ' Σ - 1 X ) почти не- обратимый, так что используй трюк

(X′Σ−1X)−1X′Σ−1Y
solve(XtS_invX,XtS_invY)(X′Σ−1X)geoR
t.ei=eigen(XtS_invX)
crossprod(t(t.ei$vec)/sqrt(t.ei$val))%*%XtS_invY

(можно увидеть в geoR:::.negloglik.GRFи geoR:::.solve.geoR) , которая составляет разлагая

(X′Σ−1X)=ΛDΛ−1
где и , следовательно , ( Х ' Σ - 1 X ) - 1 = ( Д - 1 / 2 Λ - 1 ) ' ( Д - 1 / 2 Λ - 1 )Λ′=Λ−1
(X′Σ−1X)−1=(D−1/2Λ−1)′(D−1/2Λ−1)

Два вопроса:

  1. Как это собственное разложение помогает переворачивания ?(X′Σ−1X)
  2. Есть ли другие жизнеспособные альтернативы (надежные и стабильные)? (например qr.solveили chol2inv?)

Ответы:


15

ΣXTΣ−1X

ΣΣ=LLTL−1XL−1X=QRL−1XL

XTΣ−1X=XT(LLT)−1X=XTL−TL−1X=(L−1X)T(L−1X)=(QR)TQR=RTQTQT=RTR
RRTR

XTΣYXTΣ−1Y

XTΣ−1Y=XT(LLT)−1Y=XTL−TL−1Y=(L−1X)TL−1Y=(QR)TL−1Y=RTQTL−1Y
β
XTΣ−1Xβ=XTΣ−1YRTRβ=RTQTL−1YRβ=QTL−1Yβ=R−1QTL−1Y
R

Благодарю. это полезный ответ. Проще говоря, ваша альтернатива chol / qr поможет выиграть войну? или просто выиграть игру лучше, чем то, что делает Эйген?
— Кохелет

Это сложный вопрос, чтобы ответить. Я уверен, что объединение факторизаций Холецкого и QR даст вам лучший ответ (и более быстрый ответ). Правильный ли это ответ зависит от источника проблемы. В этом случае есть 2 потенциальных источника. Либо колонныИкс почти линейно зависимы или Σприближается к единственному. Когда вы формируетеИксTΣ-1ИксЭти проблемы усиливают друг друга. Подход Cholesky + QR не (и не может) смягчить ни одну из этих проблем, но предотвращает ухудшение ситуации.
— Билл Весснер
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.