Есть ли подпрограмма, похожая на lstsq(), для решения проблем OLS с использованием QR Householder?

Встроенная функция lstsq() используется для решения задачи наименьших квадратов Ax=b, аргументом, который принимает эта функция, является матрица Вандермонда A и вектор b, представляющий целевую переменную. Подпрограмма этой встроенной функции основана на декомпозиции SVD.

Пользователь @Stefano M сказал в разделе comment своего ответа следующий:

внутренне np.linalg.lstsq вызывает LAPACK dgelsd, который, в свою очередь, основан на SVD.

Более того, в официальной документации NumPy по lstsq() , они упоминают, что как часть вывода функция возвращает массив сингулярных значений A, что также является убедительным признаком того, что эта функция использует декомпозицию SVD.

Если это так, то есть ли другая встроенная функция наименьших квадратов из NumPy (или Scipy), которая использует QR-разложение с использованием преобразования Хаусхолдера для решения проблемы наименьших квадратов, если она может существовать?

Разложение QR дешевле, чем SVD, а также немного быстрее. SVD обгоняет QR по стабильности, когда речь идет о матрицах с дефицитом ранга


person B E I R U T    schedule 24.07.2021    source источник