Have you considered the following:
solve(qr(A), B)
I have not tried this with a small toy example, and the "qr"
documentation in the Matrix package seems to suggest it. This solves
the optimization problem you mentioned, as noted in
"http://en.wikipedia.org/wiki/Linear_least_squares".
Another alternative is the "biglm" function in the package of the
same name. I have not tried this either, but it looks like it should
work.
Hope this helps.
Spencer Graves
avraham.ad...@guycarp.com wrote:
Hello.
I am trying to optimize a set of parameters using /optim/ in which the
actual function to be minimized contains matrix multiplication and is of
the form:
SUM ((A%*%X - B)^2)
where A is a matrix and X and B are vectors, with X as parameter vector.
This has worked well so far. Recently, I was given a data set A of size
360440 x 1173, which could not be handled as a normal matrix. I brought it
into 'R' as a sparse matrix (dgCMatrix - using sparseMatrix from the Matrix
package), and the formulæ and gradient work, but /optim/ returns an error
of the form "no method for coercing this S4 class to a vector".
After briefly looking into methods and classes, I realize I am in way over
my head. Is there any way I could use /optim/ or another optimization
algorithm, on sparse matrices?
Thank you very much,
--Avraham Adler
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.