Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2019
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.78 KB | None | 0 0
  1. from cens_fit_data import *
  2. import cvxpy as cvx
  3.  
  4. y_cens = cvx.Variable(K - M)
  5. c = cvx.Variable(n)
  6. X = X.squeeze()
  7. select_cens_mat = np.block([[np.zeros((M, K-M))],
  8. [np.eye(K-M)]])
  9. select_ucens_mat = np.block([[np.eye((M))],
  10. [np.zeros((K-M, M))]])
  11. objective = cvx.Minimize(cvx.norm(np.dot(select_ucens_mat, y).flatten() + select_cens_mat*y_cens - X.T*c))
  12.  
  13. prob = cvx.Problem(objective, [y_cens >= D])
  14. prob.solve()
  15.  
  16. print "Relative error: ", np.linalg.norm(c.value - c_true.flatten())/np.linalg.norm(c_true)
  17.  
  18. c2 = cvx.Variable(n)
  19. objective2 = cvx.Minimize(cvx.norm(y.flatten() - X.T[:M] * c2))
  20. prob2 = cvx.Problem(objective2)
  21. prob2.solve()
  22. print "Relative error: ", np.linalg.norm(c2.value - c_true.flatten())/np.linalg.norm(c_true)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement