最小二乘C#库

19

我想进行多项式最小二乘回归,并寻找一个C#库来为我进行计算。

我会传入数据点和多项式的次数(2阶,3阶等),它将返回常数值C0、C1、C2等或计算得出的预测值。

注意:我使用最小二乘法创建一些磁盘使用情况、数据库大小和表大小的预测报告。


我线性最小二乘解决方案的链接 简单的API,解决线性最小二乘问题。 - andrei.ciprian
4个回答

13

2
如果是这样,我编写了一个解决方案:http://procbits.com/2011/05/02/linear-regression-in-c-sharp-least-squares/ - JP Richardson
3
我在archive.org上找到了一个链接,原始的C#代码可以在这里找到:http://web.archive.org/web/20091004001612/http://www.trentfguidry.net/post/2009/08/01/Linear-Regression-of-Polynomial-Coefficients.aspx... 它完美地工作,并且所有必需的子链接文章都已经存在。 - dodgy_coder
1
@JP 不好意思,我可能有点无知,但是你的解决方案不就是一个简单的线性回归吗(即 y = a + bx)?我认为 OP 需要一个多项式曲线拟合,例如 y = a + bx + cx^2 + dx^3? - dodgy_coder
4
虽然这个链接可能回答了问题,但最好包含答案的关键部分并提供链接作为参考。仅有链接的答案如果链接页面发生更改就会变得无效。 - BMW
@dodgy_coder 是的,你说得对。我不确定我怎么会漏掉那个。 - JP Richardson
显示剩余2条评论

1
通常情况下,您需要一个“优化器”或“最小化器”。请参见{{link1:http://en.wikipedia.org/wiki/Optimization_(mathematics)#Solvers}}以获取一些示例。我看到第一个链接(http://en.wikipedia.org/wiki/IMSL_Numerical_Libraries)声称支持c#。

编辑:对于您提出的有限使用(线性或二次多项式),您可以直接访问 Numerical Recipies 的任何副本,获取一个简单的实现,并将其翻译成您的语言。通用最小化器过于复杂。

但请注意,多项式可能是较差的预测器。


1

0

你可能想要查看alglib。它是用C++编写的而不是C#,但你可能可以为其编写一个包装器。


我刚刚注意到Alglib支持C#库,使用100%托管代码。 - Mark Lakata

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接