gpt4 book ai didi

c# - Math.Net 数值中的多元回归

转载 作者:太空宇宙 更新时间:2023-11-03 11:10:39 24 4
gpt4 key购买 nike

我使用 math.net 回归方法实现了简单的单一回归,如下所示:

var xdata = new double[] { 10, 20, 30, 40, 50 };
var ydata = new double[] { 15, 20, 25, 55, 95 };

var X = DenseMatrix.CreateFromColumns(new[] { new DenseVector(xdata.Length, 1), new DenseVector(xdata) });
var y = new DenseVector(ydata);

var p = X.QR().Solve(y);
var a = p[0];
var b = p[1];

MessageBox.Show(a.ToString(), "Test");
MessageBox.Show(b.ToString(), "Test");

问题是:我可以用这种方法应用多元回归吗?所以,我还有 zdata 数组,我想将其用于多元回归。

最佳答案

此表单,如 Linear Regression With Math.NET Numerics 中所述, 在技术上已经是多元线性回归。

假设你有数据点((uj,vj),yj)而不是(xj,yj),你可以映射x在构建 X 矩阵时相应地添加到元组 u,v。因此单元格 X[i,j] 将代替 fi(xj) 被评估为 fi(uj,vj)

例如,对于由 y=a+b*u+c*v 给出的空间线的线性回归,您最终会得到:

  • p1 = a, f1 : u,v -> 1
  • p2 = b, f2 : u,v -> u
  • p3 = c, f3 : u,v -> v

因此完整的系统:

|y1|   |1  u1  v1|   |a|
|y2| = |1 u2 v2| * |b|
|..| |.. .. ..| |c|
|yM| |1 uM vM|

如果不清楚这在实际代码中如何工作,或者不是您要查找的内容,请发表评论。

关于c# - Math.Net 数值中的多元回归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14192688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com