Example2: Linear Regression
Selected case statistics of a simple linear regression model, with an intercept, are computed.
import com.imsl.stat.*;
import com.imsl.math.*;
public class LinearRegressionEx2 {
public static void main(String args[]) {
//
LinearRegression r = new LinearRegression(2, true);
double y[] = {3, 4, 5, 7, 7, 8, 9};
double x[][] = {{1, 1},{1, 2},{1, 3},{1,4},{1,5},{0,6},{1,7}};
double [][] results = new double[7][5];
double [] confint = new double[2];
r.update(x, y);
for (int k=0; k<7; k++){
LinearRegression.CaseStatistics cs = r.getCaseStatistics(x[k],y[k]);
cs.setEffects(-2);
results[k][0] = cs.getJackknifeResidual();
results[k][1] = cs.getCooksDistance();
results[k][2] = cs.getDFFITS();
confint = cs.getConfidenceInterval();
results[k][3] = confint[0];
results[k][4] = confint[1];
}
PrintMatrix p = new PrintMatrix("Selected Case Statistics");
PrintMatrixFormat mf = new PrintMatrixFormat();
String labels[] = {"Jackknife Residual.","Cook's D","DFFITS", "[Conf. Interval", "on the Mean]"};
mf.setColumnLabels(labels);
p.print(mf, results);
}
}
Output
Selected Case Statistics
Jackknife Residual. Cook's D DFFITS [Conf. Interval on the Mean]
0 -0.343 0.045 -0.324 2.261 3.996
1 -0.327 0.018 -0.207 3.467 4.818
2 -0.338 0.011 -0.161 4.613 5.702
3 ? 0.276 ? 5.648 6.695
4 -0.418 0.024 -0.237 6.563 7.808
5 ? ? ? 6.736 9.264
6 -0.742 0.372 -0.996 8.201 10.227
Link to Java source.