У меня есть оценка ковариационной матрицыОшибка в обратной матрицы
Я хочу взять инверсию этой матрицы, R дает мне следующую ошибку
A=[ 3529861.470 8785861.47 6920.344 17120.34;
8785861.470 26209861.47 17120.344 51920.34;
6920.344 17120.34 14.000 34.00;
17120.344 51920.34 34.000 104.00]
«Ошибка в solve.default (l): система является вычислительно сингулярной: номер взаимного условия = 2.14511e-22 ".
однако Matlab делает обратный расчет без сообщения об ошибке. Кто-нибудь знает причину, по которой R дает мне ошибку? Есть ли другой способ расчета обратного
Matlab дает число обусловленности ('конд (A)') из 9.5e12, поэтому матрица на самом деле близка к вырожденной. Возможно, R просто имеет более строгий порог, чем Matlab, чтобы объявить матрицу как близкую к единственному –
номер взаимного условия, которое R дает мне 2.14511e-22. разве не существует способа обойти эту ситуацию в R? – Spandy
Я не знаю R, но в линейной алгебре, если у вас есть большое условное число, алгоритм инвертирования должен быть немного другим (я имею в виду, вы не можете вычислить его с детерминантами, так как вы получите большие числа, вы должны использовать что-то как исключение гауссии). Может быть, вам следует искать различные варианты вычисления обратной матрицы в R –