Как эффективно вычислить линейно зависимые столбцы в большой разреженной матрице в R - PullRequest
0 голосов
/ 06 апреля 2020

У меня большая разреженная двоичная матрица, около 15000 столбцов и 10 миллионов строк, и я хочу провести на ней линейную регрессию. Обычный lm может обрабатывать линейно зависимые столбцы, но не матрицы этого размера. У меня есть пакеты для большой разреженной линейной регрессии, но они требуют линейно независимых столбцов.

Теперь я ищу функцию, которая возвращает что-то вроде «Столбцы 3, 7 и 15 линейно зависимы, как и столбцы 23 и 27, остальные линейно независимы».

Я рассмотрел некоторые связанные вопросы, но они используют такие методы, как исключение одного столбца за раз, вычисление QR-разложения и проверка ранга, который не выглядит хорошим способом сделать это для большой матрицы. Если я просто ввожу свою матрицу как есть, я получаю ошибку, что разложение Холецкого не удалось, и кажется, что если бы оно просто сообщало мне, в каком столбце произошел сбой, у меня был бы мой ответ.

Как быстро найти все линейно зависимые столбцы?

...