You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

cvxpy调用mosek做线性回归报下界为nan错误该如何解决

报错排查点
  • 优先检查输入数据是否存在非数值:分别执行print(np.isnan(A).any(), np.isnan(R).any(), np.isinf(A).any(), np.isinf(R).any()),如果任意返回True,说明输入的回归因子矩阵A或者标签R里存在NaN/无穷值,这是触发该报错的最常见原因,需要先对数据集做缺失值填充或异常样本删除处理。
  • 检查变量约束的写法是否适配版本:可以将非负约束的定义方式替换为变量初始化时直接指定非负,即把x = cp.Variable(len(regressors))修改为x = cp.Variable(len(regressors), nonneg=True),同时删除后续的x >= 0约束,部分旧版本cvxpy传递独立约束给mosek时会出现参数解析异常。
  • 验证数据类型合法性:打印A.dtype和R.dtype,确认两者都是数值类型(float/int),如果存在object类型,说明你选中的regressors列里混有非数值内容,需要先做数据清洗。
  • 确认回归因子列不存在全0/方差为0的异常列:如果某列回归因子全部为0,会导致求解过程中出现数值计算异常,进而识别为NaN下界。
  • 升级依赖包版本:将cvxpy和mosek都升级到最新稳定版,避免已知的版本兼容Bug。

内容的提问来源于stack exchange,提问作者Taylor Fang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 06:12:01