Простая регрессия для вычисления наклона с использованием apache математических формул в Java - PullRequest
0 голосов
/ 03 августа 2020

Я пытаюсь рассчитать наклон, используя простую регрессию. Вот мои два массива:

XLIST  [9.570915222167969 , 7.601962566375732 , 6.5179524421691895 , 5.71270227432251 , 5.095747947692871 , 4.610823631286621 , 4.221418380737305 , 3.902977705001831 , 3.6384739875793457 , 3.4157819747924805]
YList [10.0 , 11.0 , 12.0 , 13.0 , 14.0 , 15.0 , 16.0 , 17.0 , 18.0 , 19.0]

Однако наклон равен 7.9192681940221545, используя ниже:

double[][] pqr={ArrayUtils.toPrimitive(xList.toArray(new Double[0])),ArrayUtils.toPrimitive(yList.toArray(new Double[0]))};
simpleRegression.addData(pqr);
System.out.println(" The slope" + simpleRegression.getSlope());

Однако я могу видеть несоответствие в наклоне Excel, т.е. , -0.6132.

Я не уверен, где я делаю ошибку.

Любая информация по этому поводу будет полезна.

1 Ответ

1 голос
/ 03 августа 2020

Вы неправильно передаете данные методу addData(double[][]).

Метод addData предполагает, что вы передаете массив пар xy. Вместо этого вы передаете значения x и значения y в двух отдельных массивах. Вы можете создать массив правильной формы или передать данные с помощью других доступных методов. Например,

for (int i=0; i<xList.size(); i++)
    simpleRegression.addData(xList.get(i), yList.get(i));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...