commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Carman" <ja...@carmanconsulting.com>
Subject Re: normal deviates don't pass t test
Date Fri, 21 Sep 2007 15:40:27 GMT
Try using SecureRandom.

On 9/17/07, William J Rust <wjr@weru.ksu.edu> wrote:
> I'm working on a climate simulation program that takes monthly averages
> and generates daily readings that are assumed to be normally
> distributed. The following program creates 10 sets of 100,000 random
> deviates with mean 10 and SD 5. It then applies a t test (results below)
> to ensure that the generated numbers are good enough. As the results
> show, they aren't. I'm wondering a) I am doing something wrong or b) is
> there something wrong with the stats routines?
>
> Thanks,
>
> wjr
>
> package usda.weru.cligen2;
>
> import org.apache.commons.math.MathException;
>
> /**
>  *
>  * @author wjr
>  */
> public class TestNormal {
>
>     static org.apache.commons.math.distribution.NormalDistributionImpl nd =
>             new
> org.apache.commons.math.distribution.NormalDistributionImpl(10, 5);
>
>     public static void main(String[] args) {
>         double[] arry = new double[100000];
>         java.util.Random ran = new java.util.Random(1l);
>
>         for (int jdx = 0; jdx < 10; jdx++) {
>             for (int idx = 0; idx < arry.length; idx++) {
>                 try {
>                     arry[idx] =
> nd.inverseCumulativeProbability(ran.nextDouble());
>                 } catch (MathException ex) {
>                     ex.printStackTrace();
>                 }
>             }
>             try {
>                 System.out.println("ttest " +
> org.apache.commons.math.stat.inference.TestUtils.tTest(10,arry));
>             } catch (IllegalArgumentException ex) {
>                 ex.printStackTrace();
>             } catch (MathException ex) {
>                 ex.printStackTrace();
>             }
>         }
>     }
> }
>
> Output:
>
> >
> > run-single:
> > ttest 0.3433300114960922
> > ttest 0.1431930575825282
> > ttest 0.12336027805916228
> > ttest 0.49478850669361796
> > ttest 0.9216887341410063
> > ttest 0.9937228334312525
> > ttest 0.13669784550400177
> > ttest 0.9646134537758599
> > ttest 0.9965741269090211
> > ttest 0.03815948891784959
> > BUILD SUCCESSFUL (total time: 20 seconds)
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
> For additional commands, e-mail: user-help@commons.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org


Mime
View raw message