Example usage for org.apache.commons.math3.stat.regression OLSMultipleLinearRegression estimateRegressionParametersVariance

List of usage examples for org.apache.commons.math3.stat.regression OLSMultipleLinearRegression estimateRegressionParametersVariance

Introduction

In this page you can find the example usage for org.apache.commons.math3.stat.regression OLSMultipleLinearRegression estimateRegressionParametersVariance.

Prototype

public double[][] estimateRegressionParametersVariance() 

Source Link

Usage

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;
}