如何解决cvxpy多线性回归与截距
我有 3 个自变量想要适应一个表单:
y= a + b*x1 + c*x2 + d*x3
我可以任意对 a、b、c 和 d 施加约束。
我有点明白如何在 cvxpy 中做到这一点,但我的线性代数教育是 10 年前的,我似乎无法在 SO 或网络上的其他地方找到一个例子,其中包括多线性回归中的截距......
上一个 SO 答案中的代码几乎是我想要的,除了似乎不支持拦截...: https://stackoverflow.com/a/39853507/13128034
from cvxpy import *
a = np.array([1.2,2.3,4.2])
b = np.array([1,5,6])
c = np.array([5.4,6.2,1.9])
m = np.vstack([a,b,c])
y = np.array([5.3,0.9,5.6])
X = Variable(m.shape[0])
constraints = [X >= 0,sum_entries(X) == 1.0]
product = m.T * diag(X)
diff = sum_entries(product,axis=1) - y
problem = Problem(Minimize(norm(diff)),constraints)
problem.solve(verbose=True)
print(problem.value)
print(X.value)
我假设我只需要修改此示例中的 m 和 X 数组以包含拦截?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。