package mx.itesm.a01139626.p3.src;
public class DataSet {
private double dXK;
private double dSumX;
private double dSumY;
private double dSumXY;
private double dSumX2;
private double dSumY2;
private int iN;
private double dXAvg;
private double dYAvg;
private double dR;
private double dR2;
private double dB0;
private double dB1;
private double dYK;
/**
* DataSet constructor to initialize all DataSet
* values with the default 0 value.
*/
public DataSet() {
this.dXK = 0;
this.dSumX = 0;
this.dSumY = 0;
this.dSumXY = 0;
this.dSumX2 = 0;
this.dSumY2 = 0;
this.iN = 0;
this.dXAvg = 0;
this.dYAvg = 0;
this.dR = 0;
this.dR2 = 0;
this.dB0 = 0;
this.dB1 = 0;
this.dYK = 0;
}
/**
* addPair
*
* This method adds a pair to the data set, modifying all
* accumulators in the class, in order to calculate the correlation
* and the betas.
*
* @param dX
* @param dY
*/
public void addPair(double dX, double dY) {
dSumX += dX;
dSumY += dY;
dSumXY += dX * dY;
dSumX2 += Math.pow(dX, 2);
dSumY2 += Math.pow(dY, 2);
iN += 1;
}
public boolean calculate() {
if ( iN > 1 ) {
// calculate dAvgX
dXAvg = dSumX / iN;
// calculate dAvgY
dYAvg = dSumY / iN;
// calculate dB1
dB1 = ( dSumXY - iN * dXAvg * dYAvg ) / ( dSumX2 - iN * Math.pow(dXAvg, 2) );
// calculate dB0
dB0 = dYAvg - dB1 * dXAvg;
// calculate dR
dR = ( iN * dSumXY - dSumX * dSumY ) / Math.sqrt ( ( iN * dSumX2 - Math.pow(dSumX, 2) ) * ( iN * dSumY2 - Math.pow(dSumY, 2) ) );
// calculate dR2
dR2 = Math.pow(dR, 2);
// calculate dYK
dYK = dB0 + dB1 * dXK;
return true;
} else {
return false;
}
}
/**
* @return the dXK
*/
public double getdXK() {
return dXK;
}
/**
* @param dXK the dXK to set
*/
public void setdXK(double dXK) {
this.dXK = dXK;
}
/**
* @return the dSumX
*/
public double getdSumX() {
return dSumX;
}
/**
* @param dSumX the dSumX to set
*/
public void setdSumX(double dSumX) {
this.dSumX = dSumX;
}
/**
* @return the dSumY
*/
public double getdSumY() {
return dSumY;
}
/**
* @param dSumY the dSumY to set
*/
public void setdSumY(double dSumY) {
this.dSumY = dSumY;
}
/**
* @return the dSumXY
*/
public double getdSumXY() {
return dSumXY;
}
/**
* @param dSumXY the dSumXY to set
*/
public void setdSumXY(double dSumXY) {
this.dSumXY = dSumXY;
}
/**
* @return the dSumX2
*/
public double getdSumX2() {
return dSumX2;
}
/**
* @param dSumX2 the dSumX2 to set
*/
public void setdSumX2(double dSumX2) {
this.dSumX2 = dSumX2;
}
/**
* @return the dSumY2
*/
public double getdSumY2() {
return dSumY2;
}
/**
* @param dSumY2 the dSumY2 to set
*/
public void setdSumY2(double dSumY2) {
this.dSumY2 = dSumY2;
}
/**
* @return the iN
*/
public int getiN() {
return iN;
}
/**
* @param iN the iN to set
*/
public void setiN(int iN) {
this.iN = iN;
}
/**
* @return the dXAvg
*/
public double getdXAvg() {
return dXAvg;
}
/**
* @param dXAvg the dXAvg to set
*/
public void setdXAvg(double dXAvg) {
this.dXAvg = dXAvg;
}
/**
* @return the dYAvg
*/
public double getdYAvg() {
return dYAvg;
}
/**
* @param dYAvg the dYAvg to set
*/
public void setdYAvg(double dYAvg) {
this.dYAvg = dYAvg;
}
/**
* @return the dR
*/
public double getdR() {
return dR;
}
/**
* @param dR the dR to set
*/
public void setdR(double dR) {
this.dR = dR;
}
/**
* @return the dR2
*/
public double getdR2() {
return dR2;
}
/**
* @param dR2 the dR2 to set
*/
public void setdR2(double dR2) {
this.dR2 = dR2;
}
/**
* @return the dB0
*/
public double getdB0() {
return dB0;
}
/**
* @param dB0 the dB0 to set
*/
public void setdB0(double dB0) {
this.dB0 = dB0;
}
/**
* @return the dB1
*/
public double getdB1() {
return dB1;
}
/**
* @param dB1 the dB1 to set
*/
public void setdB1(double dB1) {
this.dB1 = dB1;
}
/**
* @return the dYK
*/
public double getdYK() {
return dYK;
}
/**
* @param dYK the dYK to set
*/
public void setdYK(double dYK) {
this.dYK = dYK;
}
public String toString() {
String sFormat = "";
return String.format(sFormat);
}
}
Comments