尽管我在使用np.linalg.lstsq进行线性回归时检查了缺失或无限值,但仍出现上述错误...有任何想法吗?我递归地执行这些回归,并打印X和Y的形状始终相同,但在特定迭代中引发错误。
---> 17 betas = np.linalg.lstsq(X,Y,rcond=None)[0]
18
19 res = Y - X.dot(betas)
<__array_function__ internals> in lstsq(*args, **kwargs)
~\anaconda3\lib\site-packages\numpy\linalg\linalg.py in lstsq(a, b, rcond)
2257 # lapack can't handle n_rhs = 0 - so allocate the array one larger in that axis
2258 b = zeros(b.shape[:-2] + (m, n_rhs + 1), dtype=b.dtype)
-> 2259 x, resids, rank, s = gufunc(a, b, rcond, signature=signature, extobj=extobj)
2260 if m == 0:
2261 x[...] = 0
~\anaconda3\lib\site-packages\numpy\linalg\linalg.py in _raise_linalgerror_lstsq(err, flag)
107
108 def _raise_linalgerror_lstsq(err, flag):
--> 109 raise LinAlgError("SVD did not converge in Linear Least Squares")
110
111 def get_linalg_error_extobj(callback):
LinAlgError: SVD did not converge in Linear Least Squares