linear-regression - Java非负多元线性回归库

标签 linear-regression java

我正在做一个 Java 项目,我必须计算一个多元线性回归,但我希望得到的参数是非负的。是否有现有的商业友好许可图书馆来做这样的事情?我一直在寻找非负最小二乘库,但没有成功。

最佳答案

好吧,我找不到任何纯 Java 库,所以我根据 [1] 的文章自己构建了它,可以在 [2] 和 [3] 中找到它。我给出算法:

P, R 是主动集和被动集。 t() 是转置

问题是在x>0的条件下求解Ax = b

P=null
R = {1,2,...,m}
x = 0
w = t(A)*(b-A*x)
while R<>null and max{wi|i in R}>0 do:
    j = argmax{wi|i in R}
    P = P U {j}
    R = R\{j}
    s[P] = invert[t(A[P])A[P]]t(A[P])b
    while sp<=0 do:
        a = -min{xi/(di-xi)|i in P and di<0}
        x = x + a*s -x
        update(P)
        update(R)
        sP = invert[t(A[P])A[P]]t(A[P])b
        sR = 0
    x = s
    w = t(A)*(b-A*x)
return x

对于其他定义,我强烈建议阅读在线论文 [2] 和 [3](链接见下文 ;))

[1] Lawson, C. L., & Hanson, R. J. (1974)。解决最小二乘问题(第 161 卷)。新泽西州恩格尔伍德悬崖:Prentice-hall。 [2] Rasmus Bro et Sijmen De Jong:A fast non-negativity-constrained least squares 算法。化学计量学杂志,11(5):393–401,1997。http://www.researchgate.net/publication/230554373_A_fast_non-negativity-constrained_least_squares_algorithm/file/79e41501a40da0224e.pdf [3] Donghui Chen et Robert J Plemmons:数值分析中的非负性约束。在数值分析的诞生研讨会上,第 109–140 页,2009 年。http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.157.9203&rep=rep1&type=pdf

关于linear-regression - Java非负多元线性回归库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20215499/

相关文章:

java - 我的应用程序显示 "The application may be doing too much work on its main thread.",我不知道代码的哪一部分导致了此问题

java - 序列化 ArrayList android 不起作用

python - 带加权样本的弹性净回归或套索回归(sklearn)

java - ActiveMQ 以编程方式设置传输参数

c# - 数据集的简单线性回归

algorithm - 添加新点时如何避免重复线性回归过程

java - 如何从 Firebase 下载各种类型的文件(图像、视频、文本)并显示它们

java - 为什么我的 Spring @Autowired 字段为空?

r - 在 R 中绘制回归线

c++ - 近正弦数据下界的(线性或多项式)回归算法