在Math.Net MultipleRegression中使用Matrix和Vector类型

时间:2017-12-27 04:21:39

标签: c# matrix vector linear-regression mathdotnet

我已经声明了MathNet矩阵和Vector类型如下......

Matrix<double> X = Matrix<double>.Build.Dense(sampleSize,2);
Vector<double> yObserved = Vector<double>.Build.Dense(sampleSize);

但是当我打电话时......

Vector<double> p = MultipleRegression.NormalEquations(X, yObserved, true);

Visual Studio提供错误

  

错误CS0411无法从用法推断出方法'MultipleRegression.NormalEquations(T [] [],T [],bool)'的类型参数。尝试明确指定类型参数。

那么如果不是这样的话,我怎么想用Matrix和Vector参数调用MultipleRegression类呢?为什么Visual Studio发现我的类型编码含糊不清?

我的代码工作正常,矩阵的锯齿状数组;现在我想让它运行Matrix / Vector类型。

1 个答案:

答案 0 :(得分:1)

MultipleRegression.NormalEquations()的重载只有MatrixVector参数集组合的2个参数。

添加布尔参数会让人感到困惑,并使其认为您正在尝试提供T[][], T[], bool而不是Matrix, Vector的参数。

我不知道拦截意味着什么,但是如果没有它,你将不得不研究它的作用。将参数转换为T[][]T[],或者在没有布尔值的情况下调用它(见下文)。

var p = MultipleRegression.NormalEquations(X, yObserved);

OR

var p = MultipleRegression.NormalEquations<double>(X, yObserved);