package iip;
import org.apache.commons.math3.random.GaussianRandomGenerator;
import org.apache.commons.math3.random.JDKRandomGenerator;
import org.apache.commons.math3.random.RandomGenerator;
import tool.*;
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics;
public class pro {
int s,datanumber;
String[] data=new String[5000];
double[] point=new double[5000];
double[] delta=new double[500];
int[] count=new int[51];
int[] c=new int[51];
double[] samp=new double[50000];
public static void main(String[] args) {
pro te=new pro();
}
pro(){
readfile sub2=new readfile();
sub2.makedata("data.csv","UTF-8");
data=sub2.data;
datanumber=sub2.datanumber;
for(s=2;s<datanumber+1;s++){
String[] x=data[s].split(",");
point[s-1]=Double.parseDouble(x[2]);
}
datanumber=datanumber-1;
delta[1]=0;
for(s=2;s<datanumber+1;s++){
delta[s]=point[s]-point[s-1];
}
DescriptiveStatistics ds=new DescriptiveStatistics();
for(s=1;s<datanumber+1;s++){
ds.addValue(delta[s]);
}
double avg=ds.getMean();
double sig = ds.getStandardDeviation();
RandomGenerator rg = new JDKRandomGenerator();
rg.setSeed(17399225432l);
GaussianRandomGenerator r = new GaussianRandomGenerator(rg);
DescriptiveStatistics d2=new DescriptiveStatistics();
for(s=1;s<10001;s++){
double x=avg+sig*r.nextNormalizedDouble();
samp[s]=x;
d2.addValue(x);
}
int n;
for(n=-25;n<26;n++){
for(s=1;s<10001;s++){
if(samp[s]>n)count[n+25]=count[n+25]+1;
}
}
for(n=-25;n<25;n++){
c[n+25]=count[n+25]-count[n+26];
}
c[50]=count[50];
for(n=-25;n<25;n++){
System.out.println(n+","+c[n+25]);
}
double avg2=d2.getMean();
double sig2 = d2.getStandardDeviation();
System.out.println(avg+","+sig+","+avg2+","+sig2);
}
}
最終更新:2016年03月31日 03:28