A StandardizedMatrix type

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

A StandardizedMatrix type

Josh Day
I've seen some discussion about adding a Transpose type for matrices to remove the A_mul_B!, At_mul_B!, etc. syntax.  

On a similar train of thought, I started working on a StandardizedMatrix type for my work, which treats a matrix as standardized (z = StatsBase.zscore(x, 1)) without changing the underlying data.  If there's any interest in discussing the merits of this, I've started https://github.com/joshday/StandardizedMatrices.jl.  My proof-of-concept example of matrix-vector multiplication seems to work quite well.  See test/performance.jl.

--
You received this message because you are subscribed to the Google Groups "julia-stats" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: A StandardizedMatrix type

Josh Day
I failed to mention the biggest win here is being able to "standardize" a sparse matrix without destroying the sparsity.  Thus, you can treat a sparse matrix as standardized, but still retain the benefits of the sparsity (fast multiplication, etc.).

On Thursday, May 12, 2016 at 8:08:42 AM UTC-7, Josh Day wrote:
I've seen some discussion about adding a Transpose type for matrices to remove the A_mul_B!, At_mul_B!, etc. syntax.  

On a similar train of thought, I started working on a StandardizedMatrix type for my work, which treats a matrix as standardized (z = StatsBase.zscore(x, 1)) without changing the underlying data.  If there's any interest in discussing the merits of this, I've started <a href="https://github.com/joshday/StandardizedMatrices.jl" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fjoshday%2FStandardizedMatrices.jl\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHDdqXqC9Qt7xYQ29yezFHkyuROqQ&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fjoshday%2FStandardizedMatrices.jl\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHDdqXqC9Qt7xYQ29yezFHkyuROqQ&#39;;return true;">https://github.com/joshday/StandardizedMatrices.jl.  My proof-of-concept example of matrix-vector multiplication seems to work quite well.  See test/performance.jl.

--
You received this message because you are subscribed to the Google Groups "julia-stats" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: A StandardizedMatrix type

Andreas Noack
I was about to say exactly that. For exactly that reason, I've considered implementing the exact same thing. I'll try your version out when I have some time. I think it would be useful but I'm not sure where exactly it fits best. Would any library routines  (e.g. in StatsBase, GLM) benefit from this?

On Thu, May 12, 2016 at 11:38 AM, Josh Day <[hidden email]> wrote:
I failed to mention the biggest win here is being able to "standardize" a sparse matrix without destroying the sparsity.  Thus, you can treat a sparse matrix as standardized, but still retain the benefits of the sparsity (fast multiplication, etc.).


On Thursday, May 12, 2016 at 8:08:42 AM UTC-7, Josh Day wrote:
I've seen some discussion about adding a Transpose type for matrices to remove the A_mul_B!, At_mul_B!, etc. syntax.  

On a similar train of thought, I started working on a StandardizedMatrix type for my work, which treats a matrix as standardized (z = StatsBase.zscore(x, 1)) without changing the underlying data.  If there's any interest in discussing the merits of this, I've started https://github.com/joshday/StandardizedMatrices.jl.  My proof-of-concept example of matrix-vector multiplication seems to work quite well.  See test/performance.jl.

--
You received this message because you are subscribed to the Google Groups "julia-stats" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "julia-stats" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: A StandardizedMatrix type

Tom Breloff
This sounds great Josh. Thanks.

Do you happen to remember where you've seen the Transpose type discussions?  I constantly want this functionality, and I can never remember who (if anyone) is working on it.

On Thu, May 12, 2016 at 11:40 AM, Andreas Noack <[hidden email]> wrote:
I was about to say exactly that. For exactly that reason, I've considered implementing the exact same thing. I'll try your version out when I have some time. I think it would be useful but I'm not sure where exactly it fits best. Would any library routines  (e.g. in StatsBase, GLM) benefit from this?

On Thu, May 12, 2016 at 11:38 AM, Josh Day <[hidden email]> wrote:
I failed to mention the biggest win here is being able to "standardize" a sparse matrix without destroying the sparsity.  Thus, you can treat a sparse matrix as standardized, but still retain the benefits of the sparsity (fast multiplication, etc.).


On Thursday, May 12, 2016 at 8:08:42 AM UTC-7, Josh Day wrote:
I've seen some discussion about adding a Transpose type for matrices to remove the A_mul_B!, At_mul_B!, etc. syntax.  

On a similar train of thought, I started working on a StandardizedMatrix type for my work, which treats a matrix as standardized (z = StatsBase.zscore(x, 1)) without changing the underlying data.  If there's any interest in discussing the merits of this, I've started https://github.com/joshday/StandardizedMatrices.jl.  My proof-of-concept example of matrix-vector multiplication seems to work quite well.  See test/performance.jl.

--
You received this message because you are subscribed to the Google Groups "julia-stats" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "julia-stats" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "julia-stats" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: A StandardizedMatrix type

Josh Day
I first ran across it here https://github.com/JuliaLang/julia/issues/5332, where it appears Andreas is working on it.

--
You received this message because you are subscribed to the Google Groups "julia-stats" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.