[R] Optimization algorithm to be applied to S4 classes - specifically sparse matrices

spencerg spencer.graves at prodsyse.com
Fri May 15 04:52:06 CEST 2009


      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.Adler at 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 at 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.
>
>




More information about the R-help mailing list