系数非负的线性回归的python实现

  统计/机器学习 回归分析 Python    浏览次数: 373
0

我现在需要做一个线性回归,但是考虑到实际意义,要求所有的回归系数都是非负的。回归是采用最小二乘的方法。

请问这类回归在python中有什么实现的方法吗?

多谢多谢!

 

TheTheThe   2018-05-10 09:40



   2个回答 
3

这个叫非负最小二乘回归。sklearn.linear_model.Lasso里可以设置positive=True来使得系数都为正。如果你不需要正则化的话就把alpha设成0或者很小的数。

from sklearn.linear_model import Lasso
model = Lasso(alpha=0.00001, positive=True)
model.fit(X,y)


木子周   2018-05-12 21:53

2

这是带不等式条件的二次规划(Quadratic Programming)

$argmin_{w}{|Xw-y|^2} s.t. w>0$,

可以用http://cvxopt.org/examples/tutorial/qp.html

https://scaron.info/blog/quadratic-programming-in-python.html

Zealing   2018-05-11 05:08



  相关主题

python里怎么做分位数回归(quantile regression)?   1回答

与基于一般形式的支持向量回归相比,最小二乘支持向量回归更准确?   2回答

怎么处理真值大部分为0的回归问题   3回答

如果迫使一个线性回归模型的截距为0,会有什么坏处吗?   1回答

最小二乘线性回归的推导   1回答

逻辑回归模型中变量的系数怎么理解?   4回答

常用的回归模型中,哪些具有较好的鲁棒性(robustness)?   1回答

线性回归需要满足哪些基本前提假设   1回答

泊松回归的公式是什么?   1回答

怎么理解分位数回归quantile regression的目标函数?   1回答

在线性回归模型中存在epoch的说法吗?   2回答

python中可以做beta regression的包?   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!