Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from cens_fit_data import *
- import cvxpy as cvx
- y_cens = cvx.Variable(K - M)
- c = cvx.Variable(n)
- X = X.squeeze()
- select_cens_mat = np.block([[np.zeros((M, K-M))],
- [np.eye(K-M)]])
- select_ucens_mat = np.block([[np.eye((M))],
- [np.zeros((K-M, M))]])
- objective = cvx.Minimize(cvx.norm(np.dot(select_ucens_mat, y).flatten() + select_cens_mat*y_cens - X.T*c))
- prob = cvx.Problem(objective, [y_cens >= D])
- prob.solve()
- print "Relative error: ", np.linalg.norm(c.value - c_true.flatten())/np.linalg.norm(c_true)
- c2 = cvx.Variable(n)
- objective2 = cvx.Minimize(cvx.norm(y.flatten() - X.T[:M] * c2))
- prob2 = cvx.Problem(objective2)
- prob2.solve()
- 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