List of usage examples for org.apache.commons.math.stat.regression OLSMultipleLinearRegression estimateResiduals
public double[] estimateResiduals()
From source file:ru.algorithmist.jquant.math.GrangerTest.java
/** * Returns p-value for Granger causality test. * * @param y - predictable variable/*from ww w.j av a2s . com*/ * @param x - predictor * @param L - lag, should be 1 or greater. * @return p-value of Granger causality */ public static double granger(double[] y, double[] x, int L) { OLSMultipleLinearRegression h0 = new OLSMultipleLinearRegression(); OLSMultipleLinearRegression h1 = new OLSMultipleLinearRegression(); double[][] laggedY = createLaggedSide(L, y); double[][] laggedXY = createLaggedSide(L, x, y); int n = laggedY.length; h0.newSampleData(strip(L, y), laggedY); h1.newSampleData(strip(L, y), laggedXY); double rs0[] = h0.estimateResiduals(); double rs1[] = h1.estimateResiduals(); double RSS0 = sqrSum(rs0); double RSS1 = sqrSum(rs1); double ftest = ((RSS0 - RSS1) / L) / (RSS1 / (n - 2 * L - 1)); System.out.println(RSS0 + " " + RSS1); System.out.println("F-test " + ftest); FDistribution fDist = new FDistributionImpl(L, n - 2 * L - 1); try { double pValue = 1.0 - fDist.cumulativeProbability(ftest); System.out.println("P-value " + pValue); return pValue; } catch (MathException e) { throw new RuntimeException(e); } }