signaflo / java-timeseries

Time series analysis in Java
MIT License
197 stars 49 forks source link

Testing Problem:the prediction results might be incorrect #19

Open JayVae opened 6 years ago

JayVae commented 6 years ago

@signaflo Hi Sorry to bother you. I run a Main.java according to your Wiki, the program can run.However, after I have checked the results, I found something strange: the prediction results after 2013-04-01 are all too small compared to before, so I want to assure if there is some problem in my Main.java.Below I will paste my Main.java and results so that you can better check.

Here is the Main.java: public class Main2 {

public static void main(String[] args){
    TimeSeries timeSeries = TestData.debitcards;

    ArimaOrder modelOrder = ArimaOrder.order(2, 4, 6, 0, 1, 1);

    Arima model = Arima.model(timeSeries, modelOrder);

    System.out.println(model.aic()); // Get and display the model AIC

    Forecast forecast = model.forecast(12);

    System.out.println(forecast);
}

}

Here is result: ` Date Forecast Lower 95.0% Upper 95.0%
2013-01-01T00:00 144328.7145 144222.6794 144434.7496
2013-02-01T00:00 890130.1238 889636.4510 890623.7965
2013-03-01T00:00 3562769.397 3561322.414 3564216.379
2013-04-01T00:00 1.095551038 1.095211425 1.095890651
2013-05-01T00:00 2.833212465 2.832518799 2.833906131
2013-06-01T00:00 6.473400261 6.472112782 6.474687739
2013-07-01T00:00 1.347106513 1.346883862 1.347329164
2013-08-01T00:00 2.604723814 2.604359301 2.605088327
2013-09-01T00:00 4.745488526 4.744917359 4.746059693
2013-10-01T00:00 8.230283109 8.229419808 8.231146410
2013-11-01T00:00 1.369331700 1.369205099 1.369458301
2013-12-01T00:00 2.198720933 2.198540000 2.198901866

`

signaflo commented 6 years ago

Hi @JayVae.

The order of the Arima model is very strange. I would expect some wacky results with 4 differences. In the example, I use an order of (0, 1, 1, 0, 1, 1), but I see you're using (2, 4, 6, 0, 1, 1).