Вы пытались создать Covariance matrix directly from your data?
new Covariance().computeCovarianceMatrix(data)
Используя информацию в комментарии, мы знаем, что существует 3 независимых, 1 зависимых переменных и 200 выборок. Это означает, что у вас будет массив данных с 4 столбцами и 200 строками. Конечный результат будет выглядеть примерно так (печатая все в явном виде для того, чтобы попытаться объяснить, что я имею в виду):
double [] data = new double [4][];
data[0] = new double[]{y[0], x[0][0], x[1][0], x[2][0]};
data[1] = new double[]{y[1], x[0][1], x[1][1], x[2][1]};
data[2] = new double[]{y[2], x[0][2], x[1][2], x[2][2]};
// ... etc.
data[199] = new double[]{y[199], x[0][199], x[1][199], x[2][199]};
Covariance covariance = new Covariance().computeCovarianceMatrix(data);
double [][] omega = covariance.getCovarianceMatrix().getData();
Затем when you're doing your actual regression, у вас есть ковариационная матрица:
MultipleLinearRegression regression = new GLSMultipleLinearRegression();
// Assumes you put your independent variables in x and dependent in y
// Also assumes that you made your covariance matrix as shown above
regression.addData(y, x, omega); // we do need covariance
Для наглядности у вас есть 200 уравнений, которые вы пытаетесь решить? –
Нет, это одно уравнение, как в y = bX + u, где у меня есть 3 независимых выходных переменных (x1, x2 и x3, как в вашем примере). Количество элементов в векторе равно 200, поэтому y - вектор 200, и поэтому x1, x2 и x3 – Bharani
@Bharani, ладно, поэтому у вас есть 200 возможных решений уравнения с тремя независимыми переменными и одним зависимым. –