gpt4 book ai didi

python - numpy.linalg.LinAlgError : SVD did not converge in Linear Least Squares on first run only

转载 作者:行者123 更新时间:2023-12-03 23:04:07 52 4
gpt4 key购买 nike

我一直在努力解决一个已知并记录在案的 SVD 收敛问题。在阅读了其他人提出的类似问题后,我仔细检查了我的数据并将其缩减为一个很小的 ​​DataFrame——只有 10 行/2 列——都是 float64。绝对没有 NaN 或无穷大。
在第一次运行时,我通过断点在违规行暂停。我第一次手动执行下一个(违规)行时,我收到一个控制台错误(见下文)——但在后续运行中,它没有错误地解决了!!我正在使用 numpy 1.19.1
我将不胜感激有关如何解决此问题的想法或想法。这让我发疯,动摇了我的信心。
在此先感谢您的任何建议。我真的很想深入了解这件事。
卢瑟
编码:

# Simplifying the df
df = df.head(10)
df = df[['dti','close']]
print(df)
ltt2_poly = np.polyfit(df['dti'] - df['dti'][0], df['close'], 2)
在运行时:
pydev debugger: process 36368 is connecting
Connected to pydev debugger (build 202.6948.78)
Importing local settings
dti close
0 0 11.28
1 3 11.35
2 4 11.10
3 5 10.95
4 6 11.07
5 7 11.45
6 10 11.46
7 11 11.46
8 12 11.74
9 13 11.96

**ltt2_poly = np.polyfit(df['dti'] - df['dti'][0], df['close'], 2)**

Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm 2020.1.1\plugins\python\helpers\pydev\_pydevd_bundle\pydevd_exec2.py", line 3, in Exec
exec(exp, global_vars, local_vars)
File "<input>", line 1, in <module>
File "<__array_function__ internals>", line 5, in polyfit
File "C:\Users\luthor\PycharmProjects\MC\venv\lib\site-packages\numpy\lib\polynomial.py", line 629, in polyfit
c, resids, rank, s = lstsq(lhs, rhs, rcond)
File "<__array_function__ internals>", line 5, in lstsq
File "C:\Users\luthor\PycharmProjects\MC\venv\lib\site-packages\numpy\linalg\linalg.py", line 2306, in lstsq
x, resids, rank, s = gufunc(a, b, rcond, signature=signature, extobj=extobj)
File "C:\Users\luthor\PycharmProjects\MC\venv\lib\site-packages\numpy\linalg\linalg.py", line 100, in _raise_linalgerror_lstsq
raise LinAlgError("SVD did not converge in Linear Least Squares")
numpy.linalg.LinAlgError: SVD did not converge in Linear Least Squares

*In the SAME debug session:*

**ltt2_poly = np.polyfit(df['dti'] - df['dti'][0], df['close'], 2)** now works!!!

print(ltt2_poly)
[ 1.00902938e-02 -8.70161869e-02 1.13247743e+01]
打印(np。 版本)
1.19.1
雪上加霜的是,当我将 df 减少到 5-9 之间时 - 它可以正常工作而不会出现故障。我错过了什么??

最佳答案

我没有解决方案,但我可以告诉你,你并不孤单。我有同样的错误。
我通过简单地将 NumPy 函数包装在 while-try 语句中来“修复”它。
为真:
尝试:
NumPy 函数
休息
除了:
继续

关于python - numpy.linalg.LinAlgError : SVD did not converge in Linear Least Squares on first run only,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63761366/

52 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com