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

时间:2018-03-11 20:10:57

标签: c# linear-regression accord.net

我使用Accord.NET在C#中使用多元线性回归,我按照这个例子,该方法需要2个参数输入,这是一个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 : 'Matrix is rank deficient.'

1 个答案:

答案 0 :(得分:4)

我刚刚找到问题的解决方案,它不是输入形状问题,我不知道什么是exatly矩阵的原因是排名不足的例外,但我管理de通过添加此行使其工作

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