2013-08-18 2 views
0

Хорошо, у меня есть список удвоений, которые я сначала хочу использовать в качестве данных для регрессии, а затем сравнить наблюдение с соответствующим значением оценки (стандартная ошибка).Линейная регрессия, ошибка стандартной ошибки

Но, когда я использую SimpleRegression, он просто записывает 2 параметра (я предполагаю первый и последний), поэтому, когда я пытаюсь проверить стандартную ошибку, я получаю исключение OutOfRangeException.

Что я делаю неправильно? Должен ли я использовать что-то другое, чем SimpleRegression? Кажется странным, что он не хранит каждую (x, y) пару оценок в переменной RegressionResults.

Вот мой код

//Linear Least Squares method 
    SimpleRegression regression = new SimpleRegression(); 

    for (int i = 0; i < list.size(); i++) { 
     regression.addData(i, list.get(i)); 
    } 
    //I want to see how much a certain max differs from its estimate value. 
    int indexOfTop = list.indexOf(secondTop); 
    RegressionResults results = regression.regress(); 

    //How much this calculated top differ from the regression line 

    double errorOfEstimate = 0; 
    try { 
     System.out 
       .println("Parameters: " + results.getNumberOfParameters()); 
     errorOfEstimate = results.getStdErrorOfEstimate(indexOfTop); 
    } catch (OutOfRangeException e) { 
     System.out.println(e); 
    } 

ответ

0

Но, когда я использую SimpleRegression это только записей 2 параметра (я угадывание первый и последний), поэтому, когда я пытаюсь проверить стандарт error Я получаю исключение OutOfRangeException.

Вы оценка только два параметра, X и Y для простой регрессии, если вы хотите, чтобы увидеть, сколько образцов вы добавили проверку getN() метода http://commons.apache.org/proper/commons-math/apidocs/org/apache/commons/math3/stat/regression/RegressionResults.html#getN()

Что я делаю неправильно? Должен ли я использовать что-то еще, чем SimpleRegression? Кажется странным, что он не хранит пару оценок (x, y) в переменной RegressionResults.

Я думаю, что вы хотите получить прогноз и сравнить с вашим наблюдением, то, что объясняется здесь http://commons.apache.org/proper/commons-math/userguide/stat.html#a1.4_Simple_regression

+0

Вы знаете, что я могу использовать, чтобы иметь более двух параметров, как оценки тогда? Мне нужна оценка для каждой точки наблюдения, которую я добавил в основном. Редактировать: Поцарапать это, я дурак. Очевидно, я могу использовать линейную функцию, просто добавляя x-значение ... Slope * x + intercept! Спасибо за помощь! – user2188724