Позвольте мне начать, сказав, что я ужасен с математикой. Я не претендую на то, чтобы быть экспертом (или даже продвинутым) математиком.
Я пытаюсь сделать этот вывод:
55,55
55,55
340,340
333,333
41,41
71,141
143,133
121,122
12,16
И из этих значений (x, y) производят следующее:
Slope (b): 0.96112312980002
Regression line equation: y=12.280535000464+0.96112312980002x
Correlation coefficient (r): 0.98120789611439
Я использовал этот сайт для расчета приведенных выше значений, которые можно найти здесь. Любая помощь в этом вопросе была бы весьма признательна. Я попытался использовать фрагмент для этого в stackoverflow, найденный здесь, однако результаты являются мрачными. Может ли кто-нибудь указать мне способ расчета этих вещей через библиотеку или даже собственный класс?
Меня интересует значение коэффициента корреляции.
Класс Apache Commons Math SimpleRegression
делает все.
Вы используете addData()
для ввода значений x и y. Вы используете getSlope()
и getIntercept()
чтобы получить уравнение линии регрессии. Вы используете getR()
для получения коэффициента корреляции.
Это не может быть проще!
Проверьте Apache Commons PearsonsCorrelation! (http://commons.apache.org/proper/commons-math/apidocs/org/apache/commons/math3/stat/correlation/PearsonsCorrelation.html)