多维多项式回归(最好是 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)的主要内容,如果未能解决你的问题,请参考以下文章