我正在使用 Math.NET 执行简单的线性回归。
我在下面提供了一个通用代码示例。除了这个例子,可以使用 Fit 类进行简单的线性回归。
我另外想要的是指定额外的约束,如固定的 y 截距或强制拟合通过一个固定点,例如 (2, 2)。如何在 Math.NET 中实现这一点?
var xdata = new double[] { 10, 20, 30 };
var ydata = new double[] { 15, 20, 25 };
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];