diff --git a/src/main/java/com/application/GUI/LineChartFunctionality.java b/src/main/java/com/application/GUI/LineChartFunctionality.java
index 29d61ae03de5354e6c3756e79ba94e41603aa299..badbc9278694c10a57bb7d7f86530ab10a745000 100644
--- a/src/main/java/com/application/GUI/LineChartFunctionality.java
+++ b/src/main/java/com/application/GUI/LineChartFunctionality.java
@@ -8,6 +8,7 @@ import javafx.scene.chart.XYChart;
 import org.apache.commons.math3.distribution.TDistribution;
 import org.apache.commons.math3.exception.MathIllegalArgumentException;
 import org.apache.commons.math3.stat.descriptive.SummaryStatistics;
+import org.apache.commons.math3.stat.regression.SimpleRegression;
 
 import java.util.*;
 
@@ -110,7 +111,6 @@ public class LineChartFunctionality {
                 multiMap.computeIfAbsent(index, k -> new ArrayList<Double>());
                 multiMap.get(index).add(kwhValue);
 
-
                 // Connect the data to a series
                 newSeries.getData().add(new XYChart.Data<String, Number>(String.valueOf(index), kwhValue));
                 index += 1;
@@ -118,9 +118,43 @@ public class LineChartFunctionality {
             updateLineChart(newSeries);
         }
 
+        // Stores the data from the confidence interval in a new map
         Map<Integer, ArrayList<Double>> confidenceIntervalData = statistics(multiMap);
 
+        // Checks the max size for the arraylists needed for the data array later
+        int jMaxSize = 0;
+        for (int i = 0; i < confidenceIntervalData.size(); i++) {
+            if(confidenceIntervalData.get(i).size() > jMaxSize){
+                jMaxSize = confidenceIntervalData.get(i).size();
+            }
+        }
+
+        // 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);
+            for (int j = 0; j < list.size(); j++) {
+                data[i][j] += list.get(j);
+            }
+        }
+
+        System.out.println(data.length);
+        System.out.println(data[12][1]);
+
+        SimpleRegression simpleRegression = new SimpleRegression();
+
+        simpleRegression.addData(data);
+
+        // and then you can predict the time at a given temperature value
+        System.out.println("Predicted Time: "  + simpleRegression.predict(35));
+
+        // You can also get the slope and intercept from your data
+        System.out.println("slope = " + simpleRegression.getSlope());
+        System.out.println("intercept = " + simpleRegression.getIntercept());
+
+        //simpleRegression.add
 
         return getLineChart();
     }
diff --git a/target/classes/com/application/GUI/LineChartFunctionality.class b/target/classes/com/application/GUI/LineChartFunctionality.class
index a7c6a67ecc6871b6999f49cf884d5f375c5ac204..b70f1f5ff9795af6291e177c4daa94c56eb5bae4 100644
Binary files a/target/classes/com/application/GUI/LineChartFunctionality.class and b/target/classes/com/application/GUI/LineChartFunctionality.class differ