Столкновение с LinAlgError: матрица единственная
Сообщество,
Языковой барьер сильно бьет по мне. Каким-то образом мне удалось научиться с помощью модели, но я не могу предсказать, так как теперь говорится, что моя Матрица уникальна - чего я не понимаю - это другое слово для обозначения уникальности?
Во всяком случае, вот важные моменты:
X.shape
(457, 123)
coord.shape
(457, 2)
pred = model.predict(coord, X)
Файл "...\venv3\lib\site-packages\spglm\iwls.py", строка 37, в _compute_betas_gwr xtx_inv_xt = linalg.solve(xtx, xT)
Файл "...\venv3\lib\site-packages\scipy\linalg\basic.py", строка 216, в решении _solve_check(n, info)
Файл "...\venv3\lib\site-packages\scipy\linalg\basic.py", строка 31, в _solve_check вызывает LinAlgError('Матрица единственная.')
numpy.linalg.LinAlgError: матрица является единственной.
.
В X и координатах - числа (положительные и несколько отрицательных, координаты - долгота и широта).
Модель, которую я пытаюсь использовать, взята из этой библиотеки:
from mgwr.gwr import GWR
Документы найдены здесь
Любая помощь будет принята с благодарностью!
С уважением
1 ответ
Сингулярная матрица - это матрица, которую нельзя инвертировать. Обычно вы можете решить эту проблему, добавив несколько небольшихdelta
ко всем элементам матрицы, которую вы пытаетесь инвертировать.