Derzeit habe ich eine Abhängigkeit zu Commons-Mathe 2.1, aber ich möchte es auf Commons-math 3.6 zu aktualisieren. Leider gibt es einige Testfälle, die nicht mehr funktionieren. Ich weiß, was mein Problem verursacht, aber ich weiß nicht, wie ich den Testfall entsprechend ändern kann, um das korrekte Verhalten wie zuvor zu testen.OLS multiple lineare Regression mit commons-math
habe ich folgenden Testcode:
@Test
public void testIdentityMatrix() {
double[][] x = { { 1, 0, 0, 0 }, { 0, 1, 0, 0 }, { 0, 0, 0, 1 }, { 0, 0, 0, 1 } };
double[] y = { 1, 2, 3, 4 };
OLSMultipleLinearRegression regression = new OLSMultipleLinearRegression();
regression.setNoIntercept(true);
regression.newSampleData(y, x);
double[] b = regression.estimateRegressionParameters();
for (int i = 0; i < y.length; i++)
{
assertEquals(b[i], y[i], 0.001);
}
}
Nach dem Upgrade auf commons-Mathe 3.6 die OLSMultipleLinearRegression die gegebenen Matrix x und y-Vektor für gültige Inhalte überprüft. Und diese Überprüfung fehlschlägt mit der Meldung:
nicht genügend Daten (4 Reihen) für diese viele Prädiktoren (4 Prädiktoren)
Was muß ich ändern, dass der Testfall zu korrigieren?