Problem with regression

A discussion forum for JFreeChart (a 2D chart library for the Java platform).
Locked
krzyh
Posts: 6
Joined: Tue Jun 07, 2005 11:56 pm

Problem with regression

Post by krzyh » Thu Jun 16, 2005 10:45 am

Hi.
I tried to do some linear regression.

Code: Select all

    private XYDataset createDataset(){
        TimeSeriesCollection dataset = new TimeSeriesCollection();
        TimeSeries s = new TimeSeries("seria 1", Minute.class);
        long t = System.currentTimeMillis();
        Random r = new Random(t);
        for (int i=0; i<4;i++){       
            s.add(new Minute(new Date(t)),i+2);
            t+=60*1000;
        }

        dataset.addSeries(s);   
        TimeSeries sreg =  new TimeSeries("Regression", Minute.class);
 
     
        double[] reg = Regression.getOLSRegression(dataset,0);
   
        System.out.println("Regression parameters: " + reg[0] + ", " + reg[1]);
  
        Iterator i = s.getItems().iterator();
        while (i.hasNext()){
            TimeSeriesDataItem timeSeriesDataItem = (TimeSeriesDataItem)i.next();
            sreg.add(
                    timeSeriesDataItem.getPeriod(),
                    reg[0]*timeSeriesDataItem.getValue().doubleValue()+reg[1]   );
            System.out.println("Adding value " + 
                    (reg[0]*timeSeriesDataItem.getValue().doubleValue()+reg[1]) + " from (" + 
                    timeSeriesDataItem.getValue().doubleValue() + " , " + timeSeriesDataItem.getPeriod() + " ) "  
                    );
        }
        
        dataset.addSeries(sreg);
        return dataset;
    }
It should be reg[0] = 2 and reg[1] = 0, but I have:

Code: Select all

Regression parameters: -1.8389483317314345E7, 1.643510425792021E-5
Adding value -3.6778966634612255E7 from (2.0 , Thu Jun 16 11:44:00 CEST 2005 ) 
Adding value -5.5168449951926604E7 from (3.0 , Thu Jun 16 11:45:00 CEST 2005 ) 
Adding value -7.355793326924095E7 from (4.0 , Thu Jun 16 11:46:00 CEST 2005 ) 
Adding value -9.194741658655529E7 from (5.0 , Thu Jun 16 11:47:00 CEST 2005 )  
What is wrong ??
I'm using jfree1.0.0.rc1

Locked