Kim van der Linde wrote:
Phil,

Honestly, I think that if you make the argument that you want to use Mathematical correct notations, you should start any array at 1.

No, an array is not a mathematical object.

If
everything (commons-math and JAVA itself) would be like that, fine, but reality is that java is 0 based.

Here again, the point is that the math object should expose properties consistent with its definition -- like any other Java object. What is actually wrong here is to expose the double[][] and double[] properties. This was done for efficiency and is what is causing the confusion.

As long as you use only one system (Matrices and Vectors or 1d and 2d arrays) there is no issue, it is when things come together.

Yes, this is the point above. My experience working with matrices in Java and other languages, however, is that there are times when you need to efficiently get at the data. Tnat is why the double[][]-valued methods were provided. These should be rarely used.

On a more general point, I changing my vote for release to -1 because the following reasons:


- Matrix indexing
- Default sample (co-)variances (should be changeable)

We can easily add a PopulationVariance statistic, which is the right way to handle this, as it is a different statistic. The UnivariateStatistic interface and framework was designed to support this kind of thing. I do not see the need to hold the release for this.


- BivariateRegression (Should be in univariate or in a new package bivariate, and called LSRegression. I only today realized that is was the Least square regression because of its confusing name and location.

Did you look at the javadoc? The term "bivariate regression" is more or less standard in (elementary) statistics and is used to distinguish the 2-variable case from the case where there are multiple independent variables, which is usually called "multiple regression." Since bivariate regression involves 2 variables, it belongs in the multivariate package. The univariate package is for statistics involving just one variable. This is also consistent with standard statistical terminology.


Furthermore, there are at least four types of bivariate linear regression so Bivariate is indicating a group rather than a specific module.)

There are indeed lots of different kinds of bivariate regression models that can be fit. BivariateRegression estimates the most common among these, ordinary least squares regression. I suppose we could call it "LeastSquaresBivariateRegression", but that is a bit long and since OLS is the most common model, I think it is fine to keep the name as it is. I would expect us to do the same thing, btw, when we add support for Multiple Regression (use the "MultipleRegression" name for the OLS version) All of this is specified in the javadoc and the user guide.


- Generally, I find the whole package rather user unfriendly, and feels for me as designed for hard-core mathematicians /programmers.

Did you look at the class javadoc and the user guide? While we do expect users to be Java programmers, we certainly do not expect them to be "hard-core mathematicians." This is one reason that we need to stick to standard and elementary definitions and notation. If we have not succeeded in keeping things simple, we are certainly open to improving documentation and / or providing wrappers or simplified interfaces. If you have specific examples / suggestions for improvement, please share these. We want to make the package as easy to use a possible, while still maintaining extensibility.

BTW, I am sorry if I sound blunt, but Eclips deleted 10000 files yesterday after inslaling it, including the work of the last days, so I am not happy at all.

Thanks for the feedback.

Phil

Kim





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to