JClavel / glassoFast

Fast Graphical LASSO
5 stars 1 forks source link

Penalized Diagonal? #2

Open antshi opened 5 years ago

antshi commented 5 years ago

Dear JClavel,

first of all, thank you for the glassoFast. BigData problems are more manageable. Since I am not fluent in Fortran, I have a question which you might be able to answer.

In the original glasso::glasso() there is a boolean, called penalize.diagonal for choosing whether or not the diagonal should be penalized. There is no such argument in your function though. Do you assume a penalization of the diagonal per default?

Thank you in advance for the clarification.

Best wishes Antoniya

JClavel commented 5 years ago

Hi Antoniya,

By default all the entries are penalized. If you don't want to penalize the diagonal terms, you can simply provide a matrix with the required structure for the regularization parameter:

e.g. (with the example given in ?glassoFast)

With diagonal constraint

rhoMat <- matrix(0.1, p, p) diag(rhoMat) <- 0

glassoFast(s, rho=rhoMat) glasso(s, rho=0.1, penalize.diagonal=FALSE) # glasso implementation

I will try to put an example in the help file. HTH,

Julien

antshi commented 4 years ago

ah, ok, I was wondering if I missed something in the code. Thank you for the clarification.