jaredhuling / oem

Penalized least squares estimation using the Orthogonalizing EM (OEM) algorithm
http://jaredhuling.org/oem
27 stars 6 forks source link

Mnet or Snet penalties #3

Closed khotilov closed 7 years ago

khotilov commented 7 years ago

Were there any plans to add Mnet or Snet penalties? I might give it a try, if you don't mind.

jaredhuling commented 7 years ago

Could you send some references on those penalties?

khotilov commented 7 years ago

Here are a couple of references Mnet = MCP + Ridge: http://myweb.uiowa.edu/pbreheny/publications/mnet.pdf Snet = SCAD + Ridge: http://www.stat.purdue.edu/~junxie/papers2/scad_l2_reprint.pdf Some available implementations: https://cran.r-project.org/package=ncvreg and https://cran.r-project.org/package=mpath

jaredhuling commented 7 years ago

Thanks!

jaredhuling commented 7 years ago

I have plans for a few more penalties, so let me know if you have any other requests

khotilov commented 7 years ago

Awesome! Thank you!

Just a couple of comments:

jaredhuling commented 7 years ago

@khotilov regarding cv functions: xval.oem was already fixed, but with the latest update i've fixed cv.oem.

regarding the first point: allowing the separate penalties "mcp" vs "mcp.net" allows a bit more flexibility for now until I allow the user to specify multiple values of alpha at a time. Allowing multiple values of alpha at a time will require some significant code changes and re-organization so I don't expect it to happen very soon. However, once I do that it should allow me to simplify the penalty options significantly without any loss of flexibility