On 7/19/11 4:13 PM, Greg Sterijevski wrote: > I think Luc was suggesting implementing the algorithm in extended precision.
I don't really see need for that at this point. To settle the issue on results precision, you should start though with high-precision (or at least precision at the level presented for the X and Y data by NIST) for the higher X powers. Doing just that computation in extended precision is one way to do that. Of course, that could be done externally and the data loaded by the test as a file. Phil > > -Greg > > On Tue, Jul 19, 2011 at 4:55 PM, Phil Steitz <phil.ste...@gmail.com> wrote: > >> On 7/18/11 6:31 PM, Greg Sterijevski wrote: >>> All, >>> >>> I have pushed the implementation of the Miller Regression technique, >> along >>> with some tests. I am sure that there are a lot of sharp corners to file >>> down and improve. However, I thought it would be prudent to get it out >> and >>> then we can further refine the code. >> Thanks! I just committed the code, with just minor cleanup. I am >> reviewing the article as we speak to verify implementation. Others >> are encouraged to join in here. We need to complete the javadoc >> and decide on exceptions as we stabilize the API here. >>> On accuracy: >>> >>> I seem to match all of the digits of longley and wampler data. Filippelli >> I >>> have a very hard time matching except to a tolerance of 1.0e-5. If you >> look >>> at LIMDEP's website: >>> >>> >> http://www.limdep.com/features/capabilities/accuracy/linear_regression_3.php >>> I think that the code I am checking in does a bit better. I am happy >> about >>> that. However, there are some other issues with Filippelli. Namely, one >> can >>> affect the 'accuracy' of your results depending on how you present the >> data. >>> For example, if I generate the high order polynomial naively, x1 = x0 * >> x0, >>> x2 = x0 * x1, ..., x10 = x0 * x9, then I can hit the numbers within >> 1.0e-5. >>> If, however, I generate the Filipelli regressors by multiplying numbers >>> whose magnitudes are similar: >>> x1 = x0 * x0; >>> x2 = x0 * x1; >>> x3 = x0 * x2; >>> x4 = x2 * x2; >>> x5 = x2 *x3; >>> x6 = x3 * x3; >>> Then I have a very hard time making that 1.0e-5 tolerance. >>> >>> Does anyone know if there is some article which explains the proper way >> to >>> set up Filippelli's test? >> Have not seen anything on this. >>> >>> Speaking to Luc's point, maybe the correct thing to do is to move to >>> arbitrary precision. I wanted to avoid this until I was at a deadend. >>> Perhaps the time is now.... >> To generate the x values, yes that would probably be best. >> >> >> Phil >> >>> On tests: >>> >>> I intend to push 3-4 tests soon. There are 17 tests in the first suite I >>> sent in. >>> >>> -Greg >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >> For additional commands, e-mail: dev-h...@commons.apache.org >> >> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org