static LeastSquaresRegressionResultTest() { const int n = 100; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[][] x = new double[n][2]; //JAVA TO C# CONVERTER NOTE: The following call to the 'RectangularArrays' helper class reproduces the rectangular array initialization that is automatic in Java: //ORIGINAL LINE: double[][] x = new double[n][2]; double[][] x = RectangularArrays.ReturnRectangularDoubleArray(n, 2); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] y1 = new double[n]; double[] y1 = new double[n]; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] y2 = new double[n]; double[] y2 = new double[n]; for (int i = 0; i < n; i++) { x[i][0] = RANDOM.NextDouble(); x[i][1] = RANDOM.NextDouble(); y1[i] = F1.applyAsDouble(x[i][0], x[i][1]); y2[i] = F2.applyAsDouble(x[i][0], x[i][1]); } NO_INTERCEPT = REGRESSION.regress(x, null, y1, false); INTERCEPT = REGRESSION.regress(x, null, y2, true); }
public NamedVariableLeastSquaresRegressionResult(IList <string> independentVariableNames, LeastSquaresRegressionResult result) : base(result) { if (independentVariableNames == null) { throw new System.ArgumentException("List of independent variable names was null"); } _independentVariableNames = new List <>(); if (result.hasIntercept()) { if (independentVariableNames.Count != result.Betas.Length - 1) { throw new System.ArgumentException("Length of variable name array did not match number of results in the regression"); } _independentVariableNames.Add(INTERCEPT_STRING); } else { if (independentVariableNames.Count != result.Betas.Length) { throw new System.ArgumentException("Length of variable name array did not match number of results in the regression"); } } ((IList <string>)_independentVariableNames).AddRange(independentVariableNames); _result = result; }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void testEqualsAndHashCode() public virtual void testEqualsAndHashCode() { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] residuals = new double[] {1, 2, 3 }; double[] residuals = new double[] { 1, 2, 3 }; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] betas = new double[] {1.1, 2.1, 3.1 }; double[] betas = new double[] { 1.1, 2.1, 3.1 }; const double meanSquareError = 0.78; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] standardErrorOfBeta = new double[] {1.2, 2.2, 3.2 }; double[] standardErrorOfBeta = new double[] { 1.2, 2.2, 3.2 }; const double rSquared = 0.98; const double rSquaredAdjusted = 0.96; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] tStats = new double[] {1.3, 2.3, 3.3 }; double[] tStats = new double[] { 1.3, 2.3, 3.3 }; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] pValues = new double[] {1.4, 2.4, 3.4 }; double[] pValues = new double[] { 1.4, 2.4, 3.4 }; const bool hasIntercept = false; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final LeastSquaresRegressionResult result = new LeastSquaresRegressionResult(betas, residuals, meanSquareError, standardErrorOfBeta, rSquared, rSquaredAdjusted, tStats, pValues, hasIntercept); LeastSquaresRegressionResult result = new LeastSquaresRegressionResult(betas, residuals, meanSquareError, standardErrorOfBeta, rSquared, rSquaredAdjusted, tStats, pValues, hasIntercept); LeastSquaresRegressionResult other = new LeastSquaresRegressionResult(result); assertEquals(result, other); assertEquals(result.GetHashCode(), other.GetHashCode()); other = new LeastSquaresRegressionResult(betas, residuals, meanSquareError, standardErrorOfBeta, rSquared, rSquaredAdjusted, tStats, pValues, hasIntercept); assertEquals(result, other); assertEquals(result.GetHashCode(), other.GetHashCode()); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] x = new double[] {1.5, 2.5, 3.5 }; double[] x = new double[] { 1.5, 2.5, 3.5 }; other = new LeastSquaresRegressionResult(x, residuals, meanSquareError, standardErrorOfBeta, rSquared, rSquaredAdjusted, tStats, pValues, hasIntercept); assertFalse(result.Equals(other)); other = new LeastSquaresRegressionResult(betas, x, meanSquareError, standardErrorOfBeta, rSquared, rSquaredAdjusted, tStats, pValues, hasIntercept); assertFalse(result.Equals(other)); other = new LeastSquaresRegressionResult(betas, residuals, meanSquareError + 1, standardErrorOfBeta, rSquared, rSquaredAdjusted, tStats, pValues, hasIntercept); assertFalse(result.Equals(other)); other = new LeastSquaresRegressionResult(betas, residuals, meanSquareError, x, rSquared, rSquaredAdjusted, tStats, pValues, hasIntercept); assertFalse(result.Equals(other)); other = new LeastSquaresRegressionResult(betas, residuals, meanSquareError, standardErrorOfBeta, rSquared + 1, rSquaredAdjusted, tStats, pValues, hasIntercept); assertFalse(result.Equals(other)); other = new LeastSquaresRegressionResult(betas, residuals, meanSquareError, standardErrorOfBeta, rSquared, rSquaredAdjusted + 1, tStats, pValues, hasIntercept); assertFalse(result.Equals(other)); other = new LeastSquaresRegressionResult(betas, residuals, meanSquareError, standardErrorOfBeta, rSquared, rSquaredAdjusted, x, pValues, hasIntercept); assertFalse(result.Equals(other)); other = new LeastSquaresRegressionResult(betas, residuals, meanSquareError, standardErrorOfBeta, rSquared, rSquaredAdjusted, tStats, x, hasIntercept); assertFalse(result.Equals(other)); other = new LeastSquaresRegressionResult(betas, residuals, meanSquareError, standardErrorOfBeta, rSquared, rSquaredAdjusted, tStats, pValues, !hasIntercept); assertFalse(result.Equals(other)); }
public override bool Equals(object obj) { if (this == obj) { return(true); } if (obj == null) { return(false); } if (this.GetType() != obj.GetType()) { return(false); } LeastSquaresRegressionResult other = (LeastSquaresRegressionResult)obj; if (!Arrays.Equals(_betas, other._betas)) { return(false); } if (_hasIntercept != other._hasIntercept) { return(false); } if (System.BitConverter.DoubleToInt64Bits(_meanSquareError) != Double.doubleToLongBits(other._meanSquareError)) { return(false); } if (!Arrays.Equals(_pValues, other._pValues)) { return(false); } if (System.BitConverter.DoubleToInt64Bits(_rSquared) != Double.doubleToLongBits(other._rSquared)) { return(false); } if (System.BitConverter.DoubleToInt64Bits(_rSquaredAdjusted) != Double.doubleToLongBits(other._rSquaredAdjusted)) { return(false); } if (!Arrays.Equals(_residuals, other._residuals)) { return(false); } if (!Arrays.Equals(_standardErrorOfBeta, other._standardErrorOfBeta)) { return(false); } if (!Arrays.Equals(_tStats, other._tStats)) { return(false); } return(true); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void test() public virtual void test() { const int n = 20; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[][] x = new double[n][5]; //JAVA TO C# CONVERTER NOTE: The following call to the 'RectangularArrays' helper class reproduces the rectangular array initialization that is automatic in Java: //ORIGINAL LINE: double[][] x = new double[n][5]; double[][] x = RectangularArrays.ReturnRectangularDoubleArray(n, 5); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] y1 = new double[n]; double[] y1 = new double[n]; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] y2 = new double[n]; double[] y2 = new double[n]; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] a1 = new double[] {3.4, 1.2, -0.62, -0.44, 0.65 }; double[] a1 = new double[] { 3.4, 1.2, -0.62, -0.44, 0.65 }; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] a2 = new double[] {0.98, 3.4, 1.2, -0.62, -0.44, 0.65 }; double[] a2 = new double[] { 0.98, 3.4, 1.2, -0.62, -0.44, 0.65 }; for (int i = 0; i < n; i++) { for (int j = 0; j < 5; j++) { x[i][j] = RANDOM.NextDouble() + (RANDOM.NextDouble() - 0.5) / FACTOR; } y1[i] = a1[0] * x[i][0] + a1[1] * x[i][1] + a1[2] * x[i][2] + a1[3] * x[i][3] + a1[4] * x[i][4] + RANDOM.NextDouble() / FACTOR; y2[i] = a2[0] + a2[1] * x[i][0] + a2[2] * x[i][1] + a2[3] * x[i][2] + a2[4] * x[i][3] + a2[5] * x[i][4] + RANDOM.NextDouble() / FACTOR; } //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final LeastSquaresRegressionResult result1 = REGRESSION.regress(x, null, y1, false); LeastSquaresRegressionResult result1 = REGRESSION.regress(x, null, y1, false); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final LeastSquaresRegressionResult result2 = REGRESSION.regress(x, null, y2, true); LeastSquaresRegressionResult result2 = REGRESSION.regress(x, null, y2, true); assertRegression(result1, a1); assertRegression(result2, a2); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] residuals1 = result1.getResiduals(); double[] residuals1 = result1.Residuals; for (int i = 0; i < n; i++) { assertEquals(y1[i], a1[0] * x[i][0] + a1[1] * x[i][1] + a1[2] * x[i][2] + a1[3] * x[i][3] + a1[4] * x[i][4] + residuals1[i], 10 * EPS); } //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] residuals2 = result2.getResiduals(); double[] residuals2 = result2.Residuals; for (int i = 0; i < n; i++) { assertEquals(y2[i], a2[0] + a2[1] * x[i][0] + a2[2] * x[i][1] + a2[3] * x[i][2] + a2[4] * x[i][3] + a2[5] * x[i][4] + residuals2[i], 10 * EPS); } }
public LeastSquaresRegressionResult(LeastSquaresRegressionResult result) { ArgChecker.notNull(result, "regression result"); _betas = result.Betas; _residuals = result.Residuals; _meanSquareError = result.MeanSquareError; _standardErrorOfBeta = result.StandardErrorOfBetas; _rSquared = result.RSquared; _rSquaredAdjusted = result.AdjustedRSquared; _tStats = result.TStatistics; _pValues = result.PValues; _hasIntercept = result.hasIntercept(); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test(expectedExceptions = IllegalArgumentException.class) public void testNonMatchingInputs() public virtual void testNonMatchingInputs() { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final java.util.List<String> names = java.util.Arrays.asList("A", "B"); IList <string> names = Arrays.asList("A", "B"); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] array = new double[] {1.0 }; double[] array = new double[] { 1.0 }; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final LeastSquaresRegressionResult result = new LeastSquaresRegressionResult(array, array, 0.0, array, 0.0, 0.0, array, array, false); LeastSquaresRegressionResult result = new LeastSquaresRegressionResult(array, array, 0.0, array, 0.0, 0.0, array, array, false); new NamedVariableLeastSquaresRegressionResult(names, result); }
//JAVA TO C# CONVERTER WARNING: 'final' parameters are not available in .NET: //ORIGINAL LINE: private void assertRegressions(final int n, final int k, final LeastSquaresRegressionResult regression1, final LeastSquaresRegressionResult regression2) private void assertRegressions(int n, int k, LeastSquaresRegressionResult regression1, LeastSquaresRegressionResult regression2) { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] r1 = regression1.getResiduals(); double[] r1 = regression1.Residuals; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] r2 = regression2.getResiduals(); double[] r2 = regression2.Residuals; for (int i = 0; i < n; i++) { assertEquals(r1[i], r2[i], EPS); } //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] b1 = regression1.getBetas(); double[] b1 = regression1.Betas; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] t1 = regression1.getTStatistics(); double[] t1 = regression1.TStatistics; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] p1 = regression1.getPValues(); double[] p1 = regression1.PValues; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] s1 = regression1.getStandardErrorOfBetas(); double[] s1 = regression1.StandardErrorOfBetas; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] b2 = regression2.getBetas(); double[] b2 = regression2.Betas; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] t2 = regression2.getTStatistics(); double[] t2 = regression2.TStatistics; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] p2 = regression2.getPValues(); double[] p2 = regression2.PValues; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] s2 = regression2.getStandardErrorOfBetas(); double[] s2 = regression2.StandardErrorOfBetas; 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.RSquared, regression2.RSquared, EPS); assertEquals(regression1.AdjustedRSquared, regression2.AdjustedRSquared, EPS); assertEquals(regression1.MeanSquareError, regression2.MeanSquareError, EPS); }
//JAVA TO C# CONVERTER WARNING: 'final' parameters are not available in .NET: //ORIGINAL LINE: private void assertRegressions(final int n, final int k, final LeastSquaresRegressionResult regression1, final LeastSquaresRegressionResult regression2) private void assertRegressions(int n, int k, LeastSquaresRegressionResult regression1, LeastSquaresRegressionResult regression2) { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] r1 = regression1.getResiduals(); double[] r1 = regression1.Residuals; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] r2 = regression2.getResiduals(); double[] r2 = regression2.Residuals; for (int i = 0; i < n; i++) { assertEquals(r1[i], r2[i], EPS); } //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] b1 = regression1.getBetas(); double[] b1 = regression1.Betas; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] b2 = regression2.getBetas(); double[] b2 = regression2.Betas; for (int i = 0; i < k; i++) { assertEquals(b1[i], b2[i], EPS); } }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void testGetters() public virtual void testGetters() { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] residuals = new double[] {1, 2, 3 }; double[] residuals = new double[] { 1, 2, 3 }; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] betas = new double[] {1.1, 2.1, 3.1 }; double[] betas = new double[] { 1.1, 2.1, 3.1 }; const double meanSquareError = 0.78; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] standardErrorOfBeta = new double[] {1.2, 2.2, 3.2 }; double[] standardErrorOfBeta = new double[] { 1.2, 2.2, 3.2 }; const double rSquared = 0.98; const double rSquaredAdjusted = 0.96; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] tStats = new double[] {1.3, 2.3, 3.3 }; double[] tStats = new double[] { 1.3, 2.3, 3.3 }; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] pValues = new double[] {1.4, 2.4, 3.4 }; double[] pValues = new double[] { 1.4, 2.4, 3.4 }; const bool hasIntercept = false; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final LeastSquaresRegressionResult result = new LeastSquaresRegressionResult(betas, residuals, meanSquareError, standardErrorOfBeta, rSquared, rSquaredAdjusted, tStats, pValues, hasIntercept); LeastSquaresRegressionResult result = new LeastSquaresRegressionResult(betas, residuals, meanSquareError, standardErrorOfBeta, rSquared, rSquaredAdjusted, tStats, pValues, hasIntercept); assertEquals(result.AdjustedRSquared, rSquaredAdjusted, 0); assertArrayEquals(result.Betas, betas, 0); assertEquals(result.MeanSquareError, meanSquareError, 0); assertArrayEquals(result.PValues, pValues, 0); assertArrayEquals(result.Residuals, residuals, 0); assertEquals(result.RSquared, rSquared, 0); assertArrayEquals(result.StandardErrorOfBetas, standardErrorOfBeta, 0); assertArrayEquals(result.TStatistics, tStats, 0); }
//JAVA TO C# CONVERTER WARNING: 'final' parameters are not available in .NET: //ORIGINAL LINE: private void assertRegression(final LeastSquaresRegressionResult result, final double[] a) private void assertRegression(LeastSquaresRegressionResult result, double[] a) { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] beta = result.getBetas(); double[] beta = result.Betas; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] tStat = result.getTStatistics(); double[] tStat = result.TStatistics; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] pStat = result.getPValues(); double[] pStat = result.PValues; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] stdErr = result.getStandardErrorOfBetas(); double[] stdErr = result.StandardErrorOfBetas; 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.RSquared, 1, EPS); assertEquals(result.AdjustedRSquared, 1, EPS); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void test() public virtual void test() { const double a0 = 2.3; const double a1 = -4.5; const double a2 = 0.76; const double a3 = 3.4; const int n = 30; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[][] x = new double[n][3]; //JAVA TO C# CONVERTER NOTE: The following call to the 'RectangularArrays' helper class reproduces the rectangular array initialization that is automatic in Java: //ORIGINAL LINE: double[][] x = new double[n][3]; double[][] x = RectangularArrays.ReturnRectangularDoubleArray(n, 3); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] yIntercept = new double[n]; double[] yIntercept = new double[n]; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] yNoIntercept = new double[n]; double[] yNoIntercept = new double[n]; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[][] w1 = new double[n][n]; //JAVA TO C# CONVERTER NOTE: The following call to the 'RectangularArrays' helper class reproduces the rectangular array initialization that is automatic in Java: //ORIGINAL LINE: double[][] w1 = new double[n][n]; double[][] w1 = RectangularArrays.ReturnRectangularDoubleArray(n, n); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] w2 = new double[n]; double[] w2 = new double[n]; double y, x1, x2, x3; for (int i = 0; i < n; i++) { x1 = i; x2 = x1 * x1; x3 = Math.Sqrt(x1); x[i] = new double[] { x1, x2, x3 }; y = x1 * a1 + x2 * a2 + x3 * a3; yNoIntercept[i] = y; yIntercept[i] = y + a0; for (int j = 0; j < n; j++) { w1[i][j] = RANDOM.NextDouble(); } w1[i][i] = 1.0; w2[i] = 1.0; } //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final WeightedLeastSquaresRegression wlsRegression = new WeightedLeastSquaresRegression(); WeightedLeastSquaresRegression wlsRegression = new WeightedLeastSquaresRegression(); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final OrdinaryLeastSquaresRegression olsRegression = new OrdinaryLeastSquaresRegression(); OrdinaryLeastSquaresRegression olsRegression = new OrdinaryLeastSquaresRegression(); try { wlsRegression.regress(x, (double[])null, yNoIntercept, false); Assert.fail(); } //JAVA TO C# CONVERTER WARNING: 'final' catch parameters are not available in C#: //ORIGINAL LINE: catch (final IllegalArgumentException e) catch (legalArgumentException) { // Expected } LeastSquaresRegressionResult wls = wlsRegression.regress(x, w1, yIntercept, true); LeastSquaresRegressionResult ols = olsRegression.regress(x, yIntercept, true); assertRegressions(n, 4, wls, ols); wls = wlsRegression.regress(x, w1, yNoIntercept, false); ols = olsRegression.regress(x, yNoIntercept, false); assertRegressions(n, 3, wls, ols); wls = wlsRegression.regress(x, w2, yIntercept, true); ols = olsRegression.regress(x, yIntercept, true); assertRegressions(n, 4, wls, ols); wls = wlsRegression.regress(x, w2, yNoIntercept, false); ols = olsRegression.regress(x, yNoIntercept, false); assertRegressions(n, 3, wls, ols); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void test() public virtual void test() { const double a0 = 2.3; const double a1 = 4.7; const double a2 = -0.99; const double a3 = -5.1; const double a4 = 0.27; const int n = 30; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[][] x = new double[n][4]; //JAVA TO C# CONVERTER NOTE: The following call to the 'RectangularArrays' helper class reproduces the rectangular array initialization that is automatic in Java: //ORIGINAL LINE: double[][] x = new double[n][4]; double[][] x = RectangularArrays.ReturnRectangularDoubleArray(n, 4); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] yIntercept = new double[n]; double[] yIntercept = new double[n]; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] yNoIntercept = new double[n]; double[] yNoIntercept = new double[n]; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[][] w = new double[n][n]; //JAVA TO C# CONVERTER NOTE: The following call to the 'RectangularArrays' helper class reproduces the rectangular array initialization that is automatic in Java: //ORIGINAL LINE: double[][] w = new double[n][n]; double[][] w = RectangularArrays.ReturnRectangularDoubleArray(n, n); double y, x1, x2, x3, x4; for (int i = 0; i < n; i++) { x1 = i; x2 = x1 * x1; x3 = Math.Sqrt(x1); x4 = x1 * x2; x[i] = new double[] { x1, x2, x3, x4 }; y = x1 * a1 + x2 * a2 + x3 * a3 + x4 * a4; yNoIntercept[i] = y; yIntercept[i] = y + a0; for (int j = 0; j < n; j++) { w[i][j] = 0.0; } w[i][i] = 1.0; } //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final GeneralizedLeastSquaresRegression regression = new GeneralizedLeastSquaresRegression(); GeneralizedLeastSquaresRegression regression = new GeneralizedLeastSquaresRegression(); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final OrdinaryLeastSquaresRegression olsRegression = new OrdinaryLeastSquaresRegression(); OrdinaryLeastSquaresRegression olsRegression = new OrdinaryLeastSquaresRegression(); LeastSquaresRegressionResult gls = regression.regress(x, w, yIntercept, true); LeastSquaresRegressionResult ols = olsRegression.regress(x, yIntercept, true); assertRegressions(n, 5, gls, ols); gls = regression.regress(x, w, yNoIntercept, false); ols = olsRegression.regress(x, yNoIntercept, false); assertRegressions(n, 4, gls, ols); gls = regression.regress(x, w, yIntercept, true); ols = olsRegression.regress(x, yIntercept, true); assertRegressions(n, 5, gls, ols); gls = regression.regress(x, w, yNoIntercept, false); ols = olsRegression.regress(x, yNoIntercept, false); assertRegressions(n, 4, gls, ols); }