/**
* This program calculates the linear regression size-estimationg parameters
* for a set on n programs
*
* @version $Id: Regression.java,v 1.1 1998/10/14 17:58:32 tfm1584 Exp $
*
* @author Tom M
*
* Revisions:
* $Log: Regression.java,v $
* Revision 1.1 1998/10/14 17:58:32 tfm1584
* Initial revision
*
*
*/
import java.util.Vector;
public class Regression {
/**
* The constructor - this is the main part of the program and calls the
* functions to calculate the B1 and B0 and print them out
* out.
*
* @param arguments String[] passed from main
*/
public Regression( String arguments[]) {
Vector x = new Vector();
Vector y = new Vector();
double average;
double stdDev;
boolean xend = false;
/* Load the vector with the actual Doubles from the String array */
for ( int i = 0; i < arguments.length; i++ ) {
if ( arguments[i].equals( "," ) ){
xend = true;
}
else {
if ( !xend ) {
x.addElement( Double.valueOf( arguments[ i ] ) );
}
else {
y.addElement( Double.valueOf( arguments[ i ] ) );
}
}
}
RegressionCalc rc = new RegressionCalc();
double b1 = rc.calculateB1( x, y );
double b0 = rc.calculateB0( x, y, b1 );
double rSquared = rc.calculateRSquared( x, y, b0, b1 );
/* print out the x and y data values */
System.out.print( "X Data = [ " );
for ( int i = 0; i < x.size(); i++ ) {
System.out.print( ((Double)x.elementAt(i)).doubleValue()+ " ");
}
System.out.print( "]\nY Data = [ " );
for ( int i = 0; i < y.size(); i++ ) {
System.out.print( ((Double)y.elementAt(i)).doubleValue() +" " );
}
System.out.println( "]" );
/* print out the rest of the calculated values */
System.out.println( "N = " + x.size() );
System.out.println( "Beta0 = " + b0 );
System.out.println( "Beta1 = " + b1 );
System.out.println( "rSquared = " + rSquared );
}
/**
* the main program - it just creates a new object
*/
public static void main( String args[] ) {
Regression r = new Regression( args );
}
}