Комментарии 1
подбор комбинации элементов многомерной матрицы, чтобы сделать ее положительно определенной, потребует порядочно удачи и времени на вычисления
Если вам нужна какая-нибудь положительно определённая матрица размерности n x n, то достаточно взять какую-нибудь матрицу X размерности n x сколько-нибудь и умножить её саму на себя, т.е. X X^T. Если вы брали матрицу случайно, то результат умножения будет неотрицательно определённым (этого достаточно для существования многомерного нормального распределения с такой ковариационной матрицей, пусть и вырожденного) хотя бы из-за того, что «какая-нибудь матрица размерности n x сколько-нибудь» — это выборка реализаций n-мерной случайной величины, а X X^T — её ковариационная матрица. То есть если не хочется устанавливать ещё один пакет, а хочется быстро на что-то посмотреть, то вполне достаточно
N <- 10
m <- matrix(rnorm(N*N), ncol=N)
pos.def.marix <- t(m) %*% m
Проверить результат можно, посмотрев на
eigen(pos.def.matrix)
— все собственные числа должны быть положительными, и они такими и будут (а если взять матрицу с числом рядов k < N, то мы получим N-k нулевых собственных чисел — это если вы хотели посмотреть на вырожденные распределения).
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Генерация и визуализация многомерных данных с R