斜坡最小二乘估计

计算科学 优化 约束优化 非凸的 简历
2021-12-25 17:39:30

给定值,让 问题是: 我用有纪律的凸-基于 CVXPY 的凹面编程和DCCP 封装代码如下:s

h(β)=min(i=1n(YiXiβ)2,s)=i=1n(YiXiβ)2max(0,i=1n(YiXiβ)2s)=f(β)g(β,s)
minh(β)

import cvxpy as cp
import numpy as np
import dccp
from dccp.problem import is_dccp

# Generate data.
m = 20
n = 15
np.random.seed(1)
X = np.random.randn(m, n)
Y = np.random.randn(m)

# Define and solve the DCCP problem.
def loss_fn(X, Y, beta):
    return cp.norm2(cp.matmul(X, beta) - Y)**2

def obj_g(X, Y, beta, sval):
    return cp.pos(loss_fn(X, Y, beta) - sval)

beta = cp.Variable(n)
s = 10000000000000
constr = obj_g(X, Y, beta, s) 
t = cp.Variable(1)
t.value = [1]
cost = loss_fn(X, Y, beta) - t
problem = cp.Problem(cp.Minimize(cost), [constr >= t])
print("problem is DCP:", problem.is_dcp())   # false
print("problem is DCCP:", is_dccp(problem))  # true

problem.solve(verbose=True, solver=cp.ECOS, method='dccp')
# Print result.
print("\nThe optimal value is", problem.value)
print("The optimal beta is")
print(beta.value)
print("The norm of the residual is ", cp.norm(X*beta - Y, p=2).value)

值很大,我希望得到一个类似于最小二乘估计的解决方案。但是没有解决方案,因为输出显示:s

problem is DCP: False
problem is DCCP: True

ECOS 2.0.7 - (C) embotech GmbH, Zurich Switzerland, 2012-15. Web: www.embotech.com/ECOS

It     pcost       dcost      gap   pres   dres    k/t    mu     step   sigma     IR    |   BT
 0  +0.000e+00  -0.000e+00  +2e+01  9e-02  1e-04  1e+00  9e+00    ---    ---    1  1  - |  -  - 
 1  -7.422e-04  +2.695e-09  +2e-01  1e-03  1e-06  1e-02  9e-02  0.9890  1e-04   2  1  1 |  0  0
 2  -1.638e-05  +5.963e-11  +2e-03  1e-05  2e-08  1e-04  1e-03  0.9890  1e-04   2  1  1 |  0  0
 3  -2.711e-07  +9.888e-13  +2e-05  1e-07  2e-10  2e-06  1e-05  0.9890  1e-04   4  1  1 |  0  0
 4  -3.991e-09  +1.379e-14  +2e-07  1e-09  2e-12  2e-08  1e-07  0.9890  1e-04   1  0  0 |  0  0
 5  -5.507e-11  +1.872e-16  +3e-09  2e-11  2e-14  2e-10  1e-09  0.9890  1e-04   1  0  0 |  0  0

OPTIMAL (within feastol=1.6e-11, reltol=4.8e+01, abstol=2.6e-09).
Runtime: 0.001112 seconds.


ECOS 2.0.7 - (C) embotech GmbH, Zurich Switzerland, 2012-15. Web: www.embotech.com/ECOS

It     pcost       dcost      gap   pres   dres    k/t    mu     step   sigma     IR    |   BT
 0  +0.000e+00  -5.811e-01  +1e+01  6e-01  6e-01  1e+00  2e+00    ---    ---    1  1  - |  -  - 
 1  -7.758e+00  -2.575e+00  +1e+00  2e-01  7e-01  6e+00  3e-01  0.9890  1e-01   1  1  1 |  0  0
 2  -3.104e+02  -9.419e+01  +4e-02  2e-01  8e-01  2e+02  8e-03  0.9725  8e-04   2  1  1 |  0  0
 3  -2.409e+03  -9.556e+02  +5e-03  2e-01  8e-01  1e+03  1e-03  0.8968  5e-02   3  2  2 |  0  0
 4  -1.103e+04  -5.209e+03  +2e-03  2e-01  7e-01  6e+03  4e-04  0.9347  3e-01   2  2  2 |  0  0
 5  -1.268e+04  -1.592e+03  +8e-04  1e-01  1e+00  1e+04  2e-04  0.7916  4e-01   3  2  2 |  0  0
 6  -1.236e+05  -2.099e+04  +9e-05  1e-01  1e+00  1e+05  2e-05  0.8979  9e-03   1  1  1 |  0  0
 7  -4.261e+05  -1.850e+05  +4e-05  2e-01  7e-01  2e+05  1e-05  0.7182  3e-01   2  1  1 |  0  0
 8  -2.492e+07  -1.078e+07  +7e-07  1e-01  7e-01  1e+07  2e-07  0.9838  1e-04   3  2  2 |  0  0
 9  -2.226e+08  -9.836e+07  +5e-08  9e-02  5e-01  1e+08  1e-08  0.9339  2e-03   2  3  2 |  0  0

UNBOUNDED (within feastol=1.0e-09).
Runtime: 0.001949 seconds.

The optimal value is None
The optimal beta is
None
The norm of the residual is  None
0个回答
没有发现任何回复~
其它你可能感兴趣的问题