矩阵秩不足,多元线性回归Accord.NET

3

我正在使用Accord.NET在C#中进行多元线性回归,我按照示例进行了操作,该方法需要两个参数输入,即2D数组和1D数组的输出,这两个数组必须具有相同的长度。

 public static double[] RegressionLineaire(double[][]input,double[]output)
    {
        double[] coeff = new double[40];
        var ols = new OrdinaryLeastSquares();
        {
            ols.UseIntercept = true;
        };
        Console.WriteLine("inputs length = " + input.Length + " outputs 
        length = " + output.Length);
        MultipleLinearRegression regression = ols.Learn(input, output);
        
        coeff = regression.Weights;

        return coeff;
    }

输入和输出具有相同的长度,但是我遇到了这个异常:

System.InvalidOperationException : '矩阵秩不足。'


2
这里检查您的输入是否满足条件。 - jsanalytics
1个回答

4

我刚刚找到了解决这个问题的方法,它并不是一个输入形状的问题,我不知道造成矩阵秩不足异常的确切原因,但是我通过添加这行代码成功地解决了它。

var ols = new OrdinaryLeastSquares();
    {
        ols.UseIntercept = true;
        ols.IsRobust = true;
    };

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