【问题标题】:Least Squares C# library [closed]最小二乘 C# 库 [关闭]
【发布时间】:2008-12-08 20:52:29
【问题描述】:

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

我传入数据点和多项式的次数(二阶、三阶等),它返回 C0、C1、C2 等常量值或计算值“预测”。

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

【问题讨论】:

标签: c# math numerical


【解决方案1】:

这是一个 C# 代码的链接,用于执行此操作:http://www.trentfguidry.net/post/2009/08/01/Linear-Regression-of-Polynomial-Coefficients.aspx

祝你好运!

编辑: 显然上面的链接已损坏。我不久前提出了另一个解决方案:http://procbits.com/2011/05/02/linear-regression-in-c-sharp-least-squares/

【讨论】:

  • 如果是这样,我编写了一个解决方案:procbits.com/2011/05/02/…
  • 我在这里web.archive.org/web/20091004001612/http://www.trentfguidry.net/…找到了archive.org上原始C#代码的链接......它工作得很好,并且所有需要的子链接文章都存在。
  • @JP 原谅我的无知,但您的解决方案不仅仅是一个简单的线性回归(即 y = a + bx)。我认为 OP 需要一个多项式曲线拟合,例如 y = a + bx + cx^2 + dx^3?
  • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
  • @dodgy_coder 是的,你是对的。我不知道我是怎么错过的。
【解决方案2】:

在一般情况下,您需要“优化器”或“最小化器”。有关一些示例,请参阅http://en.wikipedia.org/wiki/Optimization_(mathematics)#Solvers。我看到第一个链接 (http://en.wikipedia.org/wiki/IMSL_Numerical_Libraries) 声称支持 c#。


编辑:对于您建议的有限用途(线性或二次多项式),您可以转到 Numerical Recipies 的任何副本,直接获取实现,然后翻译成您的语言。一般的最小化器是多余的。

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

【讨论】:

    【解决方案3】:

    您可以在 GPL 许可 2.0 下查看库表格 ALGLIB。他们有 C#、C++、...的源代码。

    http://www.alglib.net/interpolation/leastsquares.php

    【讨论】:

      【解决方案4】:

      您可能想查看alglib。它使用 C++ 而不是 C#,但您可以在其上编写一个包装器。

      【讨论】:

      • 我刚刚注意到 Alglib 支持 C# 库,100% 托管代码。
      猜你喜欢
      • 2010-10-18
      • 1970-01-01
      • 2012-07-13
      • 2017-03-25
      • 1970-01-01
      • 2021-08-14
      • 1970-01-01
      • 2014-03-15
      • 2014-04-28
      相关资源
      最近更新 更多