In this example, we fit the polynomial . For this model, the user basis function is with and hasIntercept=true
.
Data are generated using the model with .
import com.imsl.stat.*; import com.imsl.math.*; public class UserBasisRegressionEx2 { public static void main(String args[]) { class Basis implements RegressionBasis { public double basis(int index, double x) { // Notice zero-based indexing requires index be incremented return Math.pow(x,index+1); } } UserBasisRegression ubr = new UserBasisRegression(new Basis(), 4, true); for (double x = 0; x < 10; x++) { double y = 10.0+x+3*Math.pow(x,3); ubr.update(x, y, 1.0); } // Print the regression coefficients double coef[] = ubr.getCoefficients(); new PrintMatrix("The regression coefficients are:").print(coef); // Print the Anova Table ANOVA anovaTable= ubr.getANOVA(); System.out.println("Degrees Of Freedom For Model: "+ anovaTable.getDegreesOfFreedomForModel()); System.out.println("Degrees Of Freedom For Error: "+ anovaTable.getDegreesOfFreedomForError()); System.out.println("Total (Corrected) Degrees Of Freedom: "+ anovaTable.getTotalDegreesOfFreedom()); System.out.println("Sum Of Squares For Model: "+ anovaTable.getSumOfSquaresForModel()); System.out.println("Sum Of Squares For Error: "+ anovaTable.getSumOfSquaresForError()); System.out.println("Total (Corrected) Sum Of Squares: "+ anovaTable.getTotalSumOfSquares()); System.out.println("Model Mean Square: "+ anovaTable.getModelMeanSquare()); System.out.println("Error Mean Square: "+ anovaTable.getErrorMeanSquare()); System.out.println("F statistic: "+ anovaTable.getF()); System.out.println("P value: "+ anovaTable.getP()); System.out.println("R Squared (in percent): "+ anovaTable.getRSquared()); System.out.println("Adjusted R Squared (in percent): "+ anovaTable.getAdjustedRSquared()); System.out.println("Model Error Standard deviation: "+ anovaTable.getModelErrorStdev()); System.out.println("Mean Of Y: "+ anovaTable.getMeanOfY()); System.out.println("Coefficient Of Variation (in percent): "+ anovaTable.getCoefficientOfVariation()); } }
The regression coefficients are: 0 0 10 1 1 2 -0 3 3 4 -0 Degrees Of Freedom For Model: 4.0 Degrees Of Freedom For Error: 5.0 Total (Corrected) Degrees Of Freedom: 9.0 Sum Of Squares For Model: 5152487.999999998 Sum Of Squares For Error: 1.862645149230957E-9 Total (Corrected) Sum Of Squares: 5152488.0 Model Mean Square: 1288121.9999999995 Error Mean Square: 3.7252902984619143E-10 F statistic: 3.4577761645363185E15 P value: 8.696627855641336E-39 R Squared (in percent): 99.99999999999997 Adjusted R Squared (in percent): 99.99999999999993 Model Error Standard deviation: 1.9301011109426144E-5 Mean Of Y: 622.0 Coefficient Of Variation (in percent): 3.103056448460795E-6Link to Java source.