I have:
Exception in thread "main" java.lang.NullPointerException
at net.sourceforge.openforecast.models.WeightedMovingAverageModel.getNumberOfPeriods(WeightedMovingAverageModel.java:222)
at net.sourceforge.openforecast.models.MovingAverageModel.init(MovingAverageModel.java:138)
at net.sourceforge.openforecast.Forecaster.getBestForecast(Forecaster.java:190)
at net.sourceforge.openforecast.Forecaster.getBestForecast(Forecaster.java:70)
at Test.main(Test.java:38)
Mo code is:
DataSet dataSet = new DataSet();
dataSet.setTimeVariable("t");
dataSet.setPeriodsPerYear(4);
// Create Observation for quarter 1
Observation observationQ1 = new Observation(1);
observationQ1.setIndependentValue("t", 1);
// Create Observation for quarter 2
Observation observationQ2 = new Observation(2);
observationQ2.setIndependentValue("t", 2);
// Create Observation for quarter 3
Observation observationQ3 = new Observation(10);
observationQ3.setIndependentValue("t", 3);
// Create Observation for quarter 3
Observation observationQ4 = new Observation(11);
observationQ4.setIndependentValue("t", 4);
// Add Observations to the DataSet
dataSet.add(observationQ1);
dataSet.add(observationQ2);
dataSet.add(observationQ3);
dataSet.add(observationQ4);
ForecastingModel model = Forecaster.getBestForecast(dataSet);
model.init(dataSet);
// Create DataPoint/Observation for quarter 4
DataPoint fcDataPointQ4 = new Observation(0.0);
fcDataPointQ4.setIndependentValue("t", 5);
// Create Observation/DataPoint for quarter 5
DataPoint fcDataPointQ5 = new Observation(0.0);
fcDataPointQ5.setIndependentValue("t", 6);
// Create forecast data set and add these DataPoints
DataSet fcDataSet = new DataSet();
fcDataSet.setTimeVariable("t");
fcDataSet.setPeriodsPerYear(4);
fcDataSet.add(fcDataPointQ4);
fcDataSet.add(fcDataPointQ5);
model.forecast(fcDataSet);
Iterator it = fcDataSet.iterator();
while (it.hasNext()) {
DataPoint dp = (DataPoint) it.next();
double forecastValue = dp.getDependentValue();
// Do something with the forecast value, e.g.
System.out.println(dp);
}