Apache Простая линейная регрессия в Java с использованием математической библиотеки - PullRequest
0 голосов
/ 02 августа 2020

Я новичок ie в использовании библиотеки apache для простой линейной регрессии. Задача: я хочу вычислить наклон.

У меня есть два линейных списка, то есть x-список и y-список. Значения списка Y представляют собой серию чисел. Я заполняю x-список, получая значение из хэш-карты.

Однако, когда я пытаюсь применить утилиту simpleRegression из библиотеки apache, я сталкиваюсь с трудностями ниже:

Вот мой код :

while(i< segmentI)
                {
                    xList.add(Double.parseDouble(timeStamp.get(i)));
                    yList.add(Double.parseDouble("1"));
                    i++;
                }
                for(int m=0; i< segmentI; i++)
                {
                        simpleRegression.addData(new double[][]{
                                {xList.get(m),yList.get(m)}
                        });

                }

Сомнение: есть ли способ создать новый double [] [] перед его передачей в simpleRegression. Кроме того, new double [] [] - это матрица, которая будет значением [0,1], [0,2] ... и так далее, потому что у нас нет ничего подобного в single ArrayList.

Все в этом отношении будет полезно.

Ответы [ 2 ]

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

Есть ли способ создать новый double [] [] перед его передачей в simpleRegression

Да. Например,

            double[][] data = new data[1][2];

            for(int m=0; m < segmentI; m++)
            {
                    data[0][0] = xList.get(m);
                    data[0][1] = yList.get(m);
                    simpleRegression.addData(data);
            }

Вы знаете, что есть также метод, который можно вызывать без массива ?

simpleRegression.addData(xList.get(m), yList.get(m));
0 голосов
/ 03 августа 2020

Это работало со следующими изменениями: double [] [] pqr = {ArrayUtils.toPrimitive (yList.toArray (новый Double [0])), ArrayUtils.toPrimitive (xList.toArray (новый Double [0]))}; simpleRegression.addData (pqr);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...