линейная регрессия в Java, аналогичная в R

Возможный дубликат:
   Существует ли библиотека Java для улучшения линейных регресс? (Например, итеративно редуцированные наименьшие квадраты)

У меня есть следующий код inf R, но мне нужно реализовать одно и то же в java. Я не очень точен по математике, поэтому мне нужна помощь.

test_trait <- c( -0.48812477 , 0.33458213, -0.52754476, -0.79863471, -0.68544309, -0.12970239,  0.02355622, -0.31890850,0.34725819 , 0.08108851)

geno_A <- as.factor(c("Sub_0001"=1, "Sub_0002"=0, "Sub_0003"=1, "Sub_0004"=2, "Sub_0005"=0, "Sub_0006"=0, "Sub_0007"=1, "Sub_0008"=0, "Sub_0009"=1, "Sub_0010"=0))

geno_B <- as.factor(c("Sub_0001"=0, "Sub_0002"=0, "Sub_0003"=0, "Sub_0004"=1, "Sub_0005"=1, "Sub_0006"=0, "Sub_0007"=0, "Sub_0008"=0, "Sub_0009"=0, "Sub_0010"=0) )

fit <- lm(test_trait ~ geno_A*geno_B)
res <- anova(fit)
p.value <- res[3,5]

Изменить 1: Я проверил библиотеку Apache Commons Math перед публикацией этого вопроса и проверил Есть ли библиотека Java для лучшей линейной регрессии? (Например, итеративно редуцированные наименьшие квадраты) , но моя проблема в том, что я не мог определить, является ли мой случай простой линейной регрессией или множественной.

test_trait contains height expressed from genetic trait geno_A and geno_B. geno_A and geno_B are alleles.

0
nl ja de
попробуйте выполнить ответ
добавлено автор TheWhiteRabbit, источник
я не знаю, является ли это простой линейной регрессией или множественной.
добавлено автор World, источник

2 ответы

Googling для java linear regression приводит меня к ряду интересных ссылок, среди которых этот SO-вопрос:

Существует ли библиотека Java для улучшения линейных регресс? (Например, итеративно редуцированные наименьшие квадраты)

2
добавлено

Линейная регрессия y = a + b * x может быть вычислена с использованием следующих уравнений:

b = (n*Σ(X*Y) - (ΣX)*(ΣY))/(n*Σ(X^2) - (ΣX)^2)
a = (ΣY - b*(ΣX))/n

Здесь Σ (A) - сумма всех доступных значений A, а n - число этих значений (число X, Y пар).

Собственная реализация может быть предпочтительной, если регрессия должна выполняться непосредственно в ваших пользовательских структурах данных. Библиотеке потребуется передать структуры данных, которые она поддерживает, что может потребовать либо клонирования большого количества данных, либо проектирования структур данных в субоптимальном виде.

С другой стороны, если объем данных невелик или double [] является достаточно хорошей структурой для вашего проекта,

0
добавлено
Вероятно, для этого есть несколько библиотек Java, поэтому, вероятно, нет необходимости изобретать колесо. Ссылка SO, которую я связал, уже упоминает некоторые параметры.
добавлено автор Paul Hiemstra, источник
Линейная регрессия, безусловно, достойна библиотеки, было бы пустой тратой времени на повторное внедрение того, что уже было запрограммировано. Эта же библиотека, вероятно, также имеет функцию вычисления среднего значения. Кроме того, библиотеки, на которые я ссылаюсь ниже, являются Java-библиотеками, а не R. Изучение того, как подключать Java и R, само по себе интересно, так как в R.
добавлено автор Paul Hiemstra, источник
Найдя библиотеку для вычисления регрессии, можно запросить библиотеку для вычисления среднего значения. Существует определенный порог сложности для обоснования использования библиотеки, особенно если эта библиотека написана на другом языке.
добавлено автор h22, источник
SimpleRegression от Apache Commons вероятно, может использоваться для случаев, которые не требуют особого подхода.
добавлено автор h22, источник
pro.jvm
pro.jvm
3 503 участник(ов)

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш сайт: projvm.com projvm.ru Наш канал: @proJVM Вакансии: @jvmjobs Конфы: @jvmconf

Java & Co
Java & Co
2 370 участник(ов)

Можно обсуждать с матом и без всё, что касается жабы, вплоть до холиваров. НЕ ИМЕЕТ ОТНОШЕНИЯ К САЙТУ JAVARUSH.RU ПРАВИЛА - https://t.me/javarush/75723 Вакансии сюда - https://telegram.me/joinchat/B7IzvUCnfo6d8t3yIxKguQ По вопросам - @thedude

learn.java
learn.java
1 888 участник(ов)

Чат для начинающих и не только Статистика: https://combot.org/chat/-1001083535868 Основной чат - @jvmchat

Java Underground
Java Underground
169 участник(ов)

https://vk.com/javatutorial

Javanese Questions
Javanese Questions
109 участник(ов)

Чат предназначен для обмена знаниями строго в формате в вопрос-ответ. Тема — Java, Kotlin и Android. Вопрос должен быть предварительно прогуглен, понятно и грамотно сформулирован, помечен хэштегами. Ответ — тем более. Куски кода размером в несколько строк можно писать прямо здесь, для больших кусков кода стоит использовать http://gist.github.com/, http://pastebin.com/, https://codeshare.io/ или любой аналогичный сервис. В некоторых случаях можно прикреплять скриншоты. Стикеры и гифки запрещены. Дополнять и уточнять вопросы и ответы — редактированием исходного сообщения. Обсуждения должны приводить к редактированию вопроса/ответа и удаляться. По хештегам можно искать существующие вопросы и овтеты: #вопрос #ответ #git #generics #java #server #awt #javafx #swing #kotlin #anko #tornadofx #ktor #android #recyclerView #performance #arch #network #permissions #storage #async