On Fri, Dec 28, 2012 at 04:48:59PM +0100, Luc Maisonobe wrote:
> Le 28/12/2012 16:08, Dimitri Pourbaix a écrit :
> > Luc,
> > 
> >> However, it is also possible to set a non-diagonal weight matrix, and
> >> one class (AbstractLeastSquaresOptimizer) performs an eigen dcomposition
> >> on the matrix to extract its square root. I don't know any use case for
> >> this, but it has been set up this way, so I guess someone has a use for
> >> non-diagonal weights.
> > 
> > Such a situation occurs when observations are correlated.  That is
> > actually the most general expression for a least square problem.
> > 
> >> I wonder if I should simply add this as is or if we should rather remove
> >> the non-diagonal weights feature and support only vector weights.
> > 
> > Even if a vector of weights is convenient, it would only cover a subset
> > of situations.  However, even a vector of weights is not needed if both
> > the models and the observations are pre-multiplied by the square root
> > of their weight.  By the way, I remind you that those weights already
> > caused some bugs in the 2.0 release.
> > 
> > Personnally, I could live with a vector form.
> 
> So in order to make sure I understand your point, you would be OK if I
> deprecate the non-diagonal weights, in which case users needing this
> would have to implement it themselves by premultiplication (as both you
> and Konstantin seem to propose)?
> 
> > 
> > As a more general comment, I find it amazing that all the +1 for the
> > release were only concerned by the compliance with (commons) rules,
> > configuration files, ... Just 4 days after the release, you suddenly
> > figure out that a user is in trouble and you want a quick fix.  Maybe
> > such a test would have been need BEFORE the release!
> 
> Sure, but for the record the feature was also a last minute change. This
> was discussed on the list, and the final decision was to add this
> feature despite the release was close. No wonder we failed to test it
> thoroughsly.

I'm responsible for the new feature that turned to be a problematic change
but

  2 months ago != last minute

[And we were also aware that CM lacks performance testing. And that the
developers' respective use-cases were on datasets with a small number of
observations.]

That same problem is also present in the deprecated "optimization" package.

> We don't expect our releases to be perfect. We do our best, with the
> resources we have.
> 
> > 
> > Regards,
> >  Dim.
> 
> 
> Le 28/12/2012 16:13, Konstantin Berlin a écrit :
> > Hi,
> >
> > I am not clear on the use of weights in a non-least squares problem
> > is. In a least-squares problem the weights can simply be taken in by
> > the user in their input function. So the weights option is a
> > convenience feature, any non-standard matrix weights could be
> > programmed in by the user, if they need to. I have a hard time
> > imagining a case when the weights are non-diagnal. I think your idea
> > is good and you should go on with it. The quadratic memory scaling
> > with the number of data points is not acceptable.
> 
> Thanks Konstantin. So if Dimitri confirm I understood his point
> correctly, I will proceed with deprecating the Weight class and
> introduce a WeightVector class, understanding it is a convenience
> feature suited for simple non-correlated observations.

-1
[Cf. previous post.]


Gilles

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to