В настоящее время у меня есть зависимость от commons-math 2.1, но я хочу обновить ее до commons-math 3.6. К сожалению, есть некоторые тестовые теги, которые больше не работают. Я знаю, что вызывает мою проблему, но я не знаю, как изменить тестовый тест, чтобы проверить правильное поведение, как и раньше.OLS множественная линейная регрессия с commons-math
У меня есть следующий код теста:
@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);
}
}
После обновления Викисклада математике 3.6 OLSMultipleLinearRegression проверяет данную матрицу х и вектор у для действительных содержимого. И эта проверка завершается с сообщением:
недостаточно данных (4 строки) для этого много предсказателей (4 предикторов)
Что мне нужно изменить, чтобы исправить этот тест?