多维多项式回归(最好是 C/C++、Java 或 Scala)

Posted

技术标签:

【中文标题】多维多项式回归(最好是 C/C++、Java 或 Scala)【英文标题】:Multidimensional polynomial regression (preferably C/C++, Java or Scala) 【发布时间】:2011-07-04 11:59:31 【问题描述】:

给定一组具有 N 个独立值和 1 个依赖值的 (N+1) 维实值向量,我想计算一个 1(线性)、2(二次)或更高阶的多项式,它提供了一个相当好的拟合(例如,由最小二乘误差确定)。换句话说,当应用于集合的元素时,多项式应该将每个独立值映射到相关的依赖值(具有一些合理的误差范围)。

我希望自变量的维度在 2..8 范围内,并适用于 20..200 个元素的集合。我希望以毫秒而不是秒来拟合多项式。 :-)

我很快就找到了适用于一维数据的多项式回归算法,但我还没有想出任何适用于多维数据的实用方法。我主要对算法描述或源代码感兴趣。有什么指点吗?

【问题讨论】:

您可能想尝试在stats.stackexchange.com 上提问。 【参考方案1】:

您可能想探索Weka 数据挖掘和机器学习平台 - 它非常全面,包括各种不同的回归算法。

一个很大的好处是它都是开源的,所以如果你愿意,你也可以研究代码。

【讨论】:

我正打算写一样的。 你知道Weka中多维多项式回归的分类器名称是什么吗?我只是找不到它:S【参考方案2】:

我一直在寻找相同的代码,我发现了两个很好的例子。

见 net.sourceforge.openforecast

具体看PolynomialRegressionModel类作为起点

还有一个简单的单类实现,它专为比您提到的更大的数据集而设计

http://blog.locut.us/2009/11/14/polynomial-regression-on-a-large-dataset-in-java/

【讨论】:

PolynomialRegressionModel 引用的类只做单变量回归。

以上是关于多维多项式回归(最好是 C/C++、Java 或 Scala)的主要内容,如果未能解决你的问题,请参考以下文章

Machine Learning_Ng 第四讲 多变量线性回归

机器学习|多变量线性回归 | 吴恩达学习笔记

怎样用SPSS做二次多项式回归方程

特征与多项式回归

多项式回归

python 回归线性(或多项式)