0

我想要达到的目标。

我的数据格式如下。每日天然气价格结算。A 栏:2018 年 12 月至 2026 年 12 月的各行 B 栏:2018 年 12 月至 2026 年 12 月的 Gas 开盘价 C 栏:2018 年 12 月至 2026 年 12 月的之前 Gas 价格。

我想在 Python 中使用梯度提升算法来预测 2026 年 12 月之后的价格,但我认为通常算法的输出会在实现 D 矩阵和后续命令后返回某种数组,然后再运行几个步骤来绘制散点图。

问题。

使用数组(生成的数据),我不知道接下来应该做什么来预测 2026 年 12 月及以后,因为我的散点图可能只需要训练和测试数据集并做出预测,但是我感兴趣的未来几年呢?

4

1 回答 1

1

如果您在 2026 年之后没有数据,那么您将无法知道您的模型在这些年的表现如何(这是同义反复。)

我认为在这种情况下您可以做的一件事是根据数据的日期时间索引对您的火车进行加权、验证和测试拆分。通过防止您的模型在训练中“看到未来”,您可以很好地了解您的目标的可预测性,并在您训练后测量模型在“未来”保留数据上的性能。据推测,作为模型的维护者,您将在新年份的数据可用时更新您的预测(并迭代训练)。

我想我还应该指出,你没有分享一个令人信服的理由,为什么 xgboost 并且只有 xgboost 可以解决这个问题。对于可能投入生产的模型,我鼓励您运行一些回归或更便宜的算法并比较性能。如果您还没有检查过那里的一些模型选择工具,我认为这值得您花时间!一个简单的入门方法是gridsearchhttps ://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html

于 2018-11-13T15:36:59.460 回答