⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 base.java

📁 时间序列预测法是一种定量分析方法
💻 JAVA
字号:
package com.TimeDemo1;

public class Base {
	protected static float b=0;
	protected static float a=0;
	static float []arrayT=new float [16];
	static float []arrayP=new float[16];
	static float[][]arrayPD=new float[3][4];
	static float[][]arraySI=new float[3][4];
	static float myarray[]=new float[4];
	static float arrayX[][]={{32,18,21,39},{36,21,24,44},{39,25,28,48}};
	//static float sumtx=0;
	public static void  productArray(){
		for(int i=0;i<16;i++){
		
				arrayT[i]=i+1;			
		}
	}
	public static float sumT()
	{
		float sumt=0;
		productArray();
		for(int i=0;i<12;i++)
		{
			sumt+=arrayT[i];	
		}
		//System.out.println(sumt);
		return sumt;
	}
	public static float squareT(){
		float sumSquare=0;
		productArray();
		for (int i=0;i<12;i++){
			sumSquare+=arrayT[i]*arrayT[i];
		}
		//System.out.println(sumSquare);
		return sumSquare;
	}
	public static float sumX(){
		float sumx=0;
		for(int i=0;i<3;i++){
			for(int j=0;j<4;j++){
				sumx+=arrayX[i][j];
			}
		}
			//System.out.println(sumx);
		return sumx;
	}
	public static float sumTX(){
		float sumtx=0;
		float sumtx1=0;
		float sumtx2=0;
		float sumtx3=0;	
		productArray();
		for(int i=0;i<3;i++){  
			for( int j=0;j<4;j++){
				if(i==0)
				    sumtx1+=arrayT[j]*arrayX[i][j];
				if(i==1)
					sumtx2+=arrayT[4+j]*arrayX[i][j];
				if(i==2)
					sumtx3+=arrayT[8+j]*arrayX[i][j];
				                }
			    }
		sumtx=sumtx1+sumtx2+sumtx3;
		//System.out.println(sumtx);
		return sumtx;
	}
	public static float b(float n){
		b=(n*sumTX()-sumT()*sumX())/(n*squareT()-sumT()*sumT());
		//System.out.println(b);
		return b;
	}
	public static float a(float n){
		b(n);
		float a=0;
		a=(sumX()/n)-(b*sumT()/n);
		//System.out.println(b);
		//System.out.println(a);
		return a;
	}
    public static float prodictModel(float n){//x=a+bt
    	float modelx=0;
    	for (int i=0;i<16;i++){
    	modelx=a(n)+b(n)*arrayT[i];
    	arrayP[i]=modelx;
    	//System.out.print(arrayP[i]);
    	}
    	return modelx;
    }
    public static void transforArray(){
    	//prodictModel(n);
    	for(int i=0;i<3;i++){
    		for(int j=0;j<4;j++){
    			if(i==0)
    				arrayPD[i][j]=arrayP[j];
    			else if(i==1)
    				arrayPD[i][j]=arrayP[4+j];
    			else if(i==2)
    				arrayPD[i][j]=arrayP[8+j];
    		}
    	}
//    	for(int a=0;a<3;a++){
//    		for(int b=0;b<4;b++){
//    			System.out.println(arrayPD[a][b]);
//    		}
//    	}
    }
    public static void rateModel(){
    	transforArray();
    	for(int i=0;i<3;i++){
    		for(int j=0;j<4;j++){
    			arraySI[i][j]=arrayX[i][j]/arrayPD[i][j];
    		}
    	}
//    	for(int a=0;a<3;a++){
//		    for(int b=0;b<4;b++){
//		    	if(b==0)
//			     System.out.println(arraySI[a][b]);
//		    	else if(b==1)
//		    	 System.out.println(arraySI[a][b]);
//		    	else if(b==2)
//		    	 System.out.println(arraySI[a][b]);
//		    	else if(b==3)
//		    	 System.out.println(arraySI[a][b]);
//		}
//	}
    }
    public static void avgSI(){
    	rateModel();
    	
    	for(int i=0;i<3;i++){
    		for(int j=0;j<4;j++){
    			if(j==0)
    				myarray[j]+=arraySI[i][j];
    			else if(j==1)
    				myarray[j]+=arraySI[i][j];
    			else if(j==2)
    				myarray[j]+=arraySI[i][j];
    			else if(j==3)
    				myarray[j]+=arraySI[i][j];
    		}
    	}

    }
    public static void predictSeason(){
    	//avgSI();
    	float conclution=0;
    	for (int i=0;i<4;i++){
    		conclution=arrayP[12+i]* (myarray[i]/3);
    		System.out.print(conclution+"  ");
    	}
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -