public LeastSquaresRegressionResult(LeastSquaresRegressionResult result) { ArgChecker.notNull(result, "regression result"); _betas = result.getBetas(); _residuals = result.getResiduals(); _meanSquareError = result.getMeanSquareError(); _standardErrorOfBeta = result.getStandardErrorOfBetas(); _rSquared = result.getRSquared(); _rSquaredAdjusted = result.getAdjustedRSquared(); _tStats = result.getTStatistics(); _pValues = result.getPValues(); _hasIntercept = result.hasIntercept(); }
private void assertRegression(final LeastSquaresRegressionResult result, final double[] a) { final double[] beta = result.getBetas(); final double[] tStat = result.getTStatistics(); final double[] pStat = result.getPValues(); final double[] stdErr = result.getStandardErrorOfBetas(); for (int i = 0; i < 5; i++) { assertEquals(beta[i], a[i], EPS); assertTrue(Math.abs(tStat[i]) > FACTOR); assertTrue(pStat[i] < EPS); assertTrue(stdErr[i] < EPS); } assertEquals(result.getRSquared(), 1, EPS); assertEquals(result.getAdjustedRSquared(), 1, EPS); } }
@Test public void testGetters() { final double[] residuals = new double[] {1, 2, 3 }; final double[] betas = new double[] {1.1, 2.1, 3.1 }; final double meanSquareError = 0.78; final double[] standardErrorOfBeta = new double[] {1.2, 2.2, 3.2 }; final double rSquared = 0.98; final double rSquaredAdjusted = 0.96; final double[] tStats = new double[] {1.3, 2.3, 3.3 }; final double[] pValues = new double[] {1.4, 2.4, 3.4 }; final boolean hasIntercept = false; final LeastSquaresRegressionResult result = new LeastSquaresRegressionResult(betas, residuals, meanSquareError, standardErrorOfBeta, rSquared, rSquaredAdjusted, tStats, pValues, hasIntercept); assertEquals(result.getAdjustedRSquared(), rSquaredAdjusted, 0); assertArrayEquals(result.getBetas(), betas, 0); assertEquals(result.getMeanSquareError(), meanSquareError, 0); assertArrayEquals(result.getPValues(), pValues, 0); assertArrayEquals(result.getResiduals(), residuals, 0); assertEquals(result.getRSquared(), rSquared, 0); assertArrayEquals(result.getStandardErrorOfBetas(), standardErrorOfBeta, 0); assertArrayEquals(result.getTStatistics(), tStats, 0); } }
private void assertRegressions(final int n, final int k, final LeastSquaresRegressionResult regression1, final LeastSquaresRegressionResult regression2) { final double[] r1 = regression1.getResiduals(); final double[] r2 = regression2.getResiduals(); for (int i = 0; i < n; i++) { assertEquals(r1[i], r2[i], EPS); } final double[] b1 = regression1.getBetas(); final double[] t1 = regression1.getTStatistics(); final double[] p1 = regression1.getPValues(); final double[] s1 = regression1.getStandardErrorOfBetas(); final double[] b2 = regression2.getBetas(); final double[] t2 = regression2.getTStatistics(); final double[] p2 = regression2.getPValues(); final double[] s2 = regression2.getStandardErrorOfBetas(); for (int i = 0; i < k; i++) { assertEquals(b1[i], b2[i], EPS); assertEquals(t1[i], t2[i], EPS); assertEquals(p1[i], p2[i], EPS); assertEquals(s1[i], s2[i], EPS); } assertEquals(regression1.getRSquared(), regression2.getRSquared(), EPS); assertEquals(regression1.getAdjustedRSquared(), regression2.getAdjustedRSquared(), EPS); assertEquals(regression1.getMeanSquareError(), regression2.getMeanSquareError(), EPS); } }