-1

我目前正在尝试在我的 Java 项目中执行多元线性回归。我已经尝试了许多不同的类,例如 OLSMultipleLinearRegression 类。但是这些类不返回我需要的参数。例如,这些是可以计算的参数,并且这些方法可以正常工作。

calculateBeta()
calculateBetaVariance()
calculateHat()
calculateResidualSumOfSquares()
calculateRSquared()
calculateTotalSumOfSquares()

但我正在尝试计算系数!

在这里你可以看到我的参数和预期的结果:
在这里你可以看到我的参数和预期的结果

也许有人知道如何执行包含系数计算的 MLR……谢谢大家!

4

1 回答 1

0

您可以使用calculateBeta()(不幸的是,这是受保护的)

class Test {
    public static void main(String[] args)  {
        System.out.println(new TestData());
    }
}

所以你必须使用一个技巧......

import org.apache.commons.math3.stat.regression.OLSMultipleLinearRegression;

public class TestData extends OLSMultipleLinearRegression {
    public TestData() {
        double[] y = {5.6, 5.44, 4.57, 4.78, 4.25, 5.31, 5.24, 5.12, 4.58, 5.18};
        double[][] x = {{3.17, 26.348}, {3.65, 24.198}, {3.28, 25.085}, {3.37, 22.461},
                {2.57, 23.740}, {3.60, 24.786}, {3.50, 23.374}, {2.98, 23.725},
                {2.54, 23.227}, {3.41, 26.920}};
        this.newSampleData(y,x);
    }

    @Override
    public String toString() {
        return this.calculateBeta().toString();
    }
}
于 2022-01-31T10:28:22.613 回答