From f564b4489037188465b7ed98c12f8215c822c7f1 Mon Sep 17 00:00:00 2001 From: Eilert Tunheim <emtunhei@stud.ntnu.no> Date: Wed, 20 Apr 2022 16:17:23 +0200 Subject: [PATCH] runnable regression, but the output is wrong --- .../GUI/LineChartFunctionality.java | 51 +++++++++++++++++- .../GUI/LineChartFunctionality.class | Bin 8996 -> 10227 bytes 2 files changed, 50 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/application/GUI/LineChartFunctionality.java b/src/main/java/com/application/GUI/LineChartFunctionality.java index badbc92..d5d3eb9 100644 --- a/src/main/java/com/application/GUI/LineChartFunctionality.java +++ b/src/main/java/com/application/GUI/LineChartFunctionality.java @@ -116,6 +116,7 @@ public class LineChartFunctionality { index += 1; } updateLineChart(newSeries); + lineChart.setOpacity(0.5); } // Stores the data from the confidence interval in a new map @@ -129,23 +130,71 @@ public class LineChartFunctionality { } } + // Defines an array to be used for the regression double[][] data = new double[confidenceIntervalData.size()][jMaxSize]; System.out.println(confidenceIntervalData); for (int i = 0; i < confidenceIntervalData.size(); i++) { + ArrayList<Double> list = confidenceIntervalData.get(i); + + System.out.println(list.size()); for (int j = 0; j < list.size(); j++) { - data[i][j] += list.get(j); + data[i][j] = list.get(j); + } + + for (int j = 0; j < data[i].length; j++) { + System.out.println("data[i][j]: "+data[i][j]); + if(data[i][j] == 0.0){ + double sum = 0.0; + double index = 0.0; + for (int k = 0; k < list.size(); k++) { + if(data[i][k] != 0.0){ + sum += data[i][k]; + index += 1; + } + } + System.out.println("sum/index: "+ sum/index); + data[i][j] = sum/index; + } } } + System.out.println(data.length); System.out.println(data[12][1]); SimpleRegression simpleRegression = new SimpleRegression(); simpleRegression.addData(data); + simpleRegression.regress(); + + + for (double[] datum : data) { + System.out.println(""); + for (double v : datum) { + System.out.println(v); + } + } + + + + XYChart.Series<String, Number> regressionSeries = new XYChart.Series<String, Number>(); + for (int i = 0; i < simpleRegression.getN(); i++) { + + // Connect the data to a series + System.out.println(simpleRegression.predict(i)); + regressionSeries.getData().add(new XYChart.Data<String, Number>(String.valueOf(i), simpleRegression.predict(i))); + } + updateLineChart(regressionSeries); + lineChart.setOpacity(1); + + System.out.println("Get R: " + simpleRegression.getR()); + System.out.println("Get getRSquare: " + simpleRegression.getRSquare()); + System.out.println("Get getRegressionSumSquares: " + simpleRegression.getRegressionSumSquares()); + + System.out.println("Get N: " + simpleRegression.getN()); // and then you can predict the time at a given temperature value System.out.println("Predicted Time: " + simpleRegression.predict(35)); diff --git a/target/classes/com/application/GUI/LineChartFunctionality.class b/target/classes/com/application/GUI/LineChartFunctionality.class index b70f1f5ff9795af6291e177c4daa94c56eb5bae4..30aa13c4fd74adfb7823e3ea88c92328da5dd2da 100644 GIT binary patch delta 4100 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 delta 2912 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 NMt(3$l~IjR9RR92O2hyF -- GitLab