如何使用Weka timeseriesForecasting检索预测日期?

时间:2018-11-22 13:19:27

标签: java time-series weka forecasting

我正在使用Weka Forecaster预测一些值,但是,我不了解如何像在Weka GUI中那样获取每个预测的日期。

我这样设置时间戳:

 forecaster.getTSLagMaker().setTimeStampField("date");

然后,我使用arff文件中的数据构建并预装我的预测器,该预测器设置为预测2个值,并且可以。然后我像这样获取它们:

List<List<NumericPrediction>> forecast = forecaster.forecast(5, System.out);
        for (int i = 0; i < 5; i++) {
            List<NumericPrediction> predsAtStep = forecast.get(i);
            for (int j = 0; j < 2; j++) {
                System.out.print("Item " + j + ": " + predsAtStep.get(j).predicted() + " ");
            }
            System.out.println("");
        }

我认为您也许可以将日期作为要预测的字段之一输入,并且可以使用Forecaster.setFieldsToForecast进行输入。

关于如何获取每个预测的日期的任何想法吗?

1 个答案:

答案 0 :(得分:0)

这是因为“日期”是您的x轴变量,并且您没有预测该轴。预测位于指定日期的字段上。

可以从forecast.getTSLagMaker().getCurrentTimeStampValue()forecast.getTSLagMaker().getDeltaTime()获取(计算)日期值,具体取决于您设置预报器的方式,否则请查看API:Weka javadoc