Open dppalomar opened 6 years ago
as mentioned by @dppalomar, we should carefully handle the outputs types such that they remain consistent with input data types, a practice called ducktyping.
As mentioned in class by @dppalomar, any tracking error that can be majorized by the ETE could be added to the function. One trivial extension would be to add support for an L1-type tracking error (trivially majorized by the L2-norm error), which could possibly handle outliers better.
List of things to implement: (@dppalomar, @mirca)
Compare our method with the nonlinear solver optim() in the vignette.
Try using the QP solver solve.QP() after the first majorization and compare with the currently implemented method that performs a second majorization to get the "closed-form" solution.
Implement a function that returns the path of solutions over a grid of lambdas (e.g., see glasso package with the function glassopath).
Implement additional constraints/penalizations that can be found in the monograph:
For example, the turnover constraint. See page 35 and Section 4.6 on pages 63-65.