Ява - Матрица единственного числа
У меня есть этот код:
OLSMultipleLinearRegression regression = new OLSMultipleLinearRegression();
double[] consumptions = new double[vec.size()];
double[][] x = new double[(int) (trainPart * vec.size())][3];
while (it_vec.hasNext() ) {
Vector<Double> tmp = new Vector<Double>();
tmp = it_vec.next();
if (count < trainPart * (vec.size())) {
consumptions[count] = tmp.get(0);
x[count] = new double []{tmp.get(1), tmp.get(4), season(tmp.get(5))};
} else {
//do something else
}
count++;
}
regression.newSampleData(consumptions, x);
double[] coeff = regression.estimateRegressionParameters();
Я экономлю потребление электроэнергии (двойной) в массив consumptions
в while
цикл. массив x
держит три двойника, это: x[count] = new double []{tmp.get(1), tmp.get(4), season(tmp.get(5))};
, tmp.get(1)
это час дня, tmp.get(4)
1,0 или 0,0 (1,0, если выходные дни), season(tmp.get(5))
верните 1,0 или 0,0 (1,0, если есть зимние месяцы). Ошибка, которую я получаю в последней строке: matrix is singular
,
Я знаю, что матрица единственная, если определитель равен нулю, но у меня много наблюдений. Кто-нибудь знает, где может быть проблема? Спасибо Дэниел