アットウィキロゴ

回帰

package memo;
 
 
public class pro {
 
 
    int sx,number;
int[] year=new int[500];
String[] v=new String[500];
int[] season=new int[500];
double[] delta=new double[500];
    double[] good=new double[500];
 
double[] im=new double[500];
double[] i=new double[500];
double[] g=new double[500];
double[] c=new double[500];
double[] y=new double[500];
double[] ex=new double[500];
    double[] d=new double[500];
String[] name=new String[500];
 
public static void main(String[] args) {
        pro t=new pro();
    }
    pro(){
 
        String db,tab;
 
        db="flow";
        tab="t11q";
        int b1,s,c1;
 
 
 
       b1=48;
 
        select sub=new select();
        sub.makedata(db,tab,b1);
        number=sub.number;
        v=sub.v;
        year=sub.year;
    season=sub.season;
 
 
 
    for(s=1;s<number+1;s++){   
    y[s]=num(v[s]);     
    }
 
      b1=8;
 
        sub.makedata(db,tab,b1);
        number=sub.number;
        v=sub.v;
        year=sub.year;
    season=sub.season;
 
 
 
    for(s=1;s<number+1;s++){   
    c[s]=num(v[s]);     
    }
 
 
    b1=18;
 
        sub.makedata(db,tab,b1);
        number=sub.number;
        v=sub.v;
        year=sub.year;
    season=sub.season;
 
 
 
    for(s=1;s<number+1;s++){   
    g[s]=num(v[s]);     
    }
 
 
    b1=23;
 
        sub.makedata(db,tab,b1);
        number=sub.number;
        v=sub.v;
        year=sub.year;
    season=sub.season;
 
 
 
    for(s=1;s<number+1;s++){   
    i[s]=num(v[s]);     
    }
 
     b1=31;
 
        sub.makedata(db,tab,b1);
        number=sub.number;
        v=sub.v;
        year=sub.year;
    season=sub.season;
 
 
 
    for(s=1;s<number+1;s++){   
    good[s]=num(v[s]);     
    }
 
 
    b1=41;
 
        sub.makedata(db,tab,b1);
        number=sub.number;
        v=sub.v;
        year=sub.year;
    season=sub.season;
 
 
 
    for(s=1;s<number+1;s++){   
    ex[s]=num(v[s]);     
    }
 
 
    b1=44;
 
        sub.makedata(db,tab,b1);
        number=sub.number;
        v=sub.v;
        year=sub.year;
    season=sub.season;
 
 
 
    for(s=1;s<number+1;s++){   
    im[s]=num(v[s]);     
    }
 
 
 
     for(s=1;s<number+1;s++){   
     d[s]=(y[s]-c[s]-i[s]-good[s]-g[s]-ex[s]+im[s]);
     }
 
 
      double[] yy=new double[1000];
    double[][] x=new double[1000][10];
   double[] sol=new double[1000];
 
 
 
   for(s=1;s<number+1;s++){
   x[s][2]=y[s];
   x[s][1]=1;
   yy[s]=c[s];
   }
 
 
   ols sub5=new ols();
   sub5.x=x;
   sub5.y=yy;
   sub5.number=2;
   sub5.datanumber=number;
   sub5.makedata();
   sol=sub5.sol;
 
   for(s=1;s<number+1;s++){
   System.out.println(year[s]+"年"+season[s]+"期,"+(sol[1]+sol[2]*y[s])+","+c[s]);
    }
 
 
 
 
    }
 
 
 
 
 
 
 
 
     int numx(String str){
 
    int nx;
 
    nx=0;
 
 try{
 
    nx=Integer.parseInt(str);
 
 }catch (Exception e) {}
 
 return nx;
 
 
 
}
 
 
 
 
 
double num(String str){
 
    double nx;
 
    nx=0;
 
 try{
 
    nx=Double.parseDouble(str);
 
 }catch (Exception e) {}
 
 return nx;
 
 
 
}
 
 
 
}
 
 
 
package memo;
 
public class ols {
 
    int s,s1,s2;
    int datanumber,number;
    double x1;
    double[][] a=new double[100][100];
     double[] b=new double[100];
     double[] y=new double[1000];
    double[][] x=new double[1000][10];
     double[] sol=new double[100];
 
    void makedata(){
 
 
 
     for(s1=1;s1<number+1;s1++){
    for(s2=1;s2<number+1;s2++){   
     x1=0;   
    for(s=1;s<datanumber+1;s++){
    x1=x1+x[s][s1]*x[s][s2];
    }
    a[s1][s2]=x1;
    }
    }
 
 
 
    for(s1=1;s1<number+1;s1++){
    x1=0;   
    for(s=1;s<datanumber+1;s++){
    x1=x1+x[s][s1]*y[s];
    }
    b[s1]=x1;
    }
 
    double z;
 
   for(s1=1;s1<number+1;s1++){
   for(s2=1;s2<number+1;s2++){   
   z=a[s2][s1]/a[s1][s1];  
   if(s1==s2)z=0;
   for(s=1;s<number+1;s++){
   a[s2][s]=a[s2][s]-z*a[s1][s];
   } 
   b[s2]=b[s2]-z*b[s1];
   }
   }
 
   for(s1=1;s1<number+1;s1++){
   sol[s1]=b[s1]/a[s1][s1];
   }
 
 
 
 
    }
}
 
最終更新:2015年03月08日 18:19