【问题标题】:How do I retrieve dates of predictions using Weka timeseriesForecasting?如何使用 Weka timeseriesForecasting 检索预测日期?
【发布时间】:2019-04-25 04:39:24
【问题描述】:

我正在使用 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 会起作用,但它没有。

知道如何获取每个预测的日期吗?

【问题讨论】:

    标签: java time-series weka forecasting


    【解决方案1】:

    那是因为“日期”是您的 x 轴变量,而您不预测该轴。预测在指定日期出现在现场。

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

    【讨论】:

    • 我预测 5 个单位,想知道每个预测的日期。我不确定我从你的建议中得到什么日期(我得到 8.64E7),但我不能只在预测器上对每个预测使用 getTSLagMaker,这只会给我一个奇怪格式的日期。我也尝试过预测日期,但这也不起作用。如果我知道预测开始前的最后一天并增加它,我可以手动跟踪日期(但我不得不以某种方式跳过周末)
    猜你喜欢
    • 2012-11-06
    • 2017-11-14
    • 2015-04-13
    • 2015-06-12
    • 1970-01-01
    • 2011-11-24
    • 2016-01-25
    • 2017-04-30
    • 1970-01-01
    相关资源
    最近更新 更多