Simple Linear Regression


Simple Linear Regression import java.util.*;
Future Tanks with Adaptive Technology
class SimpleLR
{
static double[][] dataArray;
static double sumX,sumY,sumXY,sumXX,alpha,beta;
static int totalCount;
public static void main(String args[])
{
Scanner src= new Scanner(System.in);
System.out.println("Enter no. of entries");
totalCount=src.nextInt();
dataArray=new double[totalCount][2];
for(int i=0;i<totalCount;i++)
{
System.out.print((i+1)+" x=");
dataArray[i][0]=src.nextDouble();
System.out.print(" y=");
dataArray[i][1]=src.nextDouble();
System.out.println();
}
printDataArray();
calculateSums();
calculateAlphaBeta();
System.out.println("enter value of X:");
calculateY(src.nextDouble());
}
static void calculateY(double x)
{
double y;
y=alpha+(beta*x);
System.out.println("Y: "+y);
}
static void calculateAlphaBeta()
{
beta=((totalCount*sumXY)-(sumX*sumY))/((totalCount*sumXX)-(sumX*sumX));
alpha=((sumY-(beta*sumX))/totalCount);
System.out.println("beta : "+beta+" alpha : "+alpha);
}
static void calculateSums()
{
for(int i=0;i<totalCount;i++)
{
sumX=sumX+dataArray[i][0];
sumY=sumY+dataArray[i][1];
sumXY=(dataArray[i][0]*dataArray[i][1])+sumXY;
sumXX=(dataArray[i][0]*dataArray[i][0])+sumXX;
}
System.out.println("sumX: "+sumX+"sumY: "+sumY+"sumXY: "+sumXY+"sumXX: "+sumXX);
}
static void printDataArray()
{
for(int i=0;i<totalCount;i++)
System.out.println(dataArray[i][0]+" "+dataArray[i][1]);
}
}

0 comments :