|
jfreechart example source code file (RegressionTests.java)
The jfreechart RegressionTests.java source code/* =========================================================== * JFreeChart : a free chart library for the Java(tm) platform * =========================================================== * * (C) Copyright 2000-2008, by Object Refinery Limited and Contributors. * * Project Info: http://www.jfree.org/jfreechart/index.html * * This library is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This library is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * [Java is a trademark or registered trademark of Sun Microsystems, Inc. * in the United States and other countries.] * * -------------------- * RegressionTests.java * -------------------- * (C) Copyright 2002-2008, by Object Refinery Limited and Contributors. * * Original Author: David Gilbert (for Object Refinery Limited); * Contributor(s): -; * * Changes * ------- * 30-Sep-2002 : Version 1 (DG); * 17-Oct-2002 : Fixed errors reported by Checkstyle (DG); * */ package org.jfree.data.statistics.junit; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; import org.jfree.data.statistics.Regression; import org.jfree.data.xy.XYDataset; import org.jfree.data.xy.XYSeries; import org.jfree.data.xy.XYSeriesCollection; /** * Tests for the {@link Regression} class. */ public class RegressionTests extends TestCase { /** * Returns the tests as a test suite. * * @return The test suite. */ public static Test suite() { return new TestSuite(RegressionTests.class); } /** * Constructs a new set of tests. * * @param name the name of the tests. */ public RegressionTests(String name) { super(name); } /** * Checks the results of an OLS regression on sample dataset 1. */ public void testOLSRegression1a() { double[][] data = createSampleData1(); double[] result1 = Regression.getOLSRegression(data); assertEquals(.25680930, result1[0], 0.0000001); assertEquals(0.72792106, result1[1], 0.0000001); } /** * Checks the results of an OLS regression on sample dataset 1 AFTER * converting it to an XYSeries. */ public void testOLSRegression1b() { double[][] data = createSampleData1(); XYSeries series = new XYSeries("Test"); for (int i = 0; i < 11; i++) { series.add(data[i][0], data[i][1]); } XYDataset ds = new XYSeriesCollection(series); double[] result2 = Regression.getOLSRegression(ds, 0); assertEquals(.25680930, result2[0], 0.0000001); assertEquals(0.72792106, result2[1], 0.0000001); } /** * Checks the results of a power regression on sample dataset 1. */ public void testPowerRegression1a() { double[][] data = createSampleData1(); double[] result = Regression.getPowerRegression(data); assertEquals(0.91045813, result[0], 0.0000001); assertEquals(0.88918346, result[1], 0.0000001); } /** * Checks the results of a power regression on sample dataset 1 AFTER * converting it to an XYSeries. */ public void testPowerRegression1b() { double[][] data = createSampleData1(); XYSeries series = new XYSeries("Test"); for (int i = 0; i < 11; i++) { series.add(data[i][0], data[i][1]); } XYDataset ds = new XYSeriesCollection(series); double[] result = Regression.getPowerRegression(ds, 0); assertEquals(0.91045813, result[0], 0.0000001); assertEquals(0.88918346, result[1], 0.0000001); } /** * Checks the results of an OLS regression on sample dataset 2. */ public void testOLSRegression2a() { double[][] data = createSampleData2(); double[] result = Regression.getOLSRegression(data); assertEquals(53.9729697, result[0], 0.0000001); assertEquals(-4.1823030, result[1], 0.0000001); } /** * Checks the results of an OLS regression on sample dataset 2 AFTER * converting it to an XYSeries. */ public void testOLSRegression2b() { double[][] data = createSampleData2(); XYSeries series = new XYSeries("Test"); for (int i = 0; i < 10; i++) { series.add(data[i][0], data[i][1]); } XYDataset ds = new XYSeriesCollection(series); double[] result = Regression.getOLSRegression(ds, 0); assertEquals(53.9729697, result[0], 0.0000001); assertEquals(-4.1823030, result[1], 0.0000001); } /** * Checks the results of a power regression on sample dataset 2. */ public void testPowerRegression2a() { double[][] data = createSampleData2(); double[] result = Regression.getPowerRegression(data); assertEquals(106.1241681, result[0], 0.0000001); assertEquals(-0.8466615, result[1], 0.0000001); } /** * Checks the results of a power regression on sample dataset 2 AFTER * converting it to an XYSeries. */ public void testPowerRegression2b() { double[][] data = createSampleData2(); XYSeries series = new XYSeries("Test"); for (int i = 0; i < 10; i++) { series.add(data[i][0], data[i][1]); } XYDataset ds = new XYSeriesCollection(series); double[] result = Regression.getPowerRegression(ds, 0); assertEquals(106.1241681, result[0], 0.0000001); assertEquals(-0.8466615, result[1], 0.0000001); } /** * Creates and returns a sample dataset. * <P> * The data is taken from Table 11.2, page 313 of "Understanding Statistics" * by Ott and Mendenhall (Duxbury Press). * * @return The sample data. */ private double[][] createSampleData1() { double[][] result = new double[11][2]; result[0][0] = 2.00; result[0][1] = 1.60; result[1][0] = 2.25; result[1][1] = 2.00; result[2][0] = 2.60; result[2][1] = 1.80; result[3][0] = 2.65; result[3][1] = 2.80; result[4][0] = 2.80; result[4][1] = 2.10; result[5][0] = 3.10; result[5][1] = 2.00; result[6][0] = 2.90; result[6][1] = 2.65; result[7][0] = 3.25; result[7][1] = 2.25; result[8][0] = 3.30; result[8][1] = 2.60; result[9][0] = 3.60; result[9][1] = 3.00; result[10][0] = 3.25; result[10][1] = 3.10; return result; } /** * Creates a sample data set. * * @return The sample data. */ private double[][] createSampleData2() { double[][] result = new double[10][2]; result[0][0] = 2; result[0][1] = 56.27; result[1][0] = 3; result[1][1] = 41.32; result[2][0] = 4; result[2][1] = 31.45; result[3][0] = 5; result[3][1] = 30.05; result[4][0] = 6; result[4][1] = 24.69; result[5][0] = 7; result[5][1] = 19.78; result[6][0] = 8; result[6][1] = 20.94; result[7][0] = 9; result[7][1] = 16.73; result[8][0] = 10; result[8][1] = 14.21; result[9][0] = 11; result[9][1] = 12.44; return result; } } Other jfreechart examples (source code examples)Here is a short list of links related to this jfreechart RegressionTests.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.