List of usage examples for org.apache.commons.math3.stat.regression OLSMultipleLinearRegression estimateRegressionParametersVariance
public double[][] estimateRegressionParametersVariance()
From source file:org.apache.solr.client.solrj.io.eval.OLSRegressionEvaluator.java
@Override public Object doWork(Object... values) throws IOException { Matrix observations = null;//from w w w . ja v a2 s . co m List<Number> outcomes = null; if (values[0] instanceof Matrix) { observations = (Matrix) values[0]; } else { throw new IOException("The first parameter for olsRegress should be the observation matrix."); } if (values[1] instanceof List) { outcomes = (List) values[1]; } else { throw new IOException("The second parameter for olsRegress should be outcome array. "); } double[][] observationData = observations.getData(); double[] outcomeData = new double[outcomes.size()]; for (int i = 0; i < outcomeData.length; i++) { outcomeData[i] = outcomes.get(i).doubleValue(); } OLSMultipleLinearRegression multipleLinearRegression = (OLSMultipleLinearRegression) regress( observationData, outcomeData); Map map = new HashMap(); map.put("regressandVariance", multipleLinearRegression.estimateRegressandVariance()); map.put("regressionParameters", list(multipleLinearRegression.estimateRegressionParameters())); map.put("RSquared", multipleLinearRegression.calculateRSquared()); map.put("adjustedRSquared", multipleLinearRegression.calculateAdjustedRSquared()); map.put("residualSumSquares", multipleLinearRegression.calculateResidualSumOfSquares()); try { map.put("regressionParametersStandardErrors", list(multipleLinearRegression.estimateRegressionParametersStandardErrors())); map.put("regressionParametersVariance", new Matrix(multipleLinearRegression.estimateRegressionParametersVariance())); } catch (Exception e) { //Exception is thrown if the matrix is singular } return new MultipleRegressionTuple(multipleLinearRegression, map); }
From source file:org.opentestsystem.airose.regression.ols.OLSRegressionModeller.java
protected AbstractModel customProcessData(double[] y, double[][] x) { OLSMultipleLinearRegression regression = new OLSMultipleLinearRegression(); regression.newSampleData(y, x);//w w w . jav a2 s . c om double[] beta = regression.estimateRegressionParameters(); double[] residuals = regression.estimateResiduals(); double[][] parametersVariance = regression.estimateRegressionParametersVariance(); double regressandVariance = regression.estimateRegressandVariance(); double rSquared = regression.calculateRSquared(); double sigma = regression.estimateRegressionStandardError(); OLSModel olsModel = new OLSModel(beta, residuals, parametersVariance, regressandVariance, rSquared, sigma, y, x); return olsModel; }