我有一个经典线性回归问题,形式如下:
y = X b
其中,y是一个响应向量,X是一个输入变量的矩阵,b是我要寻找的拟合参数向量。
Python提供了numpy.linalg.lstsq( X , y )来解决这种形式的问题。
然而,当我使用它时,往往会得到极大或极小的 b 组件值。
我想执行相同的拟合,但将b的值限制在0到255之间。
看起来scipy.optimize.fmin_slsqp()是一个选择,但对于我感兴趣的问题规模(X大约为3375×1500,甚至更大),我发现它非常慢。
y = X b
其中,y是一个响应向量,X是一个输入变量的矩阵,b是我要寻找的拟合参数向量。
Python提供了numpy.linalg.lstsq( X , y )来解决这种形式的问题。
然而,当我使用它时,往往会得到极大或极小的 b 组件值。
我想执行相同的拟合,但将b的值限制在0到255之间。
看起来scipy.optimize.fmin_slsqp()是一个选择,但对于我感兴趣的问题规模(X大约为3375×1500,甚至更大),我发现它非常慢。
- 有没有其他Python选项可以执行受限最小二乘拟合?
- 或者有没有用于执行Lasso回归、岭回归或其他对大的
b
系数值进行惩罚的回归方法的Python程序?